最近有機會參與了AZ-020 Microsoft Azure solutions for AWS developers三天課程
終於讓Azure菜雞能夠快速的根據AWS的開發經驗mapping到Azure
發現Azure中的優點、缺點 以及我個人的使用感受
首先先放個名稱比較表link: https://docs.microsoft.com/zh-tw/azure/architecture/aws-professional/services
可能是已經習慣AWS的各種resource naming
一開始在看Azure的資源名稱真的讓我眼花繚亂
並且其中還多出了resource group的概念
resource group沒有region限制
每個resource一定要屬於某個/ 且唯一不重複的resource group
目的是把相關資源放在一起 便於統一新增、更改、複製、刪除
Az-020課程中做了
- web app
- Azure function
- Azure Storage
- Cosmos DB
- ARM templates(IaC)
- APIM
- Event
- Message
- Monitor
算是蠻完整的初階應用資源
Azure web app service = AWS elastic beanstalk
都是快速架設全託管網頁的一種資源
App service內建ALB 可以做到slot
Scaling可以設置:Manual scale or Custom autoscale(conditional scaling based)
Azure functions = AWS Lambda
Solution for running small pieces of code or functions in the cloud
Durable functions = Step Functions
支援:C#, Java, TS, Python, JS, PS
Trigger and Binding: Cosmos DB, Storage blobs, Queue
Consumption plan(serverless): 機器不用預先準備, 動態, 較貴, 5–10分鐘
Premium plan: 能控制機器spec
App Service: 30分鐘以上 timeout
一般在aws選擇的instance type 在Azure 叫 instance plan
Q: azure function的file size有限制嗎?如果超過限制需要用別的deploy的方法替代?像是ML的code可能會比較大包
A: 可以用掛載 Azure Fileshare 的方式達到儲存大檔
可以參考這個:
下面有一段關於 mount file-share
https://techcommunity.microsoft.com/t5/apps-on-azure-blog/why-use-azure-functions-for-ml-inference/ba-p/1416728
Storage Accounts包含…
Azure blobs = AWS S3
Azure Files = AWS Elastic File System(can be mount)
Azure Queues = Simple Queue Service
Azure Tables = AWS DynamoDB
ZRS 在不同的zone建立不同的datacenter 可以在多區域做備份
Container 讓人一直聯想到Docker, Container, 但其實只是個directory…
Storage Account 讓人一直想到人,但Account只是Namespace...
Azure storage裡的data都會自動被加密(Storage Service Encryption, SSE)
剩下的明天再來分享吧 :D