Archives de Catégorie: Industrialisation

DevOps, ce qu’il faut retenir

Le modèle DevOps connaît depuis quelques années un succès fulgurant dans le monde IT et continue de transformer la manière de développer, déployer, surveiller et gérer les applications et de modifier l’infrastructure sousjacente. DevOps ayant rapidement évolué d’un concept d’experts à une nécessité économique, les entreprises de toute taille doivent intégrer les outils et méthodes DevOps.

Alors que le modèle DevOps continue sa révolution, de nombreuses entreprises observent de loin, avec curiosité, en tentant de comprendre de quoi il s’agit. Certaines ont sauté le pas mais n’ont pas encore réussi à en profiter pleinement. Une certitude, toutefois : il est beaucoup plus difficile de réussir la mise en œuvre d’une approche DevOps si votre DSI ne saisit pas son importance ou la manière de l’adopter efficacement.

On constate la difficulté de cette évolution, y compris dans la manière dont chacun perçoit les bénéfices et avantages du DevOps. Ainsi, le développeur mettra en avant l’intégration continue, la simplicité de maintenance du code ou l’automatisation des tests. Un ingénieur de production IT plaidera en faveur l’automatisation des déploiements d’infrastructure et l’optimisation des environnements facilitée par la mesure et le décisionnel en temps réel. Et tout cela est absolument vrai. Cependant, chacun raisonne encore en fonction des frontières traditionnellement préétablies au vu de leurs attributions respectives.

L’évolution culturelle sévère d’autant plus difficile que chacun doit faire évoluer ses repères. Ainsi, il ne s’agit plus de déterminer uniquement qui va désormais assumer telle ou telle tâche, mais de faire en sorte qu’elle sera assurée de façon optimale pour parvenir au plus vite et de façon optimale au résultat. Les objectifs des deux camps doivent être alignés, les outils partagés ainsi que les processus et les métriques.

À l’origine, l’approche DevOps était de réunir développement et opérations, mais ce concept a évolué bien au-delà d’une vision purement informatique. DevOps met en œuvre des logiciels, des applications et la prestation de services technologiques. Dans l’environnement digital actuel, cela n’est plus réservé au département IT d’une entreprise, mais touche l’ensemble des départements.

Rapprocher développement et production ne va pas de soi. Chacun doit comprendre l’autre et collaborer pour accélérer la mise en production. Indispensable à l’entreprise agile, DevOps repose essentiellement sur des facteurs humains.

Publicités

En route vers le développement Agile Devops

Les entreprises se trouvent aujourd’hui confrontées à la nécessité de délivrer de plus en plus rapidement des applications de meilleure qualité, pour répondre aux demandes toujours plus pressantes des utilisateurs soucieux de diminuer le « Time to Market ». L’élaboration itérative d’un système informatique par de équipes resserrées et auto-organisées travaillant en collaboration étroite avec les utilisateurs s’avère particulièrement efficace.

Historiquement, les équipes de développement et d’exploitation sont séparées, le climat de défiance entre développement et production est dû à la différence sémantique de deux métiers aux intérêts divergents. Difficile en effet de concevoir la mise en place d’une culture qui serait l’apanage des seules équipes de développement sans transformer également les modes de fonctionnement des autres équipes avec lesquels elles interagissent, les interactions entre les équipes de développement et les équipes d’exploitation devront être revues et c’est là précisément ce que préconise le développement Agile Devops.

Des processus non outillés ne pourront clairement pas répondre aux exigences de communication, de qualité, de standardisation et de fluidité. Mais cela nécessite un outillage adéquat et une formation des deux équipes. Le développement Agile DevOps vise à rapprocher les deux équipes et à aligner leurs objectifs sur les besoins de l’entreprise.

L’outillage devra permettre d’industrialiser le cycle de vie d’une application, l’ALM (Application Lifecycle Management) et en particulier les outils favorisant la communication entre les deux parties  : gestion du versioning et industrialisation des transports de composants, pour permettre de faire du déploiement continu (Continuous Deployment). Les livrables sont ainsi déployés automatiquement dans les différents environnements en suivant un processus de validation.

Les géants du web Google, Facebook, Amazon le font déjà plusieurs fois par jour sans que leurs utilisateurs ne s’en rendent compte !

%d blogueurs aiment cette page :