LoginSignup
12
16

More than 5 years have passed since last update.

AWSとAzureとGCPを比較してみる - FaaS編

Last updated at Posted at 2018-01-16

FaaSについてAWSとAzureとGCPを比較してみました。
(2018.08.05修正)

1. FaaS比較表

AWS Azure GCP
Lambda Functions Cloud Functions
言語 Python,
node.js,
java,
C#(.NET Core),
go
ランタイムバージョン1.X
C#,
JavaScript,
F#,
Python1,
PHP1,
TypeScript1,
バッチ (.cmd、.bat)1,
Bash1,
PowerShell1

ランタイムバージョン2.X
C#2,
JavaScript2,
F#2,
Java2
Python,
node.js
最大実行時間 5分 10分 (従量課金プラン)
無制限 (App Serviceプラン)
9分
直接HTTPアクセスを受け付けるか 受け付けない(API Gatewayと連携必要) 受け付ける 受け付ける

2. 対応言語の比較

言語の種類は試験段階とプレビューを含めればAzureが一番多いのですが、正式リリースされたものに限定すればAWSの方が種類が多いです。
一方GCPのCloud Functionsが正式リリースされました。これから対応言語も増えていくでしょうか。

AzureはBashにも対応しているのが特徴です。運用系のシェルスクリプトをFaaS化すれば、スクリプト用のサーバが不要になりますね。

3. 最大実行時間

最大実行時間はAzureの10分(要host.jsonのfunctionTimeoutプロパティ変更)、GCPの9分に対しAWS Lamdbaは5分と約半分です。実際にAWS Lambdaを利用していると5分の壁を結構感じます。この点は他クラウドが羨ましいですね。
2017年のRe:InventでAWSはFargateというコンテナのサービスをリリースしましたが、このサービスがlambdaが5分以上実行できないことに対するAWSからの回答のように感じます。

4. 直接HTTPアクセスを受け付けるか

AWS lambdaだけ直接HTTPアクセスを受け付けることができません。HTTPアクセスを受け付けるには、API Gatewayと連携する必要がありますが、多機能な分やや設定が面倒な印象です。(但しAPI経由でLambdaを起動することは可能)

まとめ

AWS Lambdaのリリース後、Azure・GCP・Bluemix(現IBM Cloud)は超特急で追従しました。AWS LambdaがIT業界に与えたインパクトはとても大きかったと思います。
現在は「FaaS無ければばクラウドにあらず」といったところでしょうか。

また、AWS GreengrassやAzure IoT Edgeというエッジにデプロイするサービスも出ています。
将来AWS LambdaがiPhoneやApple Watchにデプロイできるようにならないかなーと妄想中です。


  1. 試験段階 

  2. プレビュー 

12
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
16