> Enjeux IT > Comment réussir sa démarche DevOps

Comment réussir sa démarche DevOps

Enjeux IT - Par Loïc Duval - Publié le 20 novembre 2017
email

Au cœur de la transformation digitale, DevOps reste un challenge ardu pour la majorité des entreprises traditionnelles. Mais, c’est aussi une étape incontournable pour industrialiser les développements afin d’accélérer et fiabiliser la mise sur le marché de nouveaux services.

Comment réussir sa démarche DevOps

Définition DevOps

Contraction des mots anglais Development (développement) et de Operations (exploitation), l’approche DevOps fait couler beaucoup d’encre depuis deux ans. À la fois culture d’entreprise et stratégie opérationnelle, DevOps vise à améliorer la communication entre les études et l’exploitation afin de réduire le time-to-market d’un produit, d’une solution logicielle, d’un service, etc.

Intriguées, nombre d’entreprises mènent, avec plus ou moins de succès, des expériences dans le domaine, mettant en place des bonnes pratiques pour répondre au besoin croissant d’industrialisation et de normalisation de la production informatique.

Et force est de constater que l’adoption de DevOps n’a rien de naturel dans des entreprises traditionnellement organisées en services cloisonnés partageant peu ou pas d’informations.

Alors si l’aventure DevOps vous tente – et elle devrait forcément vous tenter compte tenu des gains indéniables -, voici 5 conseils pour réussir la transformation.

1 – Ne sous-estimez pas l’impact humain

Dans une organisation classique, les études, les « dev » (ceux qui écrivent le code des applications) et la « prod » (ceux qui déploient et exploitent les applications) constituent 3 équipes distinctes qui se passent le bébé, se rejetant accessoirement la faute si l’application ne répond pas au besoin, si elle n’a pas été développée assez vite, si le code n’est pas sécurisé, etc.

L’arrivée des méthodes agiles a provoqué un premier changement : capables de livrer beaucoup plus vite du logiciel répondant mieux aux besoins, les développeurs ont mis la pression sur les équipes de production dont la première préoccupation est la stabilité du système d’information.

Les cloisonnements traditionnels commencent à tomber, DevOps poussant le bouchon jusqu’aux équipes de production.

Bien entendu, cette réorganisation du travail ne se fait pas sans heurt. Passer de la sécurité d’une organisation hiérarchisée au mode commando des « pizza teams », (concept né chez Amazon qui estime que la taille d’une équipe informatique efficace ne doit pas dépasser le nombre de personnes que l’on peut nourrir avec deux pizzas, soit huit), engendre des craintes. Sans explications, sans accompagnement du changement et sans sponsors forts, c’est l’échec assuré.

2 – Développez une culture collaborative basée sur des objectifs communs

Ne commencez pas votre aventure DevOps en vous focalisant sur des outils ou des processus. Mais, cherchez à rétablir le dialogue entre deux équipes qui s’ignorent trop souvent : les Devs et les Ops IT. Avec DevOps, les ITs deviennent des collaborateurs actifs du design et du développement. DevOps est surtout et avant tout une culture collaborative !

Bâtissez un « Team DevOps ». Optez pour un outil collaboratif commun (comme Microsoft Teams ou Slack) pour faciliter la communication et aider à établir une culture de la transparence. Un bon moyen d’y parvenir est aussi d’utiliser ce « Team DevOps » pour créer un portail Web commun afin de piloter les déploiements, depuis la phase d’intégration jusqu’à la production.

Au passage, profitez-en pour mettre en place les grandes lignes de la nouvelle organisation et impliquer l’ensemble des acteurs dans la démarche. Vraiment TOUS les acteurs, à commencer par les utilisateurs !

L’approche DevOps reste, au final, centrée sur la satisfaction de l’utilisateur.

3 – Automatisez les processus 

L’automatisation avancée des phases d’instanciation des environnements de développement, de tests, de packaging, de déploiement, est au cœur de l’approche DevOps. Pour réduire le « Time-to-Market » et permettre un « Continuous Delivery » des applications, il est impératif d’automatiser un maximum de processus de sorte que chacun dans l’équipe puisse focaliser son attention sur de la valeur ajoutée.

C’est pourquoi la démarche DevOps est souvent formalisée par des workflows. À chaque étape, on retrouve des outils pour fluidifier et fiabiliser les activités. Typiquement, dans le cadre de l’intégration continue, on trouve des solutions comme Jenkins, Bamboo ou encore Visual Studio pour assurer la compilation, exécuter les tests unitaires, le packaging ou encore des tests en environnement d’intégration. Stockés dans un référentiel partagé (GitHub, Team Services), les développements peuvent ensuite être déployés automatiquement via des scripts dans les cas simples ou par recréation complète de l’environnement cible (à l’aide d’outils tels que Puppet, Chef ou Docker).

Bien sûr, certaines étapes nécessiteront encore des validations humaines, ne serait-ce que pour rassurer l’ensemble des acteurs de la chaine. Cependant, les gains opérés par cette automatisation transversale sont colossaux, certaines entreprises ne mettant plus que quelques minutes, là où il leur fallait des mois auparavant pour délivrer un nouveau service sur le marché.

4 – Mesurez votre efficacité

L’approche DevOps n’est pas uniquement une question d’automatisation des processus et d’accélération des mises en production. C’est aussi une question de transparence. DevOps cherche à étendre les concepts du développement agile à l’ensemble du processus de création et déploiement de l’applicatif. Ce qui passe, aussi, par une amélioration continue de ces processus. Dès lors, il faudra très tôt mettre en place des tableaux de bord alimentés automatiquement par des indicateurs clefs mesurant l’efficacité à toutes les étapes.

Typiquement, côté intégration, il est possible de mesurer la qualité du code, la durée d’exécution ou encore le nombre de livraisons quotidiennes. Côté livraison, la durée d’un cycle de déploiement, le taux d’échecs ou encore la quantité de déploiements par domaine d’applications constituent d’excellents indicateurs.

Optez pour une solution de tableau de bord autorisant la personnalisation de vos indicateurs et le partage des informations selon les besoins de chacun. Rien de tel qu’une courbe prouvant qu’on devient meilleurs pour stimuler tous les collaborateurs !

5 – Faites preuve de bon sens

Certes, DevOps pose de grands principes pour accélérer et fiabiliser la production logicielle. Mais, il s’agit avant tout d’une démarche qui vise le décloisonnement nuisant à la réactivité et qui préconise l’automatisation pour gagner en fiabilité et sécurité. Pour le reste, il vous appartient de trouver la meilleure organisation et les outils adaptés pour accompagner votre entreprise dans cette transformation.

Composez avec votre existant, ne cherchez pas à faire table rase, laisser le temps à vos collaborateurs de s’adapter et de comprendre. Faites-vous accompagner par des partenaires maîtrisant déjà les tenants et aboutissants de DevOps. DevOps n’est pas une solution miracle, c’est un chemin progressif.

Certaines entreprises préfèrent attaquer le problème par la réorganisation des équipes (pizza teams), d’autres par la formalisation du processus (identification des leviers d’optimisation). Il n’existe pas de règle universelle. Après tout, il est plus facile pour une start-up de réunir ses équipes au même endroit que pour une entreprise traditionnelle dont les équipes sont généralement dispatchées géographiquement.

Alors, préférez une bonne dose de pragmatisme à de grands principes inadaptés pour trouver la solution qui vous permettra d’être plus efficace dans votre production logicielle.

Téléchargez cette ressource

Guide de technologie 5G pour l’entreprise

Guide de technologie 5G pour l’entreprise

Pourquoi la 5G est-elle faite pour votre entreprise ? La 5G peut améliorer la vitesse, la fiabilité et la capacité de votre réseau, permettant ainsi une meilleure collaboration, une productivité accrue et une prise de décision plus rapide. Notre livre blanc " The Big Book of Enterprise 5G" vous fournit les informations stratégiques dont vous avez besoin pour prendre des décisions éclairées et préparer votre entreprise à prospérer dans l'ère de la 5G. Cradlepoint, part of Ericsson est le leader mondial des solutions de réseau sans fil 4G LTE et 5G fournies via le cloud. Connectez vos employés, lieux et objets avec la 4G LTE et la 5G pour un WAN sans fil d'entreprise.

Enjeux IT - Par Loïc Duval - Publié le 20 novembre 2017