Il y a quelque temps, j'ai fait part de mes réflexions sur les utilisations possibles des « conteneurs » pour réduire les frais généraux et la complexité liés à la gestion des systèmes opérationnels. Aujourd'hui, j'aimerais me pencher sur une autre technologie capable de fonctionner en synergie avec les conteneurs et de tirer le meilleur parti leur flexibilité.
Analogie musicale.
Imaginez un orchestre professionnel – quelques 44 instruments réunis pour jouer une grande œuvre musicale. Chaque instrument a un son spécifique et contribue à l'expérience globale. Pris séparément, il serait possible d'identifier certains éléments musicaux, mais certainement pas l'œuvre toute entière.
Le seul rôle du chef d'orchestre est de coordonner l'ensemble des instruments afin qu'ils jouent en harmonie.
Bien sûr, un grand nombre de groupes et d'artistes produisent de la musique sans chef d'orchestre. Mais plus le nombre de musiciens augmente, plus il est difficile de les coordonner, au point où une personne spécifique doit assumer ce rôle.
Mais quel est le rapport avec la technologie d'« orchestration » et qu'est-ce que cela signifie pour les conteneurs ? Eh bien, l'objectif (ou la mission, si l'on veut) d'un orchestre est de jouer un morceau de musique, avec plusieurs instruments jouant en complète harmonie. De même, les systèmes technologiques ont un objectif ou une mission – généralement effectué par le biais de plusieurs petits composants fonctionnant de concert. Tout comme les instruments d'un orchestre, plus le système technologique est vaste ou complexe, plus la tâche de coordonner et de gérer les différents composants se complique – jusqu'à ce qu'elle soit assignée à un rôle spécifique.
Gérer les défaillances des composants.
Revenons un moment à notre analogie musicale et imaginons que l'un des musiciens qui devait jouer une partie solo tombe malade et soit dans l'incapacité de jouer. L'orchestre ne dispose pas des ressources suffisantes pour avoir une « doublure » prête à faire face dans ce genre de situation. Il doit jouer l'œuvre (y compris le solo) en utilisant les ressources disponibles. L'un des musiciens devra donc assumer un autre rôle pendant un moment.
Dans le cas des systèmes technologiques, il arrive que l'un des composants soit indisponible. On dispose parfois de ressources supplémentaires que l'on peut utiliser – par exemple un composant existant ou mis de côté pour parer à une telle éventualité. Mais il devra être disponible dans de très brefs délais. Dans un orchestre, le problème est résolu par un musicien capable de remplacer un soliste indisponible. C'est au chef d'orchestre de décider comment jouer l'œuvre du mieux qu'il peut en utilisant les ressources disponibles.
Dans le cas des systèmes techniques, l'orchestration est la technologie utilisée pour déployer rapidement des composants (souvent des conteneurs). Les outils d'orchestration peuvent déployer rapidement des composants configurés pour une utilisation spécifiques et ils peuvent reconfigurer des composants existants en fonction des besoins opérationnels. Étant donné qu'ils sont spécialisés dans la configuration et la gestion, ils sont souvent utilisés pour développer des conteneurs et avoir recours à ces derniers comme « building blocks » légers pour un système global.
Il s'agit certes de technologie, mais il faut quelqu'un pour la gérer. Quelqu'un qui décide à quoi le système doit ressembler. Quelqu'un qui utilise un outil d'orchestration de la même façon qu'un chef d'orchestre utilise sa baguette. D'où le nom d'orchestration – cette personne utilise des outils pour faire fonctionner de concert tous les composants dans un objectif global.