Innovation et résilience : naviguer les défis DevOps stratégiquement en 2024

Comment aborder les défis DevOps en 2024

Par Gologic, en collaboration avec Alexandre Couëdelo.

Le début de l’année apporte souvent un sentiment de renouveau et d’opportunité, il est donc toujours bon de faire un pronostic sur l’année à venir. Quelles nouvelles technologies attendons-nous ? Quels nouveaux outils la nouvelle année nous apporte-t-elle ? Que souhaitons-nous ajouter à notre arsenal ? Laissons derrière nous la période festive et regardons vers l’avenir avec un mélange d’anticipation et de prudence.

En effet, c’est un moment important pour la prévoyance et la préparation dans un climat, cette année, plus difficile. Les organisations du secteur des TI, en raison du contexte économique, sont obligées de maintenir leur efficacité, voire de l’améliorer, malgré des ressources plus limitées.

Dans ce contexte, nous avons identifié trois défis DevOps auxquels les équipes et responsables TI seront probablement confrontés en 2024. À savoir : optimiser les coûts d’infrastructure, garantir la satisfaction des utilisateurs avec une approche proactive plutôt que réactive (observer intelligemment plutôt qu’éteindre des feux pour maintenir l’image de marque) et résoudre la dette technique pour disposer d’un portefeuille d’applications à jour et sécurisé.

Dans cet article, nous examinons chacun de ces défis DevOps pour vous fournir des orientations pour surmonter l’année 2024.

Défi DevOps 1 — « Optimisation »

Les entreprises sont confrontées à des défis qui nécessitent d’optimiser leurs opérations et de réduire leurs coûts en raison des difficultés économiques, caractérisées par les réductions d’effectifs et les pressions sur les coûts. Nos collaborateurs ont remarqué que 2023 a été marquée par un changement de focus, « Moins de développement, plus d’opérations », afin de maximiser l’efficacité et la stabilité des systèmes déjà en place (voir notre rétrospective 2023).

FinOps et « Smart Spending »

Dans ce contexte, l’importance de FinOps est grandissante. FinOps étend les principes de DevOps tels que l’agilité et la livraison continue à la gouvernance financière, en se concentrant sur la budgétisation (Fin) et l’optimisation des coûts d’opération (Ops). FinOps faisait déjà partie de nos tendances à suivre pour janvier 2023. Cependant, de nombreuses entreprises l’ont ignoré, car la science des données et l’analyse des coûts sont souvent allouées à d’autres domaines.

Les entreprises ont maintenant besoin de plus de données et de promouvoir une culture de « Smart Spending » comme le suggère Gartner dans Deliver IT Strategic Cost Optimization Through Smart Spending. Dans le cadre de la FinOps, la gestion des coûts de l’infrastructure cloud est une responsabilité partagée, et les dirigeants TI doivent :

  1. Sensibiliser à propos des « Smart Spending ». Cela signifie la transparence et la disponibilité des données de coûts.
  2. Identifier de nouveaux comportements nécessaires pour l’optimisation des coûts. Cela signifie définir ce que nous attendons des architectes de solutions et des équipes produits en matière de coûts et de budget.
  3. Renforcer les comportements de « Smart Spending » au sein des équipes TI. Cela signifie reconnaître les progrès, combler les lacunes de connaissances et établir des rituels pour renforcer les nouveaux comportements.

On-premise et la tentation du cloud hybride

Parmi les décisions financières importantes pour 2024, la tentation visant à économiser des coûts en revenant à une infrastructure sur site (on-prem) est en croissance.

Nous attendons un débat enflammé sur le sujet du cloud vs on-premise vs hybride.

La véritable valeur du cloud computing réside dans sa flexibilité, réduisant drastiquement le temps de mise en marché de nombreuses solutions, comme le souligne le rapport State of DevOps 2023. Sans compter que les fournisseurs cloud ont travaillé fort pour séduire les entreprises avec une intégration facile (outils, SDK, IaC, etc.) et une orchestration aisée.

Fait intéressant, 30 % des entreprises interrogées (rapport State of DevOps 2023) utilisent un modèle hybride, combinant des clouds publics et privés. Cette approche nécessite des outils avancés capables de gérer de manière transparente des environnements aussi complexes. Ces outils existent et s’améliorent de plus en plus. Cependant, le cloud hybride exige une équipe d’infrastructure hautement qualifiée et disponible pour exploiter efficacement son potentiel.

Une tendance qui influence considérablement cette décision (cloud vs on-premise vs hybride) est l’exigence plus stricte en matière de localisation des données utilisateur. Les organisations peuvent envisager de passer à un modèle où les données utilisateur sont stockées au niveau de l’« edge » (plus près de l’utilisateur) au lieu d’utiliser des régions centralisées afin de garantir la sécurité et se conformer aux autorités locales.

Défi DevOps 2 — « Satisfaction »

La satisfaction est un facteur crucial pour favoriser la rétention et l’acquisition d’utilisateurs. Le défi est de maintenir le niveau de fiabilité et de confiance des utilisateurs élevé, car à l’inverse, des systèmes instables ou des expériences passables peuvent avoir un impact négatif sur la réputation de la marque, entraîner des pertes d’utilisateurs élevées, ce qui entrave la stabilité financière. Quelque chose que nous ne pouvons pas nous permettre dans le contexte financier actuel.

Stabilité et fiabilité

Être proactif plutôt que réactif pour améliorer le service client et l’efficacité du développement est le nouveau mot d’ordre pour 2024.

Une grande partie de « l’héritage » d’observabilité et de surveillance vient des premiers jours des opérations TI. À cette époque, les opérateurs se concentraient principalement sur la « santé technique du système » plutôt que sur « le bonheur des utilisateurs ». Cela était dû à leur connaissance cloisonnée/limitée du fonctionnement réel du système. Avec DevOps, le mantra « You build it, you run it » est apparu, mais les pratiques d’observabilité ne se sont pas complètement adaptées. Principalement, l’observabilité des applications est liée à des frameworks obsolètes tels que RED or USE.

La surveillance proactive nécessite une meilleure planification et conception pour développer des applications plus stables et fiables qui fournissent des métriques sur le cheminement et l’expérience de l’utilisateur.

We define reliability as the extent to which a service meets its stated goals for measures like availability, performance, and correctness. (State of DevOps Report 2023)

Définir des objectifs pour une application avant sa mise en production, ainsi que collecter des indicateurs centrés sur l’utilisateur sont des éléments clés pour être proactif. De cette manière, nous pouvons surveiller les variations et la dégradation de l’expérience de l’utilisateur, évaluer clairement l’impact en cas d’incident et agir de manière préventive pour maintenir le système au-dessus des objectifs fixés.

Aujourd’hui, l’approche principale en matière de surveillance proactive est le Site Reliability Engineering (SRE). Le cadre qu’elle promeut, SLI/SLO, est spécifiquement conçu à cette fin. De plus, cette année, on peut imaginer des outils d’observabilité pilotés par l’IA, mais une adoption généralisée n’est pas attendue pour le moment.

Sécurité et confiance

Le rôle de la sécurité dans la livraison de logiciels, en particulier grâce aux pratiques DevSecOps, est essentiel pour maintenir la confiance des clients et protéger les données sensibles. Les utilisateurs n’ont jamais été aussi préoccupés par leur vie privée et la sécurité de leurs données, et les régulateurs n’ont jamais été aussi stricts avec les entreprises qui négligent leur devoir. La brèche de données de Desjardins en 2019 nous rappelle les potentielles conséquences de lacunes en matière de sécurité (201 millions de dollars pour régler un recours collectif, selon CBC).

Dans le cadre de l’approche DevSecOps, la sécurité est une responsabilité partagée et intègre la livraison de logiciels pour assurer la confiance des clients et la protection de leurs données. Les entreprises adoptant cette approche doivent se concentrer sur :

  1. Intégrer la sécurité le plus tôt dans le processus : intégrer les pratiques de sécurité dès le début du cycle de développement, plutôt que comme une réflexion après coup.
  2. Fournir des formations : offrir des formations régulièrement et des mises à jour sur les dernières pratiques et menaces en matière de sécurité.
  3. Mettre en place des outils de sécurité automatisés : utiliser des outils de test et de surveillance de sécurité tout au long du cycle de développement.

Défi DevOps 3 — « Modernisation »

À mesure que les applications évoluent, le défi est de bien gérer la dette technique afin de garantir que les systèmes restent efficaces et faciles à entretenir. Chaque année, nous constatons les conséquences de la dette technique qui nous ralentit, mais avec le paysage des technologies en évolution constante, il nous semble que nous ne voyons jamais la fin. Cependant, cette année, nous serons peut-être mieux équipés que jamais.

Gestion de la dette technique « legacy » la dette technique « legacy », ou l’accumulation de pratiques et de technologies dépassées, nécessite des efforts dédiés pour rectifier le tir. Avec ce type de dette, le défi consiste à rechercher de nouvelles solutions et à donner du temps aux équipes pour expérimenter.

Encouragez les développeurs à être curieux et à explorer de nouvelles idées, offrez des opportunités de partage de connaissances grâce à des activités telles que des sessions « lunch-and-learn » ou des hackathons. Encouragez les individus à rechercher de nouvelles technologies et à partager leurs apprentissages à travers des blogues, des vidéos ou des présentations.

Le paysage technologique est très vaste, et vous avez besoin de tout le monde pour explorer l’écosystème Cloud Native. Beaucoup de solutions existent déjà, et rafraîchir votre écosystème pour résoudre un problème pourrait être plus facile que vous ne le pensez. Un bon point de départ est le CNCF Landscape qui répertorie plus d’un millier de solutions dans différentes catégories.

Modernisation « progressive »

Nous avons gardé le meilleur pour la fin. La modernisation « progressive » découle des activités de développement quotidiennes. Ces petites améliorations en continu sont beaucoup plus gérables que la dette technique (legacy), mais c’est l’accumulation de petites dettes au fil du temps qui est la véritable menace.

Heureusement, l’écosystème regorge de solutions qui luttent pour améliorer le code en continu. Des outils tels que Renovate ou SonarQube sont excellents pour identifier des petits problèmes, permettant aux équipes de les résoudre de manière systématique. Mais nous pouvons faire encore mieux avec les outils d’IA et les assistants aux codes tels que GitHub Copilot, Tabnine, ou Openrewrite. Nous sommes à la frontière d’un potentiel de bond de productivité avec la génération de code automatisé, la génération de tests automatisée et le « refactoring » automatisé.

Ces outils aideront à maintenir les applications à jour et sécurisées, empêchant l’accumulation de nouvelles dettes techniques. Le véritable défi consistera à choisir le bon outil et à apprendre à l’utiliser correctement.

Conclusion

En conclusion, alors que nous entrons en 2024, les gestionnaires TI et leurs équipes devront faire face à plusieurs défis dans le paysage DevOps :

  • Optimiser les coûts d’infrastructure. Cela nécessite de sensibiliser aux « smart spendings » et d’identifier de nouveaux comportements pour optimiser les coûts. De plus, les organisations doivent résister à la tentation de revenir à une infrastructure sur site (on-prem) et plutôt tirer parti de la flexibilité et des avantages de l’infonuagique.
  • Assurer la satisfaction des utilisateurs. Être proactif dans l’amélioration de la qualité de service et de l’efficacité du développement est essentiel. En fixant des objectifs pour les applications avant leur mise en production et en collectant des données centrées sur l’utilisateur, les organisations peuvent surveiller et évaluer l’expérience utilisateur afin de maintenir un niveau élevé de satisfaction.
  • Remédier à la dette technique. En se concentrant sur la dette technique legacy et la dette technique « progressive », les organisations doivent encourager le partage des connaissances et l’exploration de nouvelles solutions. Notamment, tirer parti d’outils « intelligents » qui aident à identifier et à remédier systématiquement à la dette technique.

Dans l’ensemble, surmonter ces défis en 2024 devrait conduire à un portefeuille d’applications plus efficace et sécurisé.

Par Gologic, en collaboration avec Alexandre Couëdelo.

Suivez-nous et partagez

Laisser un commentaire