Deux éléments incontournables à la réussite des projets DevOps
DevOps, la voie royale de l'IT d'entreprise ? Oui, mais sans deux éléments précis, cette révolution des mœurs n'a aucune chance d'aboutir. Voici lesquels.
Certes, la fusion des équipes de développement logiciel et d'IT opérationnel en une seule entité DevOps porte en elle la promesse d'une plus grande réactivité du développement logiciel, mais les obstacles organisationnels et l'usage d'outils inadaptés menacent la réussite de DevOps.
De plus en plus d'entreprises se sont converties à l'approche DevOps, de sorte que les mises à jour et les correctifs logiciels incrémentiels parviennent aux utilisateurs plus rapidement et plus facilement qu'avec les cycles traditionnels de mise à jour.
Résultat, la pression s'accentue pour raccourcir les délais de déploiement et donner à l'entreprise un avantage concurrentiel supplémentaire.
« Il s'agit de votre réactivité à entrer sur un nouveau marché ou à déployer une nouvelle plateforme » explique Colin Fletcher, directeur de la recherche chez Gartner Inc qui mentionne les pressions concurrentielles dans les nouveaux marchés, la prise en charge de nouvelles plateformes informatiques et l'ajout de nouvelles fonctionnalités ou capacités aux produits.
Processus manuel, le développement logiciel classique transfère chaque itération du produit d'une étape à la suivante : écriture du code, tests puis déploiement, domaines souvent cloisonnés dans l'entreprise. Idéalement, DevOps fait tomber les barrières entre développeurs, testeurs et personnel opérationnel. Mais chaque entreprise structure son initiative DevOps différemment.
Selon l'éminente analyste Ronni Colville, vice-présidente et directrice de Gartner, les développeurs et le personnel opérationnel ont des conceptions très différentes de la gestion des déploiements. Pour les développeurs, les déploiements logiciels ne sont rien moins que du code, des fonctionnalités et des capacités. Côté opérationnel, ils sont perçus comme un processus ou une activité qui délivre le code aux bénéficiaires. Les occasions de rater des étapes ou des informations ne manquent pas.
1. Eviter le choc culturel DevOps
L'évolution culturelle est indispensable pour réussir le passage durable à DevOps et à sa capacité globale de déploiement applicatif efficace.
La première étape consiste à établir une définition de DevOps impliquant la collaboration entre le développement et l'opérationnel, qui encourage l'opérationnel à s'approprier les méthodes de développement logiciel et qui utilise une infrastructure Cloud pour tester et déployer concrètement le code.
Il est indispensable d'abattre les dernières cloisons entre développement, test, assurance qualité, intégration, préproduction et production pour éviter de ralentir le cycle de développement et d'introduire des problèmes imprévus.
Cet effort d'intégration étroite entre développement et opérationnel peut tirer profit d'équipes hybrides. Par exemple, intégrez des développeurs à l'équipe opérationnelle pour aborder la résolution des problèmes d'exploitation ou les évaluations post-mortem des déploiements. Inversement, faites venir des opérationnels aux sessions de planification du développement. Combiner les disciplines peut améliorer les relations de travail et rendre plus efficace le processus DevOps en éliminant les incompréhensions, sources de retards et d'oublis.
Une telle révolution culturelle n'est pas chose facile. Elle passe par le partage d'indicateurs afin que développeurs et opérationnels mesurent les performances de la même manière.
Cultiver l'esprit d'équipe aide à se concentrer sur un objectif commun plutôt que sur le but étriqué d'un seul service. Le partage de connaissances et l'échange de postes s'avèrent parfois des outils précieux. Pour Ronni Colville, il faut oser : tester des approches créatives de résolution des problèmes, prendre des risques calculés et apprendre de ses erreurs.
A l'université Bob Jones, les différences culturelles entre l'opérationnel et les développeurs ont posé un défi considérable. « Il y avait du mécontentement » raconte Terry Worley, directeur de l'exploitation IT à l'université Bob Jones de Greenville en Caroline du Sud. « J'ai dû réunir les opérationnels et les développeurs et faire en sorte qu'ils puissent collaborer efficacement. J'ai compris que la culture est une hydre : soit je laissais faire, soit je lui coupais la tête. »
Cette révolution culturelle s'est avérée payante. Après deux projets suivant un nouveau modèle DevOps, les développeurs ne voulaient plus revenir à l'ancienne méthode.
2. Une boîte à outils complète pour DevOps
Au-delà des implications culturelles, les entreprises doivent s'appuyer sur un ensemble d'outils DevOps. Par exemple, les développeurs ont recourt à des outils pour écrire le code, les testeurs en ont d'autres pour le déploiement de versions, et des outils de provisionnement Cloud sont nécessaires pour préparer l'environnement au transfert du nouveau code vers les systèmes de préproduction et de production. Selon C. Fletcher, ce n'est pas un problème mais il est important d'évaluer les interconnexions des différents outils entre eux et leur prise en charge du cycle de vie logiciel.
Le secteur de l'automatisation des déploiements applicatifs compte de nombreux acteurs. Côté opérationnel, on peut citer BMC Software, CA Technologies. et XebiaLabs, et côté développement, IBM, Electric Cloud Inc. et Serena Software Inc.
De nouveaux acteurs spécialisés dans les outils de workflow, de build et de déploiement pour développeurs émergent. Atlassian, CollabNet., Rally Software, ThoughtWorks ou OpenMake Software en font partie. Si vous envisagez de recourir à leurs produits, prenez en compte l'impact d'éventuelles acquisitions sur la disponibilité et les évolutions à venir du produit : la prudence est de mise envers ces nouveaux produits d'automatisation des déploiements applicatifs.