Pourquoi l’infrastructure agile et DevOps vont de pair

Saviez-vous que certaines opérations de développement de logiciels déploient du code jusqu’à 200 fois plus souvent que d’autres? Ou qu’elles peuvent effectuer des changements de code en moins d’une heure, récupérer des temps d’arrêt en quelques minutes et connaitre un taux  d’échec de code 60 fois inférieur à celui de leurs homologues?

La différence est DevOps, une nouvelle approche du développement agile qui met l’accent sur la modularité, les versions fréquentes et un cycle de rétroaction constant. DevOps est un contraste frappant avec l’approche conventionnelle en cascade du développement de logiciels. Traditionnellement, le développement de logiciels impliquait une conception initiale et des spécifications détaillées, un processus qui pouvait prendre des semaines. Les développeurs s’isolaient ensuite, souvent durant des mois, pour construire un prototype d’application. Après un long processus de révision, des modifications étaient spécifiées et les développeurs disparaissaient à nouveau pour les mettre en place. Par conséquent, il n’était pas inhabituel que les applications d’entreprise prennent un an ou plus à livrer, période pendant laquelle les besoins des utilisateurs changeaient souvent, ce qui nécessitait encore plus de développement.

C’est un luxe que plus personne ne peut se permettre désormais. La période de développement logiciel d’aujourd’hui est définie par les applications sur votre téléphone intelligent. DevOps est un moyen de faire fonctionner le développement de logiciels d’entreprise à la vitesse d’Internet.

DevOps remplace l’approche monolithique de la construction de logiciels avec des composants qui peuvent être codés et prototypés rapidement. Les utilisateurs sont étroitement impliqués dans le processus de développement à chaque étape. Les révisions de code peuvent avoir lieu aussi souvent qu’une fois par jour, l’accent étant mis sur la progression régulière de chaque composant plutôt que sur la livraison d’une application complète.

Un écart important du DevOps avec le développement traditionnel est que les codeurs ont un contrôle non seulement sur le code, mais aussi l’environnement d’exploitation. L’infrastructure agile rend cela possible. Des technologies telles que les conteneurs et les microservices permettent aux développeurs d’approvisionner leurs propres espaces de travail, y compris des variables telles que la mémoire, le stockage, le système d’exploitation et même les logiciels co-résidents, pour imiter l’environnement de production le plus possible. Cela réduit le risque de surprise lors de la migration de l’environnement de test à la production, tout en améliorant le contrôle et la responsabilisation des développeurs.

Avec l’avènement des conteneurs, les organisations informatiques peuvent désormais créer des bibliothèques de machines virtuelles allégées adaptées aux besoins des développeurs individuels. Les conteneurs peuvent être rapidement transformés et fermés sans nécessiter de frais TI administratifs, un processus qui peut sauver des semaines au cours d’un projet. Les conteneurs préconfigurés peuvent également être partagés entre les équipes de développement. Plutôt que d’attendre des jours l’approvisionnement d’une machine virtuelle, les développeurs peuvent être opérationnels en quelques minutes, ce qui est l’une des raisons pour lesquelles DevOps permet des améliorations de vitesse aussi spectaculaires.

Plusieurs organisations qui adoptent DevOps ont vu des résultats exceptionnels. Les organisations DevOps hautement performantes consacrent 50% de temps en moins à des tâches non planifiées et à des retouches, ce qui signifie qu’elles consacrent beaucoup plus de temps aux nouvelles fonctionnalités, selon le rapport State of DevOps 2016 de Puppet Labs. Les taux d’échec du code sont inférieurs à 15%, comparativement à 45% pour les joueurs intermédiaires. Le délai pour les changements est inférieur à une heure, comparé aux semaines pour le développement en cascade.

Aussi attirant que ces avantages puissent paraitre, le parcours vers DevOps n’est pas dépourvu d’embûches. Un changement de culture important est en jeu. Un changement majeur est que les développeurs assument une plus grand responsabilité pour les résultats de leur travail. Cela aide les entreprises à identifier rapidement leurs meilleurs éléments – et leurs plus faibles.

Mais la reddition de comptes donne également aux plus performants la reconnaissance qu’ils méritent pour un travail exceptionnel. C’est l’une des raisons pour lesquelles Puppet Labs a constaté que les employés d’organisations DevOps à haut rendement sont 2.2 fois plus susceptibles de recommander leur entreprise comme un employeur de choix. L’excellence engendre l’excellence, et les meilleurs aiment travailler avec d’autres qui répondent à leurs normes.

Les utilisateurs doivent également changer de perspective. DevOps nécessite un engagement beaucoup plus fréquent avec les équipes de développement. Cependant, les organisations performantes consacrent en général moins de temps aux réunions et aux révisions de code, car les problèmes sont identifiés plus tôt dans le processus et corrigés avant que les dépendances de code ne soient plus complexes. Les réunions sont plus fréquentes, mais plus courtes et plus ciblées.

Si vous adoptez une infrastructure agile, DevOps est la prochaine étape logique pour devenir une organisation informatique parfaitement agile.

0

Qu’en pensez-vous?

Sans frais : 1 800 260-3311
info@esitechnologies.com

Sans frais : 1 800 401-TECH (8324)
tech@esitechnologies.com 

1550, rue Metcalfe, bureau 1100
Montréal (Québec) H3A 1X6

11, King St. West, 19e étage
Toronto (Ontario) M5H 4C7

2954, boul. Laurier, bureau 320
Québec (Québec) G1V 4T2