web-dev-qa-db-ja.com

AWS-lambda、Azure関数、Google Cloud Functionを比較する

Aws-lambda、Azure関数、またはgoogleクラウド関数を選択して、サーバーレスプロジェクトを開発します。次に、プロジェクトに最適なものを選択するために、それぞれを比較します。

私のプロジェクトでは、最も安定したサーバーレステクノロジーを選択する必要があります。

これらの技術を比較する資料はありますか?

これらのサーバーレステクノロジーをサポートするフレームワークはありますか?

25
user7090677

AWS-Lambda、Azure Functions、Google Cloud Functionsを比較する

  1. サポートされる言語
    AWS lambda-Node.js、Python、Java、C#(.netコア)
    Azure関数-Node.js、Python、PHP、F#、C#、バッチ、bash
    Google Cloud FunctionsNode.js

  2. リクエストごとの最大実行時間
    AWS lambda-300秒(5分)
    Azure関数-300秒(5分)
    Google Cloud Functions540秒(9分)

  3. ログ管理
    AWS lambda-クラウドウォッチ
    Azure関数-Azure Storage
    Google Cloud FunctionsCloud Logging

  4. スケーラビリティと可用性
    AWS lambda-自動スケーリング
    Azure関数-自動スケーリング
    Google Cloud Functions自動スケーリング
  5. HTTPエンドポイント
    AWS lambda-AWS API Gateway
    Azure関数-HTTPトリガー
    Google Cloud FunctionsHTTPトリガー

  6. 価格設定
    注:これらは通話ごとの料金です。 CPUおよびRAM時間の充電は一般的であり、一般に通話ごとの料金を超えているため、考慮する必要があります。
    AWS lambda-$ 0.20/1M実行
    Azure Function-$ 0.20/1Mの実行
    Google Cloud Functions$ 0.40/M execution、HTTP呼び出しの追加なし 価格の詳細

  7. 機能制限
    AWS lambda-無制限の関数
    Azure関数-無制限の関数
    Google Cloud Functionsプロジェクトごとに1,000

  8. 同時実行
    AWS lambda100アカウントごとのリージョンごとの並列実行ですが、ユーザーは増やすことができます
    Azure関数-制限なし
    Google Cloud FunctionsHTTP無制限、1,000非HTTP

  9. 展開
    AWS lambda-Zip、AWS-S3、またはインラインでコードを編集
    Azure Function-Azure WebAppが処理できるすべて:FTP(S)、KUDU、Web Deploy、One Drive\DropBox、Git \ローカルGit\TFS\etc、Visual Studio\XCode\Eclipse\etc、PowerShell\Cli \おそらくすべてのSDK
    Google Cloud FunctionsCLI、Zipアップロード、インラインWebエディター、Cloud StorageまたはCloud Source Repositories

誰もが修正された情報を歓迎し、新しい情報を追加します。

57

AWS Lambda vs Azure Functions vs Google Cloud Functions

以下は、さまざまなクラウドベンダーが提供するすべてのサーバーレス機能の集約です。これは私の視点に基づいています。

一定期間にわたって何かが変更された場合、または新しいものを追加したい場合は、お気軽にコメントし、さまざまな機能を追跡するためにこれを維持してください。

+-----------------+---------------------+-----------------------+-------------------+
|     Category    | AWS Lambda          |    Azure              | Google Cloud      |
|                 |                     |  Functions            |  Functions        |
+-----------------+---------------------+-----------------------+-------------------+
| 1. Version      | Production ready    | Preview - Beta        | Closed Alpha      |
+-----------------+---------------------+-----------------------+-------------------+
| 2. Supported    | Nodejs, Python,     | Nodejs, Python,       | Javascript        |
| Languages       |      Java           |   PHP, F#, C#         |                   |
+-----------------+---------------------+-----------------------+-------------------+
| 3. Dependency   | Compile all         | Using                 | Using             |
| Management      | external packages   | package.json – nodejs | package.json      |
|                 | and Zip the         | project.json – F#,C#  |                   |
|                 | source code         |                       |                   |
+-----------------+---------------------+-----------------------+-------------------+
|                 | S3, DynamoDB        | Bindings/Triggers     | HTTP              |
|                 | Kinesis             |                       | functions:        |
|                 | Streams             | Scheduler             | Http Triggers     |
|                 | SNS, SES            | Http(webhook)         | Webhooks (drive,  |
|                 | Cognito             | Azure Storage         |  gmail, calendar) |
|                 | Cloud Formation     | Events Hubs           |                   |
| 4. Event        | Cloud Watch         | Queues, Tables        | Background        |
| Sources         | Code Commit         | DocumentDB(No-sql)    | functions:        |
|                 | Scheduled Events    | Notification Hub      | Cloud Pub/Sub,    |
|                 | Config              | Twilio                | Cloud Storage     |
|                 | Echo,               |                       |                   |
|                 | Alexa               |                       | Pub/Sub:          |
|                 | APIGateway          |                       | Cloud Logging     |
|                 |                     |                       | Gmail, Twilio     |
+-----------------+---------------------+-----------------------+-------------------+
| 5. Granular     | IAM                 |                       |                   |
|  IAM            | policy              | Not Yet               | Not Yet           |
|                 | can be Attached     |                       |                   |
|                 | to Lambda.          |                       |                   |
+-----------------+---------------------+-----------------------+-------------------+
|                 | - On top of Linux   | - On top of Windows   |                   |
| 6. Architecture | - Memory allocated  | - Memory allocated    |                   |
|                 |    per function.    |    per app service.   | Not Specified     |
+-----------------+---------------------+-----------------------+-------------------+
|                 | No persistent       | Env variables         |                   |
|                 |  storage.           | can be set in         |                   |
| 7. Persistent   | Completely          | App services          | Not Specified     |
|  Storage        | Stateless           | which can be used     |                   |
|                 |                     | in functions.         |                   |
+-----------------+---------------------+-----------------------+-------------------+
| 8. HTTP         | APIGateway          | HTTP webhooks         | HTTP Trigger      |
| Endpoint        |                     |                       |                   |
+-----------------+---------------------+-----------------------+-------------------+
| 9. Log          | Cloud               | Kudu Console          | Stackdriver       |
| Management      | watch               |                       | Logging           |
+-----------------+---------------------+-----------------------+-------------------+
| 10. Maximum     | 300 seconds         | No limit              | No limit          |
| Execution       | (5 mins)            |                       |                   |
| Time            |                     |                       |                   |
| per request     |                     |                       |                   |
+-----------------+---------------------+-----------------------+-------------------+
| 11. Concurrent  | 100                 | 10 instances          | Not Specified     |
| Executions      | parallel            | which is several      |                   |
|                 | Executions, but     | 100 executions        |                   |
|                 | Can be increased    |                       |                   |
+-----------------+---------------------+-----------------------+-------------------+
| 12. Deployment  | Zip upload          | Git, dropbox,         | Zip upload,       |
|                 | to Lambda/s3,       | visual studio,        | Cloud Storage,    |
|                 | Serverless          | One drive,            | Cloud Source      |
|                 | Framework           | Kudu Console          | repositories,     |
|                 |                     |                       | Git               |
+-----------------+---------------------+-----------------------+-------------------+
| 13. Maximum     |                     |                       | 20 functions      |
|     no. of      | No limit            | Not Specified         | per project       |
|  Functions      |                     |                       |                   |
+-----------------+---------------------+-----------------------+-------------------+
| 14. Pricing     | Request Charges:    | Request Charges:      | Unknown until     |
|                 | $0.20 / 1M requests | $0.20 / 1M requests   | Open beta         |
|                 |                     |                       |                   |
|                 | Compute Charges:    | Compute Charges:      |                   |
|                 | $0.00001667 / GB-s  | $0.000008 / GB-s      |                   |
+-----------------+---------------------+-----------------------+-------------------+
27

クラウドプロバイダーに依存しないコードをサポートし、抽象化を使用して機能を開発、テスト、および展開するための統一されたエクスペリエンスを提供するサーバーレスフレームワークがあります。

https://serverless.com をご覧ください

すべての言語がサポートされているわけではありませんが、3つのプロバイダーすべてをサポートしています。最も一般的な分母はNode.js/JavaScriptです

3
Chris

いくつかの更新(2017年2月18日):

  • Azure FunctionはGA-ed 2016年11月
  • AWSはC#をサポートしますが、.NET Coreのみをサポートします
  • 最大100個のAzure Function-Appを使用でき、それぞれに多くの機能を含めることができます
  • 現在、Azure Function Consumption層には、関数呼び出しごとに最大300秒のランタイムがあります
  • Azure Functionの計算価格はGAで0.000008ドル/ GB-sから0.00001667 GB/sに更新されました
3
Yochay Kiriaty