Le release management est un procédé par lequel les applications logicielles et les mises à jour sont planifiées et déployées à partir d’une série d'environnements qui comporte plusieurs niveaux : du développement à la production en passant par les tests et par différentes étapes. À l'intérieur d'une petite organisation, une simple procédure de liste de contrôle peut suffire à assurer un déploiement harmonieux entre les différentes étapes. Mais le release management a évolué avec DevOps et est désormais une réponse directe à l'hétérogénéité complexe et spécialisée typique des environnements du cloud modernes. Des systèmes de plus haut niveau sont nécessaires pour gérer des versions d'applications diverses et interdépendantes tout en minimisant les risques de temps d'arrêt et en assurant la conformité.
Dans cet article, nous allons comparer deux aspects de la gestion moderne des versions - l'automatisation des mises à jour d'applications (ARA) et l'orchestration des mises à jour d'applications (ARO) - et nous allons voir vers lequel des deux la société a tendance à se diriger.
Le Release Management
Le système de Release Management permet aux équipes de travailler ensemble et apporte la transparence et le contrôle nécessaires pour prévenir les incidents de déploiement et accélérer leur résolution. Traditionnellement, les release managers planifient les tâches, attribuent les ressources et surveillent chaque phase du développement. Il existe différentes approches du release management, en fonction de la taille et de la structure d'une organisation. Si l'on regarde plus précisément quelques applications qui sont simples, certaines tâches peuvent être gérées manuellement. Mais à mesure qu'une entreprise se développe, il devient de plus en plus complexe de s'assurer que les différents flux de valeur sont hiérarchisés et que les tâches à faible valeur ajoutée n'accaparent pas les ressources.
Des outils sophistiqués de release management aident les gestionnaires en leur offrant des méthodes de suivi de l'ensemble du système de haut en bas et en automatisant une grande partie du processus. Les systèmes les plus avancés utilisent l'analyse du déploiement et la visualisation des mesures de flux pour aider à régler et à optimiser le flux de valeur.
Automatisation des mises à jour des applications
Les pipelines CI/CD permettent un développement et un déploiement de bout en bout sans silo, ce qui facilite une mise sur le marché plus rapide des nouveaux produits et des nouvelles fonctionnalités, tout en recueillant en permanence des informations et des analyses précieuses auprès des utilisateurs finaux. Cela permet une évolution rapide du produit et de l'activité, et la possibilité de corriger les bogues sans qu’on se retrouve avec des perturbations importantes pour le client. La mise en œuvre de la méthode CI/CD repose toutefois sur l'automatisation d'une série de tâches, depuis la préparation d'une version et de ses environnements cibles jusqu'au séquençage des déploiements individuels par ordre des dépendances.
L'automatisation des mises à jour d'applications (ARA) est un terme générique qui offre un moteur pour l'automatisation de la charge de travail et s'intègre à divers outils de release management. Les aspects clés comprennent le déploiement automatisé, la gestion de l'environnement, la modélisation et la planification des versions. Les systèmes ARA intègrent également une certaine forme de contrôle et de gestion des versions, ainsi qu'un environnement de test isolé.
L'ARA gère chacun des environnements par lesquels passe un produit, en conditionnant le code et ses dépendances, ainsi qu'en s'occupant des exigences de configuration et de validation avant le déploiement automatique dans l'environnement suivant.
Orchestration des mises à jour des applications
Bien que l'ARA puisse être mis en œuvre avec succès dans une grande entreprise, les opérations complexes multilingues et multiplateformes souffrent souvent d'une balkanisation des méthodes, des mesures et des interfaces. Application Release Orchestration (ARO) prend les processus ARA de l'ensemble de l'organisation et les synthétise sous une seule plateforme.
L'ARO présente des avantages majeurs pour les organisations dont la base de code est soutenue par une combinaison de langages hérités et de langages open-source, ou qui mettent en œuvre une plateforme hybride ou multi-cloud. L'orchestration peut devenir extrêmement complexe, nécessitant un point de contrôle et de gouvernance unique. ARO offre un niveau de cohérence plus élevé aux responsables des opérations et permet une meilleure communication entre les différentes équipes grâce à des méthodologies unifiées de reporting et de suivi.
Les parties prenantes qui bénéficient le plus d'ARO sont les release managers, les principaux utilisateurs du système ARO, ainsi que les équipes DevOps et les responsables informatiques. L'ARO permet aux responsables de ne plus avoir à se soucier des tâches qui peuvent être automatisées et leur permet de se concentrer sur la surveillance du système pour détecter les problèmes ou les goulets d'étranglement. Les groupes de développement bénéficient également d'une visibilité en temps réel sur les différents cycles de vie de leurs produits, ce qui les libère des contraintes liées à des calendriers de diffusion statiques dont les délais ne peuvent pas être repoussés. Il leur permet de s'adapter à l'évolution des priorités. Les responsables informatiques peuvent également utiliser l'ARO pour mieux comprendre leurs flux de valeur, accéder aux performances des équipes et surveiller le flux de travail.
Les méthodes de travail Agile utilisées pour le release management, CI/CD et DevOps sont elles-mêmes relativement nouvelles dans l'industrie informatique, et continuent d'évoluer pour répondre aux besoins des technologies changeantes et aux demandes accrues du marché. Née de la transformation numérique, la solution DROPS d'ARCAD Software a été conçue pour simplifier les release management mixtes comprenant un composant Legacy et cloud-natif - offrant une option sécurisée, conforme et configurable, à la fois indépendante du cloud et open source. DROPS garantit l'intégrité de vos logiciels et de vos données sur des clouds hybrides ou multiples, et offre de nombreux autres avantages tels que l’indépendance vis à vis des fournisseurs de clouds et des fonctionnalités multi-scripts. Pour en savoir plus sur DROPS, visitez le stand ARCAD à l'Eclipsecon 2021 ou contactez l'équipe ARCAD pour une démonstration personnalisée.