Comparatif des plateformes de container sans serveur : Google se démarque
GCP, AWS et DigitalOcean proposent des services managés permettant de créer et exécuter une application containerisée sans avoir à gérer et à configurer de serveurs. Atouts et inconvénients des trois offres.
Les apports de la containerisation logicielle ne font plus débat. En encapsulant ainsi ses applications, une organisation devient agnostique en termes d'infrastructure IT. Une tendance qui s'inscrit dans la mouvance DevOps, en permettant l'émergence d'un langage commun entre développeurs et opérationnels. En dépit de ces atouts, les organisations butent encore sur la complexité des architectures d'orchestration de containers de type Kubernetes. Leur adoption nécessite une longue courbe d'apprentissage. Un prérequis pouvant se révéler rédhibitoire.
Pour faciliter l'adoption de ce nouveau paradigme, les providers proposent des plateformes de containers entièrement managées. A partir d'un registre Docker, sans expérience préalable en matière de containers ou d'infrastructure, elles permettent de créer et déployer en quelques clics des applications capables d'encaisser du trafic. Ces offres gèrent la configuration des serveurs, les certificats TLS, l'équilibrage de charges ou encore les pipelines de déploiement.
Généralement en avance sur le marché, AWS a été, cette fois-ci, pris de court par Google Cloud. Une avance qui profite toujours à ce dernier. En challenger, DigitalOcean se tient en embuscade.
Google Cloud Run | AWS App Runner | DigitalOcean App Platform | |
---|---|---|---|
Date de lancement | Avril 2019 | Mai 2021 | Octobre 2020 |
Plusieurs référentiels de code source supportés | X | X | |
Grand nombre de langages pris en charge | X | X | |
Intégration VPC | X | X | |
Scale to zero | X | ||
Régions européennes couvertes | X | X | X |
Références | Veolia, Airbus, Mailchimp… | NC | NC |
Tarification | En fonction des ressources de calcul, de mémoire, des requêtes et de la bande passante réseau consommés. | En fonction des ressources de calcul et de la mémoire utilisées et coûts additionnels lors de la création à partir du code source. | Formules forfaitaires avec trois niveaux de prix (Starter, Basic, Professionnal). A partir de 3, 5 et 12 dollars par mois. |
Google Cloud Run, la prime à l'antériorité
Avec Cloud Run, Google Cloud a ouvert, dès avril 2019, sa plateforme managée de gestion de containers sans serveur. Basée sur Knative, elle permet la portabilité de charges de travail directement sur des instances Google Cloud ou sur un cluster de type Google Kubernetes Engine (GKE). Cloud Run prend en charge un grand nombre de langages (Go, Python, Java, Ruby, Node.js...) et s'intègre aux outils de containerisation du fournisseur : Cloud Build et Cloud Code. Compatible HTTPS et TLS, le service est exécuté au niveau régional et répliqué automatiquement dans plusieurs zones du cloud public de Google.
"L'interface de Google permet de générer une instance Cloud Run en une ligne de commande"
En novembre dernier, Google Cloud a ajouté une nouvelle fonctionnalité d'événements à Cloud Run. Baptisée Eventarc, elle permet de créer des applications pilotées par des événements tels que l'analyse vidéo, la conversion de fichiers ou l'inscription de nouveaux utilisateurs.
Pour Julien Jourdain, site reliability engineer chez Padok, Google Cloud Run est facile à prendre en main et le service bien documenté. "L'interface de Google permet de générer une instance Cloud Run en une ligne de commande", constate le consultant. L'expert apprécie aussi l'approche scale to zero. Via une tarification à l'usage, l'utilisateur ne paie que si le code est en cours d'exécution, avec une facturation aux 100 millisecondes près. Le coût total est calculé en fonction des ressources du processeur (CPU), de la mémoire, des requêtes et du trafic réseau utilisés.
App Runner : la force de l'écosystème Amazon
La réponse d'AWS à Cloud Run s'appelle App Runner. Lancé en mai 2021, ce service simplifie la création et l'exécution d'une application web ou d'une API, en complément d'Amazon Fargate et ECS, les deux autres offres de "container as a service" d'AWS. Il permet de pointer vers un référentiel de code ou une image de container déposée dans Elastic Container Registry Public (ECR Public). Depuis septembre, il est aussi possible de lancer des containers App Runner directement depuis l'ECR Public Gallery. Le service bénéficie de synergies avec l'écosystème AWS, et notamment Amazon DynamoDB.
Julien Jourdain note toutefois que seul GitHub peut être utilisé via Cloud Run comme référentiel de code source et que les langages supportés se limitent à Python et Node.js. Par ailleurs, le recours à Copilot, l'interface en lignes de commande open source créée par AWS, se révèle, à ses yeux, très structurant à l'usage. Par ailleurs, "AWS App Runner oblige à avoir une instance qui tourne en permanence par opposition au scale to zero de Google Cloud Run. Ce qui peut créer une différence de prix notable", constate l'expert. Il est toutefois possible de fixer une limite maximale en termes de nombre d'instances de container actives qu'une application utilise. Au regard de la jeunesse du service, ces différents éléments devraient être gommés dans les prochains mois.
DigitalOcean App Platform, l'outsider
Face à l'offre des deux hyperscalers, DigitalOcean se positionne en challenger. Dévoilée en octobre 2020, son App Platform se présente comme un service de platform as a service (PaaS) qui permet de créer, déployer et passer à l'échelle des applications et sites web en pointant simplement vers un référentiel de code source.
Basé sur un service Kubernetes fait maison (DigitalOcean Kubernetes), App Platform prend en charge les langages Python, Node.js, Go, PHP, Ruby et Hugo. Pour les applications écrites dans d'autres langages et frameworks, il est possible de fournir le fichier Dockerfile associé dans le dépôt source. App Platform supporte les référentiels GitHub et GitLab. Bitbucket doit suivre. Côté bases de données, le service se limite à PostgreSQL et aux bases managées par DigitalOcean.
Parmi les fonctionnalités annoncées lors du lancement, le provider new-yorkais prévoit d'enrichir le service d'un système de notification lors du dépassement de certains seuils de consommation de ressources. Le support de l'auto-dimensionnement et l'intégration à DigitalOcean Virtual Private Cloud (VPC) sont aussi au programme de la feuille de route.
En termes de tarification, DigitalOcean joue la carte de la simplicité et de la prévisibilité avec trois niveaux de prix. Une formule "starter" permet de créer et déployer trois sites statiques gratuitement, chaque site supplémentaire étant facturé 3 dollars par mois. Amsterdam, Francfort et Londres font partie des régions couvertes.