Comment faire du DevOps lorsque l’entreprise n’en fait pas ?

Comment faire du DevOps lorsque l’entreprise n’en fait pas ?

Une transformation DevOps

En tant qu’ingénieur DevOps, j’aimerais partager une des expériences que j’ai rencontrées au cours de ma carrière, lorsque j’ai découvert une organisation très silotée. A travers ce témoignage nous allons aborder :

Qu’est-ce que le DevOps ?

Le DevOps est un changement culturel visant à combler le fossé/décalage entre les équipes. Nous appelons également ce fossé/décalage, le mur de la confusion. Lorsque les équipes sont séparées par un système de suivi des problèmes et rejettent le travail à l’équipe suivante. Cette situation crée :

Ce mur de confusion est à l’opposé des Three ways : Les principes qui sous-tendent DevOps. Certaines conséquences sont :

Que fait un ingénieur DevOps ?

Dans mon département, nous avions plusieurs équipes de développement. En outre, nous avions une équipe DevOps chargée de soutenir la livraison du code au département qui gère l’infrastructure sur site. Mon équipe avait déjà mis en place un pipeline CI/CD qui lui a permis de réduire le temps de déploiement d’un week-end à 40 minutes. Malgré cette réussite, les choses restaient confuses du point de vue DevOps.

Par exemple, après mon onboarding, j’ai reçu mon premier ticket dans notre help desk. On m’a demandé de créer un dépôt (de code) git. J’ai donc commencé à poser des questions sur le flux de travail, la stratégie de branchement, etc. Mais on m’a gentiment conseillé de dupliquer le modèle. J’étais perplexe car lors de mon expérience précédente en tant que développeur, la gestion du dépôt de code faisait partie de mon travail. Quelques minutes plus tard, j’ai reçu un autre ticket pour créer un pipeline de construction. J’ai alors commencé à poser des questions sur le SDK, la stratégie de test, les exigences de déploiement, etc. Mais on m’a une nouvelle fois conseillé de dupliquer à nouveau le modèle. Après ces événements, je me suis demandé « pourquoi ils avaient engagé un ingénieur DevOps pour dupliquer les modèles ? »

Visuel 1 Software Product Engineering DevOps Article Positive Thinking Company FR

Comment faire du DevOps lorsque l’entreprise n’en fait pas ?

Pour commencer à contribuer à une organisation plus DevOps et améliorer la livraison de logiciels, nous avons identifié trois priorités clés :

  1. Premièrement, responsabiliser les équipes de développement. 
    Pour relever ce défi, nous avons commencé par nous positionner comme un facilitateur, en nous efforçant de réduire notre implication dans le processus de livraison. Par exemple, nous ne créons plus de dépôts de code ou de pipelines CI/CD. Au lieu de cela, nous assurons la gouvernance, la formation et l’accompagnement, afin que les développeurs soient en mesure d’utiliser ces outils de manière autonome.
  2. Ensuite, encourager et soutenir les apprentissages.
    Nous avons créé une communauté DevOps au sein du département informatique pour partager et apprendre autour de nos valeurs DevOps fondamentales « qualité, vélocité, livraison ». Cette communauté a permis d’améliorer les relations entre les différentes équipes de l’organisation. Ainsi, nous avons pu créer et conduire des améliorations transversales qui ont donné lieu à des habitudes de collaboration.
  3. Enfin, contribuer à une transformation plus large.
    Nous avons également commencé à contribuer à un programme de transformation plus large autour de la chaîne de valeur afin de créer une visibilité sur le flux du changement et d’assurer un alignement de notre contribution avec la stratégie de l’entreprise.

Découvrez d’autres idées pour mettre en place du DevOps dans votre équipes.

Quel outil utiliser pour faire du DevOps : Platform as a Service (PaaS)*

La prochaine grande étape de notre transformation DevOps a été l’occasion de migrer une partie de nos services vers un cloud public et d’expérimenter le concept de PaaS pour les ingénieurs. L’idée est d’accroître l’autonomie des équipes et de réduire les frais de collaboration en standardisant l’interface de collaboration. Concrètement, notre équipe chargée du cloud a fait un excellent travail en fournissant des services standard aux développeurs sur Azure DevOps et AKS. Cela a permis aux développeurs de gérer le déploiement de leurs services en tant que code et de réduire la complexité de l’orchestration des conteneurs sur Kubernetes.

* Plateforme en tant que Service

Visuel 3 Software Product Engineering DevOps Article Positive Thinking Company FR

Les défis du cycle de vie DevOps

Il y a encore quelques défis dans notre transformation DevOps.

D‘une organisation silotée à une organisation DevOps

Nous sommes passés d’une organisation silotée à une organisation capable de collaborer, créatrice de valeur, exploitant les meilleures pratiques DevOps et la Paas.

De plus, cette transformation DevOps a été possible car elle s’inscrivait dans un programme de transformation plus large. Je tiens à remercier mes managers pour leur confiance et leur investissement personnel dans cette transformation qui était une aventure et une expérience humaine.

Découvrez les autres contenus de l’Expertise Software Product Engineering