Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compare AWS-lambda, Azure functions and Google Cloud Function

Compare AWS-Lambda, Azure Functions and Google Cloud Functions

  1. Supported Languages
    AWS lambda- Node.js, Python, Java, C# (.net core)
    Azure Function - Node.js, Python, PHP, F#, C#, batch, bash
    Google Cloud Functions Node.js

  2. Maximum execution time per request
    AWS lambda- 300 seconds (5 minutes)
    Azure Function - 300 seconds (5 minutes)
    Google Cloud Functions 540 sec (9 minutes)

  3. Log Management
    AWS lambda- Cloud watch
    Azure Function - Azure Storage
    Google Cloud Functions Cloud Logging

  4. Scalability & availability
    AWS lambda- Automatic scaling 
    Azure Function -Automatic scaling 
    Google Cloud Functions Automatic scaling 
  5. HTTP End point
    AWS lambda- AWS API Gateway 
    Azure Function -HTTP Trigger
    Google Cloud Functions HTTP Trigger 

  6. Pricing
    Note: These are per-call fees. Charging for CPU and RAM time is common, generally exceeds the per-call fee, and should be considered.
    AWS lambda-$0.20/1M executions 
    Azure Function-$0.20/1M executions 
    Google Cloud Functions $0.40/M execution, no extra for HTTP calls pricing details

  7. Function Limit
    AWS lambda-Unlimited functions
    Azure Function-Unlimited functions
    Google Cloud Functions 1,000 per project  

  8. Concurrent executions
    AWS lambda-100 parallel executions per account per region but users can increase it
    Azure Function -No limit
    Google Cloud Functions HTTP no limit, 1,000 non-HTTP 

  9. Deployments
    AWS lambda-Zip, AWS-S3 or edit code inline 
    Azure Function-Anything an Azure WebApp can handle: FTP(S), KUDU, Web Deploy, One Drive\DropBox, Git\Local Git\TFS\etc, Visual Studio\XCode\Eclipse\etc, PowerShell\Cli\Probably all the SDK's
    Google Cloud Functions CLI, ZIP upload, inline web editor, Cloud Storage or Cloud Source Repositories 

Every one welcome to corrected information and add new information.


AWS Lambda vs Azure Functions vs Google Cloud Functions

Here is an aggregation of all serverless features provided by different cloud vendors. This is based on my perspective.

If anything has changed over a period of time or you want to add anything new, please feel free to comment and lets maintain this to track various features.

+-----------------+---------------------+-----------------------+-------------------+
|     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      |                   |
+-----------------+---------------------+-----------------------+-------------------+

Few updates (2/18/2017):

  • Azure Function has GA-ed Nov 2016
  • AWS support C# but only .NET Core
  • You can have up to 100 Azure Function-Apps, each can contain many functions
  • Azure Function Consumption tier currently has 300 sec max runtime per function invocation
  • Azure Function compute price has updated at GA from $0.000008 / GB-s to $0.00001667 / GB-s

There's now a serverless framework that supports cloud provider agnostic code and provides a unified experience for developing, testing and deploying your functions using abstractions.

Have a look at https://serverless.com

It supports all 3 providers, though not all languages are supported. The lowest common denominator is Node.js/JavaScript