Pour être compétitives, les entreprises n’ont pas d’autre choix que de prendre le virage digital et d’optimiser l’expérience client. Le Cloud est un allié incontestable pour plus de flexibilité et de réactivité mais s’accompagne de son lot de complexités.

Dans ce contexte, l’organisation en silo s’avère totalement dépassé. A l’ère de la transformation digitale, il est nécessaire de :

  • faire évoluer les processus, la culture et les organisations,
  • mutualiser les ressources,
  • sélectionner l’outillage le plus adapté,

avec un objectif commun, produire plus vite des applications qui répondent le mieux possible aux besoins du client.

C’est ce qui explique l’émergence de la démarche DevOps notamment dans les startups, les petites structures, mais aussi certains services de grandes structures.

S’il est compliqué de ré-imaginer des architectures pour optimiser le système d’information, faire évoluer les mentalités est peut-être un obstacle plus grand encore.

Ce qui n’est déjà pas simple pour une startup, l’est encore moins pour une grosse structure dans laquelle les habitudes sont bien ancrées et depuis longtemps, mais c’est possible.

Mettre en œuvre le DevOps « à l’échelle » est un véritable challenge. Il y a souvent deux chemins envisagés : celui qui favorise les initiatives DevOps distribuées, mais avec une gouvernance globale oubliée et celui qui met en place une équipe DevOps centralisée, garante d’un support transverse, mais avec un risque de goulot d’étranglement. Le meilleur chemin est sans doute entre les deux…

selon Micaël, expert DevOps chez SoftFluent

Quelles méthodes, pratiques et outils choisir pour le mettre en place au sein de grandes organisations ?

Bien se préparer en amont

Tout le monde a sa propre vision du DevOps et chacun est capable d’en donner une définition. Micaël est convaincu que le succès passe par la pédagogie et la vulgarisation.

Dans le cadre d’une mise à l’échelle, plus encore que dans le contexte d’une startup, partager un langage et des objectifs devient hyper stratégique. Cet enjeu, qui peut prendre du temps, est un gage de réussite à la mise en œuvre du DevOps à l’échelle. C’est pendant cette première étape que chacun est invité à lire, se documenter, faire évoluer sa mentalité et son comportement, dans le cadre d’une vision renouvelée qui doit obligatoirement être portée par la direction.

Mettre en place une gestion des pipelines

La mise en place d’une gestion des pipelines est devenue la norme pour découper les projets par étape et devient encore plus essentielle à mesure que le nombre d’outils que vous utilisez augmente.

Le pipeline de build est un ensemble de tâches pour notamment charger les sources du projet, restaurer les dépendances, générer le projet, exécuter les tests unitaires et, enfin, produire une version qui pourra être déployée dans l’environnement d’exécution.

Une fois le pipeline créé et configuré, vous pouvez l’utiliser pour déployer, configurer et tester un serveur DNS et ses enregistrements d’hôte associés. Ce processus simule la première partie d’un pipeline qui sera utilisée dans un environnement de développement.

Un pipeline CI/CD automatisé vous permet de mettre à jour les logiciels avec plus de rapidité et de fiabilité, garantissant que tout le code est testé et qu’une version actualisée du code est disponible à tout moment.

Lors de la mise en oeuvre de pipelines, il est important de s’interroger sur leur déclenchement. Même s’il faut automatiser le plus possible, il faut aussi donner la liberté aux développeurs de tester, dans une mesure raisonnable, le code de leur branche de fonctionnalité en passant par l’exécution d’un pipeline de build.

selon Micaël

Standardiser les 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.

Au-delà de la standardisation, il est important d’avoir un outillage dont on a le moins possible à se préoccuper en termes de maintenance et d’évolution. Azure DevOps, comme plateforme hébergée en mode SaaS répond pleinement à cet objectif.

Intégrer l’automatisation

En automatisant 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.

comme l’explique Micaël

Accélérer la transformation culturelle

Les principaux obstacles à l’adoption de DevOps 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.

Il faut embarquer les équipes sur un projet commun, montrer l’exemple, commencer par de petits projets qui génèreront de petits succès encourageants, favoriser les équipes plus petites pour qu’elles trouvent les solutions et se les approprient, encourager l’apprentissage…

Micaël est convaincu que le principal défi du DevOps est celui de la conduite du changement et que c’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. 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.

 

Vous l’aurez compris, les pratiques DevOps sont non seulement à prendre en considération mais aussi et surtout doivent être mises en application.

Alors que de plus en plus d’entreprises progressent dans leur transformation digitale, elles ont besoin de méthodologies comme l’agilité et le DevOps pour gérer la complexité accrue. Les outils et l’automatisation peuvent améliorer les performances organisationnelles pour atteindre les objectifs suivants :

  • Améliorer le délai de mise en production, créer de la valeur, réduire les coûts informatiques et mieux répondre aux besoins métiers. En proposant une expérience client différenciée et optimisée, non seulement vous fidélisez vos clients mais vous avez également le potentiel de séduire de nouveaux clients.
  • Adopter un cercle vertueux. Les mises à jour fréquentes préviennent des petites erreurs, les équipes IT, ingénierie et qualité sont motivées pour travailler ensemble dans la même direction et sont donc plus efficaces. Les méthodes DevOps accroissent l’efficacité, minimisent les risques et concentrent les ressources sur des activités à plus forte valeur ajoutée.
  • S’assurer du maintien de la qualité en permanence. L’automatisation et la pratique de tests menée en continu permet une mise à disposition des logiciels plus rapide, plus efficace et plus fiable avec une qualité de service en temps réel ! Un avantage concurrentiel particulièrement appréciable dans un contexte ultra compétitif, qui impose un rythme d’évolution des applications effréné.

Comme pour n’importe quelle résistance au changement, une approche pédagogique permet de présenter les bénéfices d’une telle démarche et de convaincre de l’intérêt dans sa mise en place dont les avantages sont incontestables.

Cet aspect pédagogique peut être porté par un ou plusieurs ambassadeurs au sein de l’entreprise mais peut également être délégué à un intervenant extérieur.

Un expert DevOps qui a pu suivre de nombreuses équipes dans divers contextes pourra vous proposer les meilleures solutions par rapport à votre problématique et apporter un regard externe objectif et factuel plus à même d’écarter les réticences souvent basées sur de l’émotionnel.

Chez SoftFluent, les 3 facteurs que sont l’automatisation des développements avec SoftFluent CodeModeler, l’amélioration de la qualité avec les pratiques de test logiciel et l’humain et notamment les méthodes agiles sont dans nos gènes depuis la création.

En tant qu’expert en développement informatique et Partenaire Microsoft Gold DevOps, SoftFluent peut vous accompagner de manière proactive et pragmatique dans la mise en place d’une démarche DevOps.

Nous disposons de connaissances sur de nombreux outils du marché, incluant par exemple Team Foundation Server et sa version cloud Azure DevOps Services.

Pour en savoir plus, contactez-nous