3.2 コンピュート

Azure Compute Services

Azureのコンピュートサービスは、Virtual Machines(IaaS)からApp Service(PaaS)、Functions(サーバーレス)まで、抽象度の異なる選択肢を提供する。Windows Server環境との親和性が高いことが特徴である。

Virtual Machines

Azure VM構成

図1: Azure Virtual Machineの構成要素

VMシリーズ 用途 AWSとの対応
Bシリーズ バースト可能、開発/テスト T3
Dシリーズ 汎用、Webサーバー M5/M6i
Eシリーズ メモリ最適化、DB R5/R6i
Fシリーズ コンピュート最適化 C5/C6i
NCシリーズ GPU(NVIDIA)、ML P4d

App Service(PaaS)

App Serviceアーキテクチャ

図2: App Serviceのアーキテクチャ

App Serviceは、Webアプリケーション、REST API、モバイルバックエンドをホストするフルマネージドのPaaSサービスである。.NET、Java、Node.js、Python、PHP等をサポートし、デプロイメントスロットによるBlue-Greenデプロイも可能 [1]。

Azure Functions

Azure Functions

図3: Azure Functionsの特徴

特性 AWS Lambda Azure Functions
最大実行時間 15分 無制限(Premiumプラン)
入出力バインディング なし あり(宣言的接続)
ワークフロー連携 Step Functions Durable Functions / Logic Apps
ローカル開発 SAM CLI VS Code拡張機能
Azure Functions のバインディング
入力/出力バインディングにより、トリガーソースやデータストアとの接続コードを書かずに宣言的に定義できる。これはAWS Lambdaにはない特徴である。
出典
[1] Microsoft. App Service Documentation. https://docs.microsoft.com/azure/app-service/
[2] Microsoft. Azure Functions Documentation. https://docs.microsoft.com/azure/azure-functions/
発展学習
→ Azure VM Scale Sets
→ Durable Functions patterns