Cloud Run

À l’occasion de sa conférence Google Cloud Next ’19, qui se tient à San Francisco du 9 au 11 avril, Google annonce Cloud Run, le dernier membre de sa pile de technologie sans serveur, en bêta.

Basée sur l’API ouverte Knative, Cloud Run est une plateforme informatique entièrement gérée pour les applications en conteneurs, du moment que les conteneurs communiquent par http et qu’ils soient sans état.

Elle se positionne en alternative à deux options opposées dans le nuage : l’infrastructure en tant que service traditionnel, où l’on doit gérer ses serveurs/machines virtuelles, et les offres traditionnelles sans serveur, qui limitent les environnements d’exécution disponibles et rendent dépendant d’un vendeur.

Avec Cloud Run, le client fournit les conteneurs sans état et basés sur http, et Cloud Run s’occupe du reste : mise à disposition, adresse IP, certificat SSL, configuration, mise à l’échelle en quelques secondes – jusqu’à zéro, comme coût zéro – et facturé au centième de seconde.

Un des avantages majeurs par rapport à l’offre sans serveur traditionnelle, est que le développeur est libre de la plupart de ses choix technologiques : langage de programmation, cadre logiciel, etc.

Alternativement, une cliente peut faire tourner ces conteneurs sur ses propres grappes de serveurs Google Kubernetes Engine (GKE), avec une énorme simplification par abstraction des concepts de Kubernetes.

Elle est alors aussi à même de choisir ses types de serveurs. Airbus Aerial exploite Google Run sur GKE pour le traitement et la diffusion de ses images aériennes.

Cloud Functions

Google Cloud a également amélioré Cloud Functions, son autre plateforme d’informatique sans serveur, qui permet d’écrire du code qui répond à des événements, sans s’intéresser à l’infrastructure sous-jacente.

  • Nouveaux environnements d’exécution de langages compatibles : Node.js 8, Python 3.7, et Go 1.11 en disponibilité générale, Node.js 10 en bêta ; Java 8 et Go 1.12 en alpha ;
  • Nouveau Functions Framework open source pour Node.js 10. On peut écrire une fonction, la faire tourner localement, et fabriquer une image pour la faire tourner dans un environnement de conteneurs ;
  • Accès sans serveur par connexion privée : un connecteur VPC permet de parler à ses ressources dans GCP sans rien exposer sur internet ;
  • Identité par fonction, fournit un accès sécurisé au niveau de la fonction ;
  • Contrôles de mise à l’échelle : en bêta, aide à empêcher que les fonctions qui se mettent automatiquement à l’échelle surchargent les systèmes dorsaux qui ne se mettent pas à l’échelle si rapidement.

Seconde génération d’environnements d’exécution

App Engine, la première plateforme sans serveur apparue il y a 11 ans, est désormais compatible avec la deuxième génération des environnements d’exécution : Node.js 10, Go 1.11 et PHP 7.2 en disponibilité générale, Ruby 2.5 et Java 11 en alpha.

Pile complète pour les applications sans serveur

L’approche sans serveur est facilitée par la pile complète de services additionnels à disposition pour développer des applications de bout en bout : bases de données, stockage, messageries, analyse de données, apprentissage automatique, assistants intelligents, etc., sans jamais avoir à s’intéresser à l’infrastructure sous-jacente.