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?
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
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)
Gestion des journaux
AWS lambda - Surveillance du cloud
Fonction Azure - Stockage Azure
Fonctions Google Cloud Journalisation Cloud
Point final HTTP
AWS lambda - AWS API Gateway
Fonction Azure -HTTP Trigger
Fonctions Google Cloud Déclencheur HTTP
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
Limite de fonction
AWS lambda - Fonctions illimitées
Fonction Azure - Fonctions illimitées
Fonctions Google Cloud 1 000 par projet
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
Tout le monde est le bienvenu pour corriger les informations et ajouter de nouvelles informations.
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 | |
+-----------------+---------------------+-----------------------+-------------------+
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
Quelques mises à jour (18/02/2017):