Skip to main content
Key Takeaways

Tendance ou Tradition ?: DevOps n'est plus une simple tendance de pointe, mais une manière de travailler bien ancrée dans les pratiques des développeurs et des professionnels de l'informatique. Cela marque son évolution d'une idée radicale à une méthodologie largement adoptée.

La philosophie DevOps: DevOps représente la fusion du développement et des opérations pour accélérer la livraison et améliorer la qualité des logiciels. Il s’appuie sur une culture de collaboration et d’évolution continue, avec pour objectif de démanteler les silos traditionnels.

L’évolution technologique soutient DevOps: L’essor de la conteneurisation, des écosystèmes cloud natifs et de l’Infrastructure as Code (IaC) a renforcé le mouvement DevOps, apportant plus d’agilité et d’efficacité dans les processus de développement et de déploiement logiciels.

La sécurité s’impose dans le processus: L’émergence de DevSecOps intègre la sécurité dès les premières phases du développement logiciel, soulignant ainsi l’importance de détecter les vulnérabilités en amont afin de minimiser les risques.

Culture et outils : un duo indissociable: Si DevOps tire grandement profit des avancées technologiques comme l’IA et le ML, son essence réside dans une culture positive axée sur les personnes, la collaboration et l’amélioration continue.

À partir de quand une tendance technologique cesse-t-elle d’être une tendance pour devenir une simple routine professionnelle ?

On pourrait passer du temps à débattre de ce point de bascule particulier – il n’y a pas de “bonne” réponse à cette question. Il suffit de dire que lorsque qu’une “tendance” entre bien dans sa deuxième décennie – comme c’est le cas pour la culture DevOps et ses pratiques – alors c’est simplement la méthode standard. (Selon la plupart des sources, le DevOps a commencé à prendre sa forme actuelle vers 2007.)

Dans notre Guide ultime du DevOps, voici comment nous avons défini ce terme : « Le DevOps est un ensemble de pratiques et de philosophies qui combine le développement logiciel (Dev) et les opérations informatiques (Ops), visant à raccourcir le cycle de vie du développement des systèmes et à fournir une livraison continue avec une grande qualité logicielle. C’est une approche qui met l’accent sur la collaboration, la communication et l’intégration entre les développeurs et les professionnels de l’informatique. »

À ses débuts, cela paraissait étrange et inquiétant – voire radical – pour certains professionnels de l’IT. Désormais, c’est si courant que c’en est presque banalisé. Dans le rapport de l'état du CI/CD de la CD Foundation, 83 % des développeurs ont déclaré participer à des activités liées au DevOps. Ce n’est pas tout le monde, mais on n’en est vraiment pas loin.

Cela dit, le DevOps – qui est autant une culture qu’un ensemble d’outils ou de processus particulier – est, de par sa nature, en évolution permanente.

Dans cet article, nous allons voir comment nous en sommes arrivés là – et comment le DevOps continue encore d’évoluer aujourd’hui. Tout d’abord, il est important de comprendre pourquoi le DevOps existe.

Pourquoi le DevOps est-il important ?

DevOps combine les domaines « développement » et « opérations » – deux piliers technologiques historiques.  L’objectif principal du DevOps est de favoriser une forte intégration entre ces deux composantes essentielles d’un système informatique, en mettant principalement l’accent sur la livraison continue et les tests de qualité du logiciel. Traditionnellement, ces fonctions étaient séparées et cloisonnées – ce qui engendrait des goulets d’étranglement, des retards de livraison, des problèmes de qualité, des accusations mutuelles (quand quelque chose tourne mal), des failles de sécurité, et d’autres soucis.

Le DevOps – à la fois le terme mais, plus important encore, en tant que culture et pratique – reflète le besoin pour les organisations logicielles de créer et livrer du code plus vite et plus fréquemment, sans compromis sur la qualité, la fiabilité ou la sécurité.

La croissance massive du DevOps au cours de la dernière décennie environ a croisé de nombreuses tendances technologiques connexes qui ont permis les pratiques DevOps et qui sont aussi issues des principes et de la culture DevOps. Parmi les facteurs les plus notables ayant conduit à ce stade, on retrouve :

Conteneurisation : Nous avons constaté une adoption accrue de Docker et autres outils pour la conteneurisation logicielle, ce qui a permis de rendre les applications portables entre différentes plateformes, comme diverses solutions de cloud public et privé (notamment Amazon Web Services, Microsoft Azure, et Google Cloud Platform) aussi bien que sur des infrastructures sur site.

Écosystème cloud-native : Nous avons assisté à une forte progression du développement d’applications cloud-native, qui garantit la montée en charge des infrastructures et services. Pour capturer l’ensemble du paysage cloud-native en un seul endroit, il vous faudrait un tableau blanc aussi grand qu’un panneau d’affichage – même dans un navigateur, il vous faudrait probablement faire défiler la page pour tout voir !

Cybersécurité : Si le DevOps s’est d’abord concentré sur une meilleure synergie entre développement et opérations, il a aussi mis en lumière la nécessité de donner la priorité à la sécurité dès les premières étapes du cycle de vie de développement logiciel (SDLC). Le DevSecOps est ainsi devenu une tendance importante, intégrant la sécurité au pipeline DevOps au lieu d’en faire une entité séparée. Cela permet une détection précoce des vulnérabilités, entre autres avantages, réduisant ainsi les risques et impacts en production.

Infrastructure as Code (IaC) : Le DevOps a fait de l’automatisation un pilier des environnements IT, et cette tendance s’est particulièrement illustrée dans la gestion de l’infrastructure ; traditionnellement très manuelle et répétitive, elle a bénéficié de l’arrivée de l’Infrastructure as Code (IaC), qui offre des mécanismes efficaces, fiables et reproductibles pour gérer l’infrastructure sur laquelle s’exécutent les applications.

Culture : Le DevOps n’a jamais eu pour unique vocation la technologie. Il visait avant tout à mettre l’humain au centre et à lui épargner des charges ou des irritants inutiles dans son travail. De ce fait, le DevOps a contribué à remettre en avant l’importance d’une culture de travail saine et non toxique, axée notamment sur la sécurité psychologique, les postmortems sans blâme, les incitations partagées, l’amélioration continue, et bien plus.

Intelligence artificielle et apprentissage automatique : Même si les grands modèles de langage (LLM) et la génération automatique attirent actuellement tous les regards, l’IA/ML n’a rien de nouveau. L’apprentissage automatique est déjà utilisé, notamment pour l’analyse prédictive, la détection d’erreurs et l’automatisation de processus dans divers contextes DevOps. 

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
By submitting you agree to receive occasional emails and acknowledge our Privacy Policy. You can unsubscribe at anytime.

Bien que la plupart des schémas mentionnés ci-dessus existent depuis un certain temps, cela ne signifie pas que le DevOps a stagné. Il semble aussi populaire que jamais – et toujours aussi recherché du point de vue du recrutement. Une récente recherche à l’échelle des États-Unis pour des postes d’ingénieur DevOps sur LinkedIn – un seul intitulé de poste parmi une multitude de rôles potentiellement pertinents – a produit près de 5 000 offres d’emploi ouvertes.

À mesure qu’il a mûri, le DevOps a continué d’évoluer. Examinons cinq des façons les plus visibles dont le DevOps ne cesse de changer.

1. Adoption généralisée de Kubernetes

À mesure que l’adoption des conteneurs s’est accélérée, il est rapidement devenu évident que les équipes DevOps avaient besoin d’une meilleure solution pour tout gérer. C’est là que Kubernetes est entré en scène, devenant la référence en orchestration de conteneurs et une plateforme commune (disponible sous de nombreuses distributions ou variantes) pour que les équipes puissent gérer leurs applications et leurs infrastructures.

« Kubernetes et les conteneurs ont permis aux équipes d’empaqueter tous les environnements nécessaires et d’exécuter leur code sur une plateforme standard afin que les équipes d’exploitation puissent se soucier uniquement de la santé de la plateforme Kubernetes », nous confie Vitor Avancini, CTO du cabinet de conseil en IA et données Indicium.

Kubernetes offre une infrastructure robuste d’automatisation, de réseau et de stockage pour les charges de travail cloud-native. C’est aussi ce qui a rendu plus réalisable l’une des promesses initiales de la conteneurisation – la capacité de déplacer des charges de travail entre différents environnements sans devoir essentiellement les reconstruire : « Cela a facilité la tâche de l’équipe d’exploitation pour dupliquer de nombreux environnements, car il n’est plus nécessaire d’avoir des environnements différents pour chaque pile applicative. »

Cela explique pourquoi environ deux tiers des organisations utilisent Kubernetes en production, selon l’enquête 2023 de la Cloud Native Computing Foundation, et 18 % supplémentaires l’évaluent actuellement pour un usage en production.

Outils DevOps utiles : Kubernetes (la distribution open source brute), ainsi qu’une large gamme de logiciels de gestion de conteneurs commerciaux et managés.

2. L’automatisation est omniprésente dans le DevOps

Kubernetes est l’exemple phare d’une tendance plus large qui a émergé aux premiers jours du DevOps : Automatiser tout. 

Ce qui a commencé comme un mème est en train de devenir réalité, dans la mesure où l’automatisation semble omniprésente dans les chaînes DevOps, CI/CD et GitOps — des analyses de sécurité aux revues QA, en passant par les tâches de création et de déploiement, l’application de politiques et bien plus encore. Cela se reflète aussi dans une multitude d’outils d’automatisation. Certains d’entre eux — notamment les outils low-code et no-code — ne nécessitent même pas de compétences en programmation.

« Les choses peuvent devenir chaotiques avec toute la liberté que le [DevOps] donne aux équipes, donc les outils d’[automatisation] peuvent jouer un rôle important pour maintenir l’organisation et la gouvernance », explique Avancini, en soulignant que les outils IaC comme Terraform continuent de jouer ici un rôle significatif.

Outils DevOps utiles : Terraform, Ansible

La priorisation est un défi très courant : les entreprises reportent souvent des tâches cloud critiques, telles que l’optimisation des bases de données et le développement de l’infrastructure, aux trimestres suivants, voire à l’année suivante. Les équipes DevOps sont désireuses de s’attaquer à ces problèmes, mais, une fois devant la liste, le volume des tâches rend souvent difficile la distinction des problèmes les plus prioritaires à forte valeur ajoutée.

 

C’est justement pour cela que Zesty s’est élargi pour devenir une plateforme proposant des informations exploitables, aidant les entreprises à prioriser et à appliquer efficacement en premier les correctifs les plus rentables. Pour prioriser efficacement ces tâches, les entreprises ont besoin d’une vision claire des investissements en temps et en argent nécessaires. Les plateformes qui automatisent ces processus sont inestimables, car elles permettent une meilleure prise de décision et une allocation optimale des ressources. Les équipes DevOps sont de plus en plus conscientes de la valeur ajoutée des plateformes grâce à l’automatisation, la visibilité et des recommandations actionnables.

aviram levy

3. L’architecture microservices est partout, elle aussi

L’architecture microservices – qui consiste essentiellement à décomposer des applications volumineuses en composants plus petits et indépendants, fonctionnant de manière autonome tout en collaborant à l’ensemble du système – n’est pas nouvelle. Toutefois, pendant de nombreuses années, cette approche n’a pas toujours été réaliste pour nombre d’organisations.

Aujourd’hui, les trois quarts (74 %) des entreprises utilisent les microservices, selon Gartner, et presque tous les autres (23 %) prévoient de les adopter prochainement.

« Les microservices ont permis aux équipes de choisir leurs propres piles d’outils, ce qui exigeait auparavant des équipes d’exploitation centrales la mise à disposition de différents environnements de test et de déploiement pour les équipes de développement », explique Avancini.

On peut lancer ici un débat du type “l’œuf ou la poule” car l’architecture microservices s'adapte naturellement aux conteneurs et à Kubernetes : la maturité des premiers a donc probablement encouragé l’adoption des seconds, tout comme la généralisation des technologies cloud-native et du développement associé. (Les applications entièrement nouvelles ou “greenfield” conçues aujourd’hui sont davantage développées pour des environnements cloud-natifs, avec les microservices comme option architecturale majeure.)

L’architecture microservices a également évolué de pair avec l’informatique serverless (ou architecture sans serveur). Ce sont des concepts distincts mais souvent liés : pour faire simple, les microservices relèvent d'une approche architecturale de la conception logicielle, tandis que le serverless concerne la façon dont ce logiciel est exécuté.

Outils DevOps utiles : Prometheus, Compass, AWS Fargate

4. L’ingénierie de plateforme, le nouveau DevOps (en quelque sorte)

Bon, le titre est un peu exagéré – l’ingénierie de plateforme et DevOps sont des disciplines différentes, mais leur relation ne cesse de se renforcer. Un exemple : le rapport emblématique State of DevOps de Puppet faisait figurer en sous-titre 2024 : « L’évolution de l’ingénierie de plateforme ».

L’ingénierie de plateforme consiste à construire des plateformes internes – en mettant fortement l’accent sur le self-service – pour que les développeurs et autres professionnels de la tech disposent de tout ce dont ils ont besoin pour créer des applications et des services. Comme avec DevOps, on retrouve un fort accent sur l’automatisation de l’infrastructure, sur la standardisation des chaînes d’outils et des flux de travail, etc. Par exemple, la création d'un environnement de développement ou de test ne devrait pas nécessiter l’ouverture d’un ticket auprès d'une équipe d’infrastructure séparée.

« [Une] grande tendance est l’ingénierie de plateforme, qui va fournir des outils et des pratiques pour que les équipes de développement puissent non seulement développer mais aussi tester, surveiller et revenir facilement en arrière sur des applications », explique Avancini, et ce, de façon unifiée, cohérente, et sans solliciter constamment les équipes d’exploitation pour les ressources et services nécessaires.

Avancini note qu’il y a également une tendance générale au sein de DevOps vers la centralisation des processus – ce qui peut sembler contre-intuitif, étant donné le développement organique de nombreuses cultures DevOps. Mais l’ingénierie de plateforme peut s’interpréter ainsi : DevOps ne rime pas avec anarchie. Les développeurs et autres professionnels IT ont toujours besoin d’outils, d’infrastructure et – oui – de garde-fous.

Vous rencontrerez aussi parfois les termes Plateforme de Développement Interne (IDP) et Environnement de Développement Intégré (IDE) dans ce contexte.

Outils DevOps utiles : Kubernetes, Humanitec

5. L'IA Jouera un Rôle Croissant dans le DevOps

Les applications émergentes de l’IA – représentées récemment par la nouvelle génération d’applications d’IA générative, fondées sur les LLM, qui captivent actuellement l’attention – trouveront sans doute également leur place dans les processus et chaînes d’outils DevOps. Il existe même un terme pour cette union : AIOps.

La façon la plus simple de comprendre où l’IA sera utile est sans doute d’adopter le point de vue plus large de l’automatisation : si quelque chose peut être automatisé, ou si l’intelligence et les efforts humains peuvent être exploités d’une manière ou d’une autre, l’IA pourrait (et probablement va) jouer un rôle.

« L’assistance par l’IA jouera un rôle important dans le DevOps principalement pour l’assistance à la relecture de code, l’analyse de la qualité et de la sécurité du code, et la description automatique de tous les effets que de nouveaux codes pourraient avoir lors de leur déploiement », explique Avancini.

Il existe d’ailleurs une longue liste de cas d’utilisation potentiels, dont beaucoup continuent d’émerger aujourd’hui. Attendez-vous à ce que l’automatisation de la productivité des développeurs et de la sécurité soit deux des grands axes d’attention dans un avenir proche.

Outils DevOps à Connaître : GitHub Copilot 

Conclusion

La culture DevOps et ses pratiques ont résisté à l’épreuve du temps – mais cela ne signifie pas qu’elles sont figées. Quelles sont les dernières tendances DevOps dans votre organisation ? Comment voyez-vous l’évolution du DevOps dans les prochaines années ? Abonnez-vous à la newsletter du CTO Club pour encore plus d’actualités et de débats sur le secteur !