La mise en œuvre des pratiques DevOps peut considérablement accélérer les versions logicielles et en même temps assurer la création d'applications de haute qualité. Cependant, la méthodologie DevOps ne peut pas être achetée, incorporée ou simplement déclarée comme "modèle de référence". Si une entreprise envisage donc de déployer cette méthode, nous avons identifié ci-dessous six étapes qui permettront le succès de cette importante transition.
Comprendre comment travailler de manière optimale pour travailler en mode Agile et fournir rapidement des services clients sans compromettre la qualité est toujours l'un des plus grands défis de notre secteur. Mais, grâce à nos nombreuses années d'expérience dans le conseil DevOps avec des clients de différents secteurs, nous nous sentons en mesure de vous donner quelques conseils qui nous paraissent essentiels pour adopter efficacement le "changement" DevOps.
1. Adoptez l'état d'esprit DevOps
Le déploiement de la méthodologie DevOps ne commence pas simplement en déclarant « We do DevOps » et en commençant à utiliser ses outils. L'ensemble de votre organisation doit avoir une compréhension claire de ce qu’est le DevOps, des besoins de l'entreprise auxquels cette méthode répond et, surtout, tout le monde doit être prêt à changer les vieilles habitudes.
Comment commencer alors, concrètement ? Une première approche que nous recommandons consiste à identifier les flux de valeur des applications en vigueur, c'est-à-dire les activités qui font passer les produits du développement à la production. Il est important de comprendre s'il existe des contraintes, des goulots d'étranglement ou des blocages dans ce processus afin de se concentrer sur son amélioration.
L'identification de tout domaine d'inefficacité dans le processus de livraison doit être saisie comme une opportunité de mettre en œuvre le changement. Pour ce faire, il faut cependant que l'entreprise et l'équipe de référence soient prêts à expérimenter : l'échec de courte durée est en effet à envisager, à condition qu'il soit source d'enseignement et d'amélioration.
Un excellent point de départ pour y parvenir peut alors être d'inciter l'organisation à se poser des questions telles que : « Pourquoi faisons-nous cela [le processus] ? Quelle est sa valeur commerciale ? Comment pouvons-nous le rendre plus efficace ? » "
Les organisations assimilent souvent DevOps à l'automatisation. Alors que l'automatisation peut aider à accélérer les processus manuels, la méthodologie DevOps est fondamentalement basée sur la collaboration et la communication. Si de solides pratiques de communication et de collaboration ne sont pas adoptées entre les acteurs qui collaborent au développement de logiciels (notamment dans les phases de test, de livraison et d'exploitation), l'automatisation des processus ne produira pas les avantages commerciaux souhaités.
2. Tirez le meilleur parti des métriques
L'une des initiatives les plus négligées dans l’adoption de DevOps est la sélection des justes métriques pour enregistrer et suivre les progrès. En fait, il est essentiel dans la phase initiale d'établir des métriques DevOps liées aux objectifs commerciaux qui définissent la ligne à suivre et de ne pas avoir peur de mesurer des données qui au départ peuvent ne pas sembler positives. D'après notre expérience, voici quelques-unes des métriques DevOps les plus utiles :
- Taux d'échec de la production : la fréquence à laquelle le logiciel ne parvient pas à entrer en production pendant une certaine période.
- Temps moyen de récupération : combien de temps il faut à une application de production pour corriger une erreur.
- Temps moyen de réalisation : combien de temps il faut pour la création, la vérification, la livraison et la mise en œuvre d'une nouvelle exigence en production.
- Vitesse de développement : vitesse à laquelle une nouvelle version d'une application peut être développée dans un environnement particulier (environnements d'intégration, de test, de mise en scène, de pré-production ou de production).
- Fréquence de développement : la fréquence à laquelle les nouvelles versions sont développées et sélectionnées pour les environnements de test, de staging, de préproduction et de production.
- Temps moyen de production : le temps qu'il faut pour qu'un nouveau code, une fois validé dans un référentiel, soit déployé en production.
3. Rechercher la solution à vos besoins spécifiques
Chaque organisation suit un parcours DevOps unique, lié à son activité et à sa culture spécifiques, et ce parcours se concentrera sur l'évolution des habitudes et des modèles de communication des personnes et sur les outils avec lesquels déployer les différentes pratiques.
L'utilisation de la méthodologie DevOps accélère la création et la livraison de logiciels de qualité, mais ne réussit que si elle est axée sur les besoins réels d'une seule organisation. Par exemple, si pour vos clients il n’est sensé d’installer de dix à vingt actualisations de votre produit chaque jour, n'en faites pas votre objectif ! Au lieu de cela, concentrez-vous sur l'amélioration de la convivialité, de la sécurité ou de tout autre attribut clé de votre application qui intéresse le plus votre client.
Il existe de nombreuses solutions qui vous permettent de déployer des solutions DevOps, et il est important de se concentrer sur les besoins spécifiques de l'entreprise et sur les caractéristiques de chaque logiciel. Pour faciliter les recherches, nous souhaitons lister les principales pratiques et les solutions que nous préconisons pour les adopter au mieux :
- Continuous Integration et Continuous Delivery – CloudBees Jenkins Enterprise
- Conteneurs et microservices – Red Hat Openshift, Docker et Kubernetes
- Social coding et Code Hosting - GitHub
- Log management et analytics – Elastic
- Continuous monitoring - Icinga
- Configuration management – Ansible e Puppet.
4. Adoptez DevOps de manière itérative
Au début, nous recommandons de ne pas déployer immédiatement une initiative DevOps complète à l'échelle de l'entreprise. Au lieu de cela, il est préférable d'identifier un projet pilote, de former une équipe DevOps interfonctionnelle qui comprend le développement, les tests et les opérations, d'examiner le flux de valeur pour déterminer les inefficacités et de créer un pipeline de déploiement initial qui répond à certaines des contraintes de processus. Mesurez les progrès et les succès, corrigez les erreurs, recommencez et répétez.
Il est conseillé de s'attaquer d'abord aux principales inefficacités de la chaîne de valeur, car elles auront le plus grand impact sur l'entreprise. Certains d'entre eux seront faciles à résoudre, tandis que d'autres prendront plus de temps, surtout s'ils impliquent des changements de processus qui doivent être mis en œuvre dans toutes les équipes.
Assurez-vous que les personnes impliquées sont des influenceurs qui peuvent rapporter les principes appris à leurs équipes respectives ; renfermer toute votre expérience dans votre projet pilote ne vous aidera pas à diffuser efficacement la méthodologie dans toute l'entreprise.
5. Valorisez dès le début le contrôle qualité
Souvent, les entreprises qui souhaitent déployer la méthodologie DevOps concentrent leurs efforts sur l'automatisation du développement, en négligeant les besoins de contrôle de la qualité.
Lors du déploiement de DevOps, il est impossible d'automatiser tous les tests, il est impératif d'automatiser ceux effectués dans le cadre du processus d'intégration continue, ainsi que tous les tests effectués dans le processus de livraison. Il est souvent possible d'automatiser au moins certains tests fonctionnels et non fonctionnels associés à la sécurité, aux performances et à d'autres caractéristiques de qualité pour accélérer ces activités.
6. Adoptez une approche intelligente de l'automatisation
L'automatisation est la clé pour accélérer les processus de livraison, et tout ce qu'elle implique (infrastructure, environnement, configuration, plate-forme, construction, test, processus, etc.) doit être défini sous forme de code. Si un processus prend du temps ou est sujet à des erreurs ou à des interruptions, automatisez-le d'abord - cela réduira les délais, augmentera la répétabilité et éliminera les retards de configuration.
Standardisez votre approche de l'automatisation pour garantir aux développeurs, aux opérationnels et à l'AQ un référentiel commun et un langage commun. La qualité de l'automatisation est essentielle pour assurer la qualité de votre application.
À ce point, nous pouvons affirmer que le déploiement de la méthodologie DevOps et de ses pratiques nécessite beaucoup d'efforts, de temps et de discipline. D’après notre expérience, cependant, les entreprises qui suivent les points susmentionnés obtiennent une bonne base pour faire face avec succès au DevOps journey. L'accompagnement d'un partenaire DevOps expert peut également aider, guider et permettre la transformation, en la rendant plus rapide et plus directe vers les objectifs de l'entreprise et de l'activité grâce au choix des meilleures technologies et à leur déploiement.
Free downloadable content
GUIDE À L’APPROCHE
CLOUD NATIVE
Hybrid Cloud et l'approche Cloud Native pour le développement logiciel s'avèrent être une combinaison gagnante dans un contexte qui requiert efficacité et polyvalence.
Par où commencer?
Source: 6 Steps to a Successful DevOps Adoption by Alan Crouch https://www.agileconnection.com/article/6-steps-successful-devops-adoption