4 conseils pour orchestrer ses containers et déployer ses applications en un temps record

Face aux défis du multi-cloud, il est indispensable de bien orchestrer la containerisation de ses applications, ce qui peut apporter des gains substantiels dans la rapidité de leur déploiement. Voici mes 4 conseils pour bien mettre en œuvre cette orchestration.

Orchestration de la containerisation : la métaphore de la cuisine

Imaginons un appartement partagé entre un infogéreur (installé dans la cuisine) et client (dans le salon). Les livraisons entre eux sont normées, selon un contrat qui répond aux normes ITIL.

flexible-applications-access

L’orchestration des containers est un élément fondamental de la démarche DevOps, qui rend possible l’évolution vers le modèle cloud native.

Lors de la commande par le client, l’infogéreur le livre entre le salon et la cuisine. Si le client souhaite un steak-frites, il peut choisir de cuire le steak sur le réchaud du salon et demander à l’infogéreur de s’occuper des frites.

Si trois jours plus tard le client invite 10 personnes et qu’il n’a pas le temps de préparer le déjeuner, il peut demander à l’infogéreur de cuire aussi les steaks. Dans ce cas, l’infogéreur aura tout consigné dans un livre de recettes (procédures DevOps), partagé entre les deux parties. Si le client désire être livré, l’infogéreur déclenche la procédure et la déroule selon des plans établis à l’avance.

Orchestrateur de containers : une démarche très différente

Reprenons la même métaphore. L’outil d’orchestration va bien au-delà du simple recueil de recettes. C’est tout à la fois une gazinière, un vaisselier, le thermomètre de cuisson et le livre de recettes (le référentiel où les procédures seront écrites de manière collaborative). Et ce livre de recettes fonctionne un peu comme un piano mécanique, avec des partitions sous forme de rubans perforés qui sont les bonnes pratiques CI/CD.

Quatre conseils pour réussir un projet d’orchestration de containers applicatifs

  • 1. Rendre l’orchestration solidaire de l’ensemble des outils du DevOpsPour réussir un projet de containerisation, l’orchestration des containers via Kubernetes n’est pas suffisante. Il convient, en effet, d’y associer l’intégralité des outils DevOps (référentiels, CI/CD, sécurité, etc.) afin que l’application suive le cycle de gestion Dev & Run et que l’on gère ainsi l’élasticité avec plus d’efficacité.
     
  • 2. La containerisation doit garantir la mise à disposition de l’applicatif
    La containerisation est une manière de garantir la mise à disposition applicative et non une simple brique technologique. Il s’agit d’un outil essentiellement tourné vers le Run et c’est là qu’il offre le plus de valeur (scale-in, scale-out, sécurité embarquée, renforcement des process, agnosticité, etc.). Il est à noter que dans le cycle DevOps d’évolution vers les applications cloud native (voir notre modèle sous forme de schéma ci-dessus), les deux premières étapes sont la containerisation avec Docker et l’orchestration avec Kubernetes.
     
  • 3. Il faut complémenter les CaaS des hyperscalers
    Les hyperscalers mettent à disposition de leurs clients des solutions CaaS, en particulier une couche Kubernetes. Orange Business le propose également via sa solution de cloud public Flexible Engine et le service Cloud Container Engine. Pour profiter au maximum de cette solution d’orchestration, je conseille d’adjoindre à ces solutions propres à chacun des clouds publics, des outils compatibles avec le multi-cloud. Ceci permettra à l’entreprise une mise à disposition globale des applications containerisées sur les clouds publics où elle est présente.
     
  • 4/ Se faire accompagner dans l’orchestration de ses containers
    Les expertises dans les domaines du cloud et de la containerisation sont rares

    Je conseille donc aux DSI de se faire accompagner pour orchestrer leur containerisation et mieux piloter la complexité des infrastructures multi-cloud. Ceci concerne la définition de la stratégie, la sélection et l’intégration des outils de containerisation et d’orchestration ainsi que les déploiements CI/CD.
    Les bonnes questions à se poser, dans ce cadre, portent sur le cycle de vie des applications : les éventuelles difficultés sur la disponibilité, la prise de conscience du risque de saturation, le niveau de maturité des équipes qui conditionne l’intégration d’un outil d’orchestration.

Cas d’usage d’orchestration : de 9 mois à 2 semaines pour un déploiement

Dans une des premières implémentations de notre solution d’orchestration, la volonté du client était de changer la production des applications en s’appuyant sur la containerisation, dans le but de migrer vers le PaaS.
Malgré quelques réticences au départ, l’équipe a vite été convaincue par cette nouvelle méthode. Au bout d’un an à peine, les gains furent au rendez-vous grâce à la combinaison de cet outil d’orchestration et des services d’accompagnement. Ils ne furent pas seulement économiques. Là où il fallait 9 mois pour la mise à jour d’une application, il ne faut plus aujourd’hui que 2 semaines.

En conclusion

En conclusion, ma conviction est que les nouveaux prescripteurs sont les développeurs qui parlent le langage du métier et sont rodés à la spécification des besoins. Pour pouvoir évoluer vers le cloud native, un outil d’orchestration et un d’accompagnement 24/7 sont nécessaires.

300x300_herve-tessier.png
Hervé Tessier

Depuis une vingtaine d’années dans l’IT, je suis actuellement Directeur Operations & Engineering dans les domaines des Managed Applications, Hyperscalers et solutions DevOps. Auparavant, j’ai occupé des fonctions de direction dans les départements techniques, commerciaux et achats.