30 mars 2022

L’orchestration des déploiements d’applications (ARO pour Application Release Orchestration) est en train de devenir rapidement un outil essentiel pour toute application moderne, permettant de centraliser et de synchroniser le déploiement sur toute configuration de plates-formes, de technologies et de centres de données. Si l’ARO continue de jouer un rôle important en tant qu’outil de modernisation des systèmes Legacy, le besoin d’un déploiement sécurisé et basé sur les opérations est aujourd’hui évident dans tout les secteurs d’activité. Ce besoin est en partie dû à l’avènement et à l’omniprésence du cloud computing, à la nécessité d’émanciper les équipes d’exploitation dans la mesure où le côté « dev » de DevOps a déjà atteint sa maturité, et à l’adoption du paradigme « infrastructure as code ».

La révolution dans la gestion des versions

Président-directeur général d'ARCAD Software, Philippe Magne a anticipé l'ARO comme la prochaine phase de la révolution de la transformation digitale. Philippe Magne dirige également l'équipe de DROPS, un outil puissant à console unique qui est une solution stable et sécurisée pour l'ARO dans le monde IBM i depuis 2015. Philippe Magne partage ses réflexions sur l'origine et la maturation de l'orchestration des déploiements d'applications en tant que lien critique entre le développement et les opérations au-delà des systèmes legacy, et pourquoi un cas d'utilisation de l'orchestration des déploiements s'étend désormais au-delà des applications legacy.

"Les racines de l'ARO remontent au moins aussi loin que l'origine de DevOps", déclare Philippe Magne. Le terme "DevOps" - qui combine les équipes de "développement" et "opérations" - a été inventé en 2009 par l'ingénieur belge Patrick Debois. Il désigne un ensemble de principes "destinés à réconcilier le développement et les opérations d'une entreprise", l'objectif principal étant de mettre le code en production aussi rapidement que possible. Le succès de DevOps a conduit à l'essor du pipeline CI/CD (continuous integration/continuous delivery).

Mais peut-être parce que DevOps trouve son origine dans les équipes de développement, "la grande majorité de la transformation DevOps est venue de l'initiative de développement. À l'exception des organisations les plus matures, qui ont mis en place des responsables DevOps comme lien indépendant entre le développement et les opérations, DevOps a naturellement mis un peu de côté les priorités des équipes d'opérations. Aujourd'hui, cependant, cela commence à changer", poursuit M. Magne.

La gestion des déploiements évolue pour s'adapter aux environnements hybrides et multi-clouds

D'une certaine manière, depuis la création de DevOps, la nécessité d'une orchestration complexe de la mise en production des applications a simplement été retardée. DevOps était particulièrement bien adapté aux pratiques commerciales des entreprises dites "licornes" d'il y a une dizaine d'années, lorsque des infrastructures relativement simples suffisaient à assurer la sécurité de la mise en production des applications. DevOps a fait fructifier les aspects d'automatisation de CI/CD et a atteint un certain niveau de maturité. Mais aujourd'hui, alors que les entreprises doivent intégrer des infrastructures cloud à d'autres technologies, les outils d'automatisation exceptionnels tels que Jenkins ou Ansible ne sont toujours pas capables de coordonner des déploiements complexes.

"La gestion des déploiements est fortement liée à la livraison continue", ajoute Philippe Magne. DevOps a réussi à faire du pipeline CI/CD une réalité. "Mais maintenant qu'il y a une si forte diversité d'infrastructures dans le secteur, de nouveaux défis apparaissent, qu'il faut relever avec un retour à l'équilibre entre le développement et les opérations. Et pour ce que cela vaut, les systèmes et les centres de données legacy n'ont pas disparu et resteront un acteur majeur du secteur du développement pendant au moins une autre décennie."

Philippe Magne ajoute que la mise en place d'un système ARO devient de plus en plus importante lorsqu'il s'agit de coordonner le déploiement sur plusieurs infrastructures et architectures d'applications. Qu'il s'agisse d'applications legacy (de type client/serveur) ou d'une application dont la base de code est entièrement moderne, la plupart des entreprises ont aujourd'hui au moins un pied dans le cloud, qu'il soit privé ou public, et doivent donc composer avec une variété de datacenters connexes.

Intégration aux pipelines existants - Jenkins et Ansible

DROPS ayant prouvé sa stabilité dans le secteur legacy, est la solution idéale pour les entreprises prêtes à passer de l'automatisation à l'orchestration, et à s'appuyer sur les capacités actuelles fournies par des outils d'automatisation phares comme Jenkins ou Ansible. Philippe Magne explique que l'outil "ne remplace pas un pipeline CI/CD bien configuré, il s'appuie sur celui-ci. Parce qu'aucune technologie unique ne peut s'adapter à chaque plateforme, l'orchestration est nécessaire." Un logiciel ARO comme DROPS, cependant, est un outil multiplateforme complet, capable d'orchestrer des activités de déploiement complexes entre des clouds privés et publics, ou tout type de datacenters, d'applications web ou d'applications legacy.

Priorités pour les équipes d'exploitation et les release managers : sécurité et fiabilité

Les outils ARO permettent aux équipes d'exploitation et aux responsables du déploiement d'être efficaces dans leur rôle en centralisant les opérations de déploiement et en contrôlant toutes les synchronisations technologiques nécessaires. Les équipes d'exploitation ont, après tout, la responsabilité primordiale de maintenir les machines de production en état de marche et de fonctionner sans problème.

En d'autres termes, si tous les membres d'une organisation peuvent être motivés par la réussite finale de l'entreprise, les intérêts des équipes de développement et d'exploitation seront fondamentalement différents. Les architectes de la base de code peuvent rêver d'une variété de solutions et de scripts ingénieux pour l'automatisation, mais le personnel d'exploitation est fortement concerné par la prédictibilité et la standardisation, ainsi que par la tranquillité d'esprit que rien ne va crasher, et si c'est le cas, il y a une option de retour en arrière (rollback).

Philippe Magne illustre la position dans laquelle se trouvent les responsables de l'exploitation : "Comme les équipes d'exploitation assument une part importante de la responsabilité du déploiement de la production, elles ont besoin d'un système qui assure la stabilité et la sécurité. DROPS - comme tout bon système ARO - dispose d'une capacité de rollback instantanée 24/7. Le mécanisme de retour en arrière de DROPS s'applique à l'ensemble du système, il est simple et facile à utiliser, ce qui donne aux équipes d'exploitation l'assurance dont elles ont besoin pour superviser les déploiements."

Le déploiement moderne doit se faire à l'échelle de l'entreprise

De plus, les équipes d'exploitation profitent énormément du fait d'avoir une image claire, à l'échelle de l'entreprise, de toutes les applications qu'elle englobe, ainsi que des équipes et des technologies qui se superposent à ces applications. Chaque version est un délicat exercice d'assemblage, qui consiste à envoyer différents composants vers différentes cibles, les chaînes de dépendance des applications et des versions devant être synchronisées de manière appropriée. Les release managers exigent un niveau de contrôle optimal au point d'origine.

Reproductibilité et traçabilité : Infrastructure as Code (IaC)

L’orchestration des déploiements d’applications débouche également sur le concept d’Infrastructure as code (IaC), qui consiste à créer une infrastructure d’application directement dans les fichiers de configuration, plutôt que de gérer l’infrastructure en externe. Le mouvement IaC a vraiment pris son essor avec l’expansion du cloud computing, mais il s’est étendu à l’ensemble des secteurs. Les modifications à la volée et non documentées de l’infrastructure de la base de code sont désormais largement considérées comme inacceptables.

Le contrôle des versions est un aspect essentiel de l’IaC, Git étant le système de facto pour faciliter la capacité à gérer des applications complexes et de grande taille à partir d’un seul repository. À un niveau fondamental, ARO utilise une structure de référentiel unique, car le système de déploiement doit avoir une traçabilité sur tout changement et dans tout type de configuration. Dans les environnements cloud, l’infrastructure change quotidiennement. Dans un environnement qui évolue aussi rapidement, un haut niveau d’automatisation est nécessaire, mais un outil ARO s’appuie sur l’automatisation en incluant la traçabilité.

Séparation des tâches : Rôles et responsabilités

En plus d'un système de contrôle de version robuste, ARO fournit des outils pour faciliter une organisation rigoureuse des scripts et aider les responsables des opérations à superviser les différents rôles et responsabilités DevOps inter-équipes.

Les opérations reviennent sur le devant de la scène

En résumé, aux premiers jours de la transformation numérique, l'accent avait été mis sur le côté "dev", mais cet accent s'est progressivement déplacé vers les opérations. Philippe Magne conclut : "Certaines entreprises ont tenté de mettre de côté les systèmes legacy, d'autres ont réalisé qu'elles devaient s'orienter vers une convergence, et beaucoup d'autres sont totalement modernes. Mais quelle que soit la technologie utilisée, les entreprises reconnaissent l'intérêt de disposer d'un moyen standardisé et centralisé de livraison des produits."

Dans cette nouvelle ère intéressante, après avoir déjà fait ses preuves dans le secteur du legacy, l'outil DROPS, désormais open-source, est en passe de devenir l'outil ARO standard pour toute entreprise à la recherche d'une solution sécurisée pour le déploiement d'applications. DROPS est un outil profondément stratégique qui va au cœur du concept de "transformation digitale".