AWSで構築しているシステムをAzureと並行稼働させることはできるのか?GCPは?という疑問を解消するために調べてみる。
サービス比較
まずはAWS, Azure, GCPのサービス比較。
サービス名先頭の AWS, Amazon, Azure, Cloud(GCP) は省略。
サーバーレスコンピューティング
AWS | Azure | GCP |
---|---|---|
Lambda | Functions | Functions |
Java, Go, PowerShell, Node.js, C#, Python, Ruby | C#, JavaScript(Node.js), F#, Java, PowerShell, Python, TypeScript | Node.js, Python, Go, Java, .NET Core(C#, F#), Ruby, PHP |
Lambda@Edge | ||
Node.js, Python | ||
CloudFront Functions | ||
JavaScript |
CDN
AWS | Azure | GCP |
---|---|---|
CloudFront | Content Delivery Network | CDN |
コードリポジトリ
AWS | Azure | GCP |
---|---|---|
CodeCommit | Repos | Source Repositories |
CI/CD
AWS | Azure | GCP |
---|---|---|
CodePipeline | Pipelines | Build |
IaC
AWS | Azure | GCP |
---|---|---|
CloudFormation | Resource Manager | Deployment Manager |
- Azure Resource Managerを簡易操作するためのツール、Azure Building Blocksというものもある。
検討
- FaaSの対応言語が異なっている。共通で使えるのはJava、Node.js、C#、Python。
- Lambda@Edgeも使っているなら、Node.jsかPythonしかない。
- CloudFormation の資産を Azure や GCP に移行できるのか
- Terraformという選択肢もあり
- サーバーレス中心ならserverless frameworkを検討してもよいかも
参考
- AWS/Azure/GCPサービス比較 2021.07 - Qiita
- 3大クラウドAWS、Azure、GCPの機能を比較したら見えてきたサービスごとの違いと特徴とは? | 株式会社トップゲート
- エッジで爆速コード実行!CloudFront Functionsがリリースされました! | DevelopersIO
- CloudFront FunctionsとLambda@Edgeの比較あり
- Use AWS CodeCommit to mirror an Azure DevOps repository using an Azure DevOps pipeline | AWS DevOps Blog
- AzureからAWSにミラーする方法。リポジトリを持っている側のFunctionsでgit mirrorする感じ。
- CloudFront Functions の導入 – 任意の規模において低レイテンシーでコードをエッジで実行 | Amazon Web Services ブログ
- GCP連載#10 Terraform ではなくCloud Deployment Manager を使ってみよう | フューチャー技術ブログ
- Serverless Framework を使用したマルチクラウド ソリューション - Azure Example Scenarios | Microsoft Docs