Une bonne façon de développer et de déployer des applications containerisée

Google Kubernetes Engine (GKE) est un environnement de déploiement d’applications containerisée. Google Kubernetes Engine est mature pour la production. Cet environnement est managé par Google.

Contrairement à Google Compute Engine, on ne se préoccupe plus de VM mais uniquement de container, anglicisme largement utilisé à la place des conteneurs bien français.

Cette méthode permet de séparer le système d’exploitation du code et des dépendances d’une application. Expliquer en détail le concept des conteneurs dépasse le cadre de cette page.

Pour ce service, anciennement appelé “Google Container Engine”, on parle de CaaS : Container as a Service.

Caractéristiques de Google Kubernetes Engine

Google a une très grosse expérience sur l’orchestration de container

L’expérience de Google dans le domaine est phénoménale, car tous leurs services utilisent des containers depuis très longtemps.

Chaque semaine, plus de quatre milliards de conteneurs démarrent au sein de l’infrastructure de ce géant. Une expertise qui leur a permis de mettre à disposition un outil ultra fiable capable de gérer simplement les updates des applications, leur scaling, surveiller leurs états, etc.

Google Kubernetes Engine simplifie l’utilisation de Kubernetes

Sans se soucier de problématiques hardware : on commence ici à faire abstraction de la notion de serveur. On décrit les besoins de son application (puissance de calcul, stockage, mémoire) et GKE s’occupe de tout.

Concrètement, Google Kubernetes Engine utilise les instances et les ressources de Compute Engine dont nous parlions précédemment pour former des “container clusters”.

GKE est une version managée par Google de Kubernetes

Des grappes de machines virtuelles qui hébergent les conteneurs dans lesquels sont placées les applications. Dans cet environnement - transparent pour l’utilisateur - il est facile de déployer, gérer et adapter les ressources des apps conteneurisées.

Comme son nom l’indique, ce service repose pour ces tâches sur Kubernetes, un système d’orchestration open source de clusters de conteneurs, dévoilé en 2014. Kubernetes Engine est la version managée - plus simple à déployer et à gérer - de Kubernetes.

Pokémon Go, un bel exemple d’utilisation de GKE

Pour mettre en perspective l’efficacité de ce système, on peut citer l’exemple du jeu mobile Pokémon GO, développé par Niantic. Pokémon GO est l’un des exemples les plus connus du développement basé sur des conteneurs.

Niantic a choisi Kubernetes Engine pour sa capacité à orchestrer son cluster de conteneurs à l’échelle planétaire, libérant ainsi son équipe qui a pu se concentrer sur le déploiement de changements de mises à jours du jeu. Plus de détails sur ce lancement de Pokémon GO sont disponibles sur le blog de Google Cloud Platform.

A lire sur le même thème