Azureコンピューティング サービスまとめ
Azureのコンピューティングサービスは種類が多く、どれを選択すべきか迷うことがあります。 今回は復習を兼ねて、主要な5つのサービスの特徴と使い分けを整理しました。
1.サービス全体像の比較
まずは、管理レベル(IaaS/PaaS/Serverless)と制御の自由度で比較します。
2.各サービスの詳細解説
2.1 Azure Virtual Machines (VM)
物理サーバーを仮想化したものです。OSの選択からパッチ適用まで、ユーザーが全責任を持ちます。
• メリット: 自由度が極めて高い。
• ユースケース: 特定のOS設定が必要なレガシーシステム、DBサーバーの構築。
2.2 Azure App Service
Webアプリケーション、REST API、モバイルバックエンドをホストするためのHTTPベースのサービスです。
• メリット: 自動スケール、GitHub等とのCI/CD連携が容易。
• ユースケース: Webサイト、企業のポータルサイト、API公開。
2.3 Azure Functions
「サーバーレス」の代表格です。コードを書くだけで、インフラのプロビジョニングはすべてAzureが行います。
• メリット: 実行時間と回数に基づく課金のため、コスト効率が高い。
• ユースケース: 画像アップロード時のリサイズ処理、定期的なバッチ処理、DBの変更検知トリガー。
2.4 コンテナ系サービス (ACI & AKS)
Dockerコンテナを動かすためのプラットフォームです。
• ACI: インフラ管理なしでコンテナを動かしたい時。
• AKS: 複雑なコンテナ間の通信、スケーリング、自己修復が必要な大規模構成。
3. 意思決定のフローチャート(選び方)
どれを使うべきか迷った際は、以下の優先順位で検討するのがAzureのベストプラクティスです。
1. イベント駆動か? → はい:Azure Functions
2. Webアプリか? → はい:App Service
3. コンテナ化されているか?
○ フル制御したい → AKS
○ シンプルに動かしたい → ACI
4. 上記以外(OSの制御が必要) → Virtual Machines
まとめ
• 運用負荷を下げたいなら、App Service や Functions などの PaaS/Serverless を優先。
• 既存構成をそのまま持ち込みたいなら、IaaS (VM) を選択。
クラウドの恩恵を最大化するには、可能な限りマネージドサービス(PaaS以上)を選択し、インフラ管理の手間を削減するのが鍵となります。
