web-dev-qa-db-fra.com

Comparez AWS-lambda, les fonctions Azure et la fonction Google Cloud

Je souhaite développer un projet sans serveur en sélectionnant aws-lambda, la fonction Azure ou la fonction google cloud. Ensuite, je veux comparer chacun afin de sélectionner le meilleur pour mon projet.

Je dois sélectionner la technologie sans serveur la plus stable pour mon projet.

Y a-t-il du matériel comparant ces technologies?

Existe-t-il un cadre pris en charge pour ces technologies sans serveur?

25
user7090677

Comparez AWS-Lambda, Azure Functions et Google Cloud Functions

  1. Langues prises en charge
    AWS lambda - Node.js, Python, Java, C # (noyau .net)
    Fonction Azure - Node.js, Python, PHP, F #, C #, batch, bash
    Fonctions Google Cloud Node.js

  2. Temps d'exécution maximum par requête
    AWS lambda - 300 secondes (5 minutes)
    Fonction Azure - 300 secondes (5 minutes)
    Fonctions Google Cloud 540 s (9 minutes)

  3. Gestion des journaux
    AWS lambda - Surveillance du cloud
    Fonction Azure - Stockage Azure
    Fonctions Google Cloud Journalisation Cloud

  4. Évolutivité et disponibilité
    AWS lambda - Mise à l'échelle automatique
    Fonction Azure -Mise à l'échelle automatique
    Fonctions Google Cloud Mise à l'échelle automatique
  5. Point final HTTP
    AWS lambda - AWS API Gateway
    Fonction Azure -HTTP Trigger
    Fonctions Google Cloud Déclencheur HTTP

  6. Prix
    Remarque: il s'agit de frais par appel. La charge du processeur et du temps RAM est courante, dépasse généralement les frais par appel et doit être prise en compte.
    AWS lambda - exécutions de 0,20 $/1 million
    Fonction Azure - Exécutions de 0,20 $/1 million
    Fonctions Google Cloud Exécution de 0,40 $/M, sans frais supplémentaires pour les appels HTTP détails des prix

  7. Limite de fonction
    AWS lambda - Fonctions illimitées
    Fonction Azure - Fonctions illimitées
    Fonctions Google Cloud 1 000 par projet

  8. Exécutions simultanées
    AWS lambda - 100 exécutions parallèles par compte par région mais les utilisateurs peuvent l'augmenter
    Fonction Azure -Aucune limite
    Fonctions Google Cloud HTTP sans limite, 1 000 non-HTTP

  9. Déploiements
    AWS lambda - Zip, AWS-S3 ou modifier le code en ligne
    Fonction Azure - Tout ce qu'une Azure WebApp peut gérer: FTP (S), KUDU, Web Deploy, One Drive\DropBox, Git\Git\TFS\etc local, Visual Studio\XCode\Eclipse\etc, PowerShell\Cli\Probablement tous les SDK
    Fonctions Google Cloud CLI, téléchargement Zip, éditeur Web en ligne, stockage Cloud ou référentiels de source Cloud

Tout le monde est le bienvenu pour corriger les informations et ajouter de nouvelles informations.

57
Niroshan Ranapathi

AWS Lambda vs Azure Functions vs Google Cloud Functions

Voici une agrégation de toutes les fonctionnalités sans serveur fournies par différents fournisseurs de cloud. Ceci est basé sur ma perspective.

Si quelque chose a changé au cours d'une période de temps ou si vous souhaitez ajouter quelque chose de nouveau, n'hésitez pas à commenter et laissez-le maintenir pour suivre diverses fonctionnalités.

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

Il existe désormais une infrastructure sans serveur qui prend en charge le code agnostique du fournisseur de cloud et offre une expérience unifiée pour développer, tester et déployer vos fonctions à l'aide d'abstractions.

Jetez un oeil à https://serverless.com

Il prend en charge les 3 fournisseurs, bien que toutes les langues ne soient pas prises en charge. Le plus petit dénominateur commun est Node.js/JavaScript

3
Chris

Quelques mises à jour (18/02/2017):

  • Azure Function a GA-ed novembre 2016
  • AWS prend en charge C # mais uniquement .NET Core
  • Vous pouvez avoir jusqu'à 100 Azure Function-Apps, chacune pouvant contenir de nombreuses fonctions
  • Le niveau de consommation de fonction Azure a actuellement un temps d'exécution maximal de 300 secondes par appel de fonction
  • Le prix de calcul de la fonction Azure a été mis à jour à GA de 0,000008 $/Go-s à 0,00001616 $/Go-s
3
Yochay Kiriaty