Borg est au coeur de tous les datacenters de Google
Borg est l’OS des datacenters de Google. Il est utilisé pour gérer les workload et déterminer quelle machine recevra quel traitement. C’est donc Borg qui au quotidien détermine quelles sont les machines qui vont exécuter les traitements permettant à Gmail, GSuite, YouTube de fonctionner.
Borg est un OS
Un ordinateur standard exécute plusieurs processus. Le système d’exploitation (OS) se charge de dispatcher ces processus. Il détermine quel processus a accès à quel processeur et quelles parties de la mémoire. Le système d’exploitation décide également quels processus doivent être suspendus ou arrêtés.
Borg fait de même au niveau des datacenters. Lorsqu’un processus doit être lancé, Borg décide quelles machines auront la capacité d’exécuter ce processus. Finalement, Borg demandera aux petits processus (processus de priorité de base) de s’arrêter ou de disparaître. Selon le service à rendre, un processus peut être dupliqué sur d’autres machines.
Si une machine s’arrête, en raison d’une panne ou pour toute autre raison, Borg redistribuera automatiquement les traitements hébergés par cette machine sur d’autres machines qui ont la capacité de les recevoir.
Kubernetes hérite de Borg
Borg est utilisé par Google depuis 2004. Google a développé Kubernetes en tirant les leçons de l’écriture et de l’exploitation de Borg pendant plus de 15 ans. Cela fait de Kubernetes un choix sûr lorsqu’il s’agit de décider du système à utiliser pour gérer les conteneurs.
Borg reste un produit secret
Borg est un outil puissant. Il reste un outil interne et secret. Cependant une partie de la croissance actuelle de Kubernetes provient directement de cet outil. Pour en savoir plus sur les idées qui se cachent derrière Kubernetes, vous pouvez lire la gestion de grand cluster par Google avec cet article sur Borg : Large-scale cluster management at Google with Borg.
Borg inspire les architectures des Datacenters modernes
Borg a inspiré les datacenter actuels, ainsi que les technologies utilisées pour l’exécution des conteneurs. Google a contribué au noyau Linux dès 2007. L’objectif était de limiter les ressources utilisées par les processus. Les cgroups et les namespaces linux sont aujourd’hui au coeur des technologies de conteneurs, y compris de Docker.
Mesos a été inspiré par Borg lorsqu’il était encore un secret.
Liens Intéressants
- Informations générales sur Kubernetes
- Kubernetes, l’OS du Cloud
- Comprendre l’architecture de Kubernetes
- Les outils pour bien opérer un cluster Kubernetes
- La terminologie de Kubernetes
- Knative, le composant Kubernetes pour les architectures Serverless
- Qu’est-ce qu’un Service Mesh
- Kubernetes vs Docker
- Les meilleurs tutoriels pour découvrir Kubernetes
- Se former à Kubernetes
Liens externes
- Large-scale cluster management at Google with Borg by Google
- Borg, Omega, and Kubernetes by Google