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
1. Obtenir le soutien de la direction et de ses équipes2. Evaluer sa maturité3. Fixer des objectifs SMART4. Instaurer une culture DevSecOps forte dans l'entrepriseFaciliter et cadrer la collaboration entre les équipesSensibiliser les équipes de Dev et OpsAutomatiser au maximumStandardiser et utiliser les bons outils
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.