Facebook utilise Chef et y contribue

08/01/2014
Chef logo

Le réseau social s'est mis à utiliser l'outil d'automatisation d'infrastructure, dont il apprécie tout particulièrement la flexibilité. Le géant du web a également apporté sa contribution à la solution afin d'automatiser la suppression des modifications de configurations obsolètes.

L'outil édité par Opscode (société qui a maintenant adopté le nom de son produit phare, Chef) a conquis le réseau social à la renommée mondiale. L'avantage principal de la solution, selon Facebook ? « [S]a flexibilité », indique Phil Dibowitz, ingénieur systèmes de Facebook, rapporte un article du Monde Informatique.

Alors que le réseau social compte, selon les observateurs du secteur, plusieurs dizaines de milliers de serveurs, seuls quatre employés sont actuellement en charge de gérer cette infrastructure.

Facebook utilisait auparavant CFEngine mais, suite à la migration vers la version 2, il a rencontré des difficultés pour modifier le fichier de gestion de configuration.

Le réseau social a ainsi décidé de migrer vers un nouvel outil d'automatisation d'infrastructure. Pour remplacer CFEngine, Puppet et Spine étaient également en lice. Si Chef l'a emporté, c'est justement en raison de sa flexibilité, en particulier de la fluidité qu'il permet dans l'écriture du code servant à modifier les configurations. Une spécificité partiellement due à la base Ruby de la solution, ce langage étant aisé à assimiler pour les administrateurs et les ingénieurs.

Chef se distingue également en ce qu'il permet « une plus grande souplesse pour gérer les fichiers de configuration eux-mêmes », précise Phil Dibowitz. Chaque administrateur est en effet en mesure d'intervenir sur ces fichiers afin de modifier les paramètres le concernant ; les modifications sont ensuite répercutées sur l'ensemble du réseau social, au niveau mondial, en très peu de temps.

Des contributions reversées à la communauté

À noter que Facebook ne s'est pas contenté d'utiliser Chef mais y a également apporté sa contribution. Le réseau social a en effet créé une méthode pour supprimer automatiquement les modifications de configurations obsolètes : il a créé « une série de modèles qui définissent les valeurs par défaut de chaque fichier de configuration, associant un hash numérique au modèle original », explique Le Monde Informatique. Cette valeur de hachage permet ainsi, lors de l'exécution d'un fichier de configuration, l'identification et la suppression automatiques des entrées obsolètes.

Certaines des modifications du code base effectuées par Facebook ont été communiquées à l'éditeur de Chef. Le réseau social a, par ailleurs, développé de nouveaux outils open source pour Chef, dont certains sont publiés sur GitHub.

Solutions

comments powered by Disqus
top