🧑‍🔧

Comment mettre en place le DevSecOps dans son entreprise ?

Do not index
Do not index
Primary Keyword
Lié à Analyse sémantique (Articles liés) 1
Lié à Analyse sémantique (Articles liés)
Statut rédaction
A améliorer
Lié à Analyse sémantique (Articles liés) 2
Le DevOps permet de gĂ©rer le cycle de vie des applications Ă  travers l’automatisation des processus et l’étroite collaboration entre les Ă©quipes de dĂ©veloppement et les Ă©quipes des opĂ©rations.
Etant avant tout une culture, mettre en place DevOps sur ses projets peut sembler trĂšs complexe au premier abord.
Dans cet article, nous vous exposons les étapes à suivre pour assurer le succÚs de votre démarche.

1. Obtenir le soutien de la direction et de ses Ă©quipes

Le spectre d’action d’une approche DevOps est large dans une Direction des Services d’Informations. À tous les niveaux, il y a une conduite du changement Ă  opĂ©rer pour obtenir un processus DevOps efficient qui va permettre de rĂ©duire les temps de livraison et d’amĂ©liorer la qualitĂ© de service.
Le niveau d’implication qu’impose la comprĂ©hension et la mise en Ɠuvre d’une dĂ©marche DevOps ne doit pas ĂȘtre sous-estimĂ©. Cette mise en Ɠuvre, pour les changements qu’elle apporte au sein de l’entreprise, demande toujours du temps. Elle doit donc faire l’objet d’un vrai projet d’entreprise, supportĂ© et soutenu par la direction et les responsables d’équipe.
On parle des Ă©quipes de dĂ©veloppement et des opĂ©rations, mais pas seulement. Il s’agit de se tourner Ă©galement vers les Ă©quipes mĂ©tier, qui ont beaucoup Ă  gagner de ce changement.
De ce fait, la direction doit concevoir l’organisation la plus adaptĂ©e et soutenir les Ă©quipes dans la transition vers ce mode de fonctionnement.
Le facteur clĂ© du succĂšs vient toujours de lĂ . On obtient le rĂ©sultat des moyens qu’on s’est donnĂ©.
Il ne faut pas oublier qu’une dĂ©marche DevOps ouvre la communication de bout en bout, du dĂ©veloppeur vers l’utilisateur final (le client) avec la prise en compte de l’aspect fonctionnement du logiciel (disponibilitĂ©, charge, engagement de qualitĂ©, etc 
).

2. Evaluer sa maturité

L’approche CALMS agit comme cadre pour un DevOps rĂ©ussi. Pour cela, le modĂšle original CAMS amĂšne les entreprises Ă  Ă©valuer leur maturitĂ© sur quatre aspects essentiels du DevOps : Culture, Automation, Measurement, Sharing. Par la suite, il Ă©voluera en CALMS pour intĂ©grer une autre dimension: Lean. Une volontĂ© d’amĂ©lioration continue qui a toute sa place en DevOps.
Ainsi, en Ă©valuant sa situation Ă  un instant T, il permet par la suite de mieux comprendre le chemin qu’il reste Ă  parcourir et, au regard de ce qui a Ă©tĂ© expliquĂ© plus haut, de se fixer des objectifs raisonnables et atteignables.
Pour mieux comprendre son intĂ©rĂȘt et comment l’utiliser, nous vous proposons cet article dĂ©diĂ© à l’implĂ©mentation du DevOps avec CALMS.

3. Fixer des objectifs SMART

DevOps a su s’imposer dans les entreprises pour ses vertus business. Comme pour tout investissement, la mise en place d’objectifs SMART est Ă  faire en amont afin de pouvoir valider le ROI de la dĂ©marche ainsi que les KPI de mesure.
Ces objectifs doivent ĂȘtre SpĂ©cifiques, Mesurables, Atteignables, RĂ©alisables et Temporellement finis. De cette façon, vous pourrez adapter et prioriser les actions Ă  mettre en place en fonction de vos enjeux business (time to market, stabilitĂ©, sĂ©curité ).
Les objectifs sont généralement classés dans ces 4 grandes catégories :
  • Satisfaction client / utilisateur
  • ProductivitĂ©
  • QualitĂ©
  • Satisfaction collaborateur
Afin de permettre Ă  vos Ops et Ă  vos dĂ©veloppeurs de travailler ensemble, il est imporant de leur fixer des objectifs communs. Cela crĂ©e un cercle vertueux oĂč les rĂ©ussites des uns sont les rĂ©ussites des autres, et oĂč tout le monde a intĂ©rĂȘt Ă  collaborer. Il faut alors fixer des objectifs avec 2 mesures, une venant des objectifs “naturels” des dĂ©veloppeurs, et l’une venant du monde des Ops.
Prenons un exemple, si vous fixez un objectif orientĂ© Ops, du type “la plateforme doit ĂȘtre disponible Ă  99,9%”, vous pouvez ĂȘtre certain que vos Ops vont partir en croisade contre les dĂ©veloppeurs, ce qui impactera votre capacitĂ© Ă  mettre en production rapidement.
Au contraire si vous fixez un objectif de delivery, vous obtiendrez le processus inverse avec une obsession de la livraison chez les développeurs qui rendra la vie de vos Ops infernale.
Voici un exemple d’objectif SMART : 1 mise en production par semaine avec 0 downtime de l’application

4. Instaurer une culture DevSecOps forte dans l'entreprise

Les principaux obstacles Ă  l’adoption de DevSecOps ne sont pas tant d’ordre technique qu’opĂ©rationnel. Les organisations en silos, le manque de coopĂ©ration et de communication entre les Ă©quipes, le manque de transparence du management constituent les principaux freins Ă  l’adoption de DevOps Ă  l’échelle de l’entreprise.
La dĂ©marche DevOps fait peur parce qu’elle s’accompagne d’une grande phase de changements culturels et organisationnels liĂ©s aux processus existants et nĂ©cessite des compĂ©tences pointues. Pour une mise en Ɠuvre Ă  grande Ă©chelle, DevOps exige un changement radical de l’état d’esprit dans l’ensemble de l’entreprise. Instaurer une dynamique d’équipe est un facteur dĂ©terminant pour l’adoption de DevOps.
Embarquer les Ă©quipes sur des projets commun, commencer par de petits projets qui gĂ©nĂšreront de petits succĂšs encourageants et favoriser l’apprentissage est bon moyen de garantir une culture DevOps forte dans l’entreprise.
Le principal dĂ©fi du DevOps est celui de la conduite du changement. Cela est d’autant plus vrai lorsqu’il s’agit de le dĂ©ployer Ă  l’échelle. De nombreux obstacles peuvent s’y opposer : des locaux mal conçus ou mal amĂ©nagĂ©s, des services ou des sites Ă©loignĂ©s, parfois dans des pays diffĂ©rents
 Tout cela contribue Ă  sĂ©parer les Ă©quipes.
Vous l’aurez compris, les pratiques DevOps sont non seulement Ă  prendre en considĂ©ration mais aussi et surtout doivent ĂȘtre mises en application.

Faciliter et cadrer la collaboration entre les Ă©quipes

Le premier point important Ă  mettre en place, c’est la communication. Pour mettre en place une dĂ©marche d’amĂ©lioration continue il faut prĂ©voir des discussions oĂč chacun expose ses points bloquants pour avancer sur le projet.
La conception d’une nouvelle feature ou de l’ajout d’une nouvelle technologie doit faire l’objet d’une concertation en amont entre dĂ©veloppeurs et Ops.
Pour le faire proprement, ce workshop doit ĂȘtre pris en compte dans les sprints des 2 Ă©quipes sous la forme d’un ticket estimĂ©. Sinon vous avez toutes les chances que ce soit fait Ă  la va vite entre 2 features, et vous le paierez aprĂšs.
Il est important d’en finir avec les demandes “informelles”. Demander Ă  un collĂšgue de lui donner un coup de main autour de la machine Ă  cafĂ© c’est bien, mais cela gĂ©nĂšre de la charge non prĂ©vu et peut donc impacter tous les cycles de livraison des projets.

Sensibiliser les Ă©quipes de Dev et Ops

Chaque Ă©quipe doit connaĂźtre l’impact du travail de son Ă©quipe sur le business et les utilisateurs. Si l’on reprend le premier exemple du t-shirt et des soldes, un site e-commerce peut perdre jusqu’à 30 000 euros sur une matinĂ©e de soldes si le site ne rĂ©pond plus. En ayant cette information, les Devs valoriseront mieux le travail des Ă©quipes opĂ©rationnelles.
En interne, pour une bonne partie de ses tĂąches, une Ă©quipe Ops a des “clients”.
Il est important de sensibiliser les équipes à la culture du service client :
  • Comprendre les problĂšmes des dĂ©veloppeurs
  • Adapter les solutions Ă  leurs besoins
  • Prendre en compte leurs feedbacks
Cela nĂ©cessite une vraie dose d’humilitĂ©, et c’est un changement d’état d’esprit qui sera trĂšs difficile Ă  mettre en place dans bon nombre d’entreprises oĂč la culture DevOps n’est pas encore bien implĂ©mentĂ©e. Il ne faut pas non plus tomber dans un mode de communication dictatorial et malsain oĂč les dĂ©veloppeurs se servent de cette Ă©tiquette de “client” pour dominer l’équipe Ops. Mais dĂ©velopper une culture du service et de la satisfaction client dans votre Ă©quipe Ops vous permettra d’amĂ©liorer la qualitĂ©, la vitesse de vos livraisons, et la communication entre vos Ops et vos dĂ©veloppeurs.

Automatiser au maximum

Dans la culture DevOps, si vous automatisez vous gagnerez en efficacitĂ© et en rapiditĂ©. L’enjeu est Ă©galement de rĂ©duire l’intervention humaine sur les tĂąches rĂ©pĂ©titives pour limiter les risques d’erreurs et, surtout, de permettre aux dĂ©veloppeurs de se focaliser sur des tĂąches Ă  plus haute valeur ajoutĂ©e.
Des outils d’automatisation permettent de dĂ©ployer des processus rĂ©pĂ©tables, afin de dĂ©charger les collaborateurs de tĂąches rĂ©currentes et d’aller plus vite.
En automatisant ce qui cause le plus de douleurs, non seulement vous gagnerez en efficacitĂ© mais surtout vous rassurerez l’équipe. La peur liĂ©e Ă  l’automatisation se transforme alors en source de motivation.
L’objectif de l’automatisation est de crĂ©er Ă  la fois de la confiance et de l’indĂ©pendance. Avec l’automatisation, chacun devient serein, des mĂ©tiers jusqu’au dĂ©veloppeur. On peut mĂȘme aller, avec du temps et de l’investissement, jusqu’à un niveau d’accessibilitĂ© Ă  l’automatisation qui autorise n’importe quelle partie prenante Ă  dĂ©clencher un dĂ©ploiement en production.

Standardiser et utiliser les bons outils

La standardisation des outils permet de rĂ©duire la complexitĂ© et de gagner en sĂ©rĂ©nitĂ©. Des solutions Ă  la fois technologiques et pratiques existent notamment pour le contrĂŽle de version, la gestion de configuration, l’intĂ©gration continue, le dĂ©ploiement et le suivi. Azure DevOps, en l’occurrence, est une solution intĂ©grĂ©e qui donne accĂšs Ă  cet ensemble d’outils dĂ©diĂ©s aux mĂ©tiers du DevOps.
Il faut alors identifier les meilleures solutions Ă  mettre en Ɠuvre. Des Ă©vĂ©nements et des outils peuvent contribuer Ă  une belle installation du DevOps au sein de l’entreprise.
Au-delĂ  de la standardisation, il est important d’avoir un outillage dont on a le moins possible Ă  se prĂ©occuper en terme de maintenance et d’évolution. Azure DevOps, comme plateforme hĂ©bergĂ©e en mode SaaS rĂ©pond pleinement Ă  cet objectif.