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

Liens externes