La pandémie de COVID-19 a mis en lumière le besoin stratégique et impérieux pour les petites et grandes entreprises d’accélérer leur mutation numérique. Le digital n’est pas un choix ; il s’agit d’un nouveau terrain qui redéfinit les règles et les rôles, et les entreprises qui réussiront seront celles qui offriront les meilleures expériences digitales et disposeront des sites et des systèmes les plus réactifs.

Si les analystes s’accordent sur le fait que personne ne sait quand la prochaine crise frappera, ni en quoi consistera la prochaine opportunité, il est désormais vital pour les entreprises de développer une architecture hautement modulaire qui leur permette d’intégrer les composants-clés de leurs processus métier et de les réorganiser rapidement pour réagir et faire face à toute nouvelle situation.

Le monitoring traditionnel touche quant à lui à sa fin, car aucun composant de ces architectures modulaires n’offre à lui seul une visibilité suffisante de l’architecture pour assurer un suivi en temps réel et comprendre ce qui se passe réellement de bout-en-bout et au sein de l’entreprise. A l’inverse, 2021 marquera le sacre de l’observabilité comme réponse aux contraintes de ces architectures, en 6 tendances phares.

1 – Le bout-en-bout, nouvel impératif

Que ce soit pour les nouvelles expériences omni-canal, pour l‘IoT, l’IA et la robotique industrielle, les véhicules autonomes ou la 5G, ou pour se conformer aux législations nationales, on assiste à un essor du déploiement d’infrastructures et de composants applicatifs en périphérie (at the edge). Associées aux applications en micro-services, ces architectures complexes impliquent une observabilité de bout-en-bout. Elle permet de les instrumenter, de les mesurer, de maitriser leur performance, et de comprendre les dépendances et les interactions entre tous les composants, qu’ils soient déployés sur site, dans le cloud, en périphérie, sur un terminal utilisateur ou un système embarqué.

Les équipes ne pourront pas maîtriser la performance de leurs services en ne monitorant que leurs systèmes dans le cloud ou leur data center.  Pour comprendre l’expérience de leurs utilisateurs, le comportement de leurs applications et de leurs processus, les entreprises doivent adopter une approche holistique et pour cela, automatiser le déploiement de l’observabilité de bout-en-bout de la chaine de service, au sein de leurs pipelines de développement et de déploiement.

2 – Open source : rôle essentiel, expansion continuelle et dilemme

L’open source est une composante essentielle des architectures modernes, mais aussi une source de dilemme pour les DSI, qui sont confrontés au foisonnement des schémas de conception, des composants logiciels et des outils en open source. Ils doivent régulièrement procéder à des arbitrages entre autonomie des équipes et standardisation des choix pour garantir efficacité, cohérence du cycle de vie et de l’architecture. Ils doivent aussi s’assurer que les équipes investissent leurs ressources là où elles créent le plus de valeur.

En matière d’observabilité open source, de nombreux outils existent, qui convergent vers des standards tels que l’OpenTelemetry.
Ces outils sont souvent privilégiés par les équipes DevOps dans les phases initiales de leur croissance, mais ils engendrent rapidement des surcoûts liés aux compétences et à l’infrastructure nécessaires pour assurer disponibilité et cohérence des données, ainsi que cycle de vie des fonctionnalités. C’est pour cela que les DSI se tournent logiquement vers les plateformes d’observabilité managées qui offrent une instrumentation ouverte et open source, l’ingestion et la mise en cohérence des données en temps réel, une innovation constante et des économies d’échelle que leurs équipes peineront à répliquer.

3 – La métamorphose du serverless : des fonctions aux conteneurs

Le conteneur est le nouveau modèle de référence permettant l’abstraction entre infrastructure et composants logiciels. Il présente de très nombreux avantages en termes d’efficacité, de contrôle et d’agilité opérationnel, d’abstraction et de portabilité, d’automatisation. Les entreprises qui adoptent les conteneurs déploient plus vite, plus fréquemment et plus sûrement, et en tirent un avantage compétitif à moyen terme.

Les cloud publics permettent désormais d’opérer ces conteneurs en mode serverless, sans gérer l’infrastructure, avec des offres telles qu’AWS Fargate, Azure Cloud Instances et Google Cloud Run. Ces conteneurs serverless pourraient entrainer une décélération ou une relative marginalisation de l’usage du serverless de type ‘fonctions’, principalement pour des questions de portabilité et de contrôle de l’architecture. Avec les ‘fonctions’ serverless, il est possible de développer et déployer du code très rapidement dans le cloud, mais le code est alors lié à des modèles propriétaires et la liberté de design peut rapidement conduire à des défis de maintenabilité et de portabilité.
De nombreux clients indiquent qu’après avoir exploré les fonctions serverless, ils privilégient une architecture en conteneurs pour le cœur de leur propriété intellectuelle. Pour ce qui est des plateformes d’observabilité, elles doivent bien sûr accompagner les équipes DevOps quels que soient leurs choix de design et d’infrastructure, qu’elles soient on-premise ou Cloud, sur des machines physiques ou virtuelles, qu’elles adoptent les clusters Kubernetes et les conteneurs, ou le serverless sous toutes ses formes.

4 – Le rebond des frameworks de développement agnostiques

En quelques années, le cloud public est passé de quelques composants d’Infrastructure-as-a-Service (IaaS), à une offre PaaS de composants middleware désormais pléthorique pour satisfaire la demande, mais aussi afin de fidéliser leurs clients dans leur offre verticale. Toutefois, la portabilité des applications reste souvent un objectif prépondérant pour les équipes informatiques.

C’est pour cette raison que 2021 confirmera le rebond des frameworks de développement tels qu’Openshift, Anthos ou Rancher, qui permettent aux entreprises de développer du code et de le déployer sur n’importe quel infrastructure ou cloud selon leurs impératifs. Kubernetes en est généralement une fondation, reconnue comme la nouvelle couche universelle d’abstraction, de virtualisation et de conteneurisarion des logiciels modernes. Les plateformes d’observabilité n’ont pas vocation à arbitrer entre portabilité et verticalisation des architectures. Pour garantir la liberté et la portabilité, si c’est un objectif clé, il faut qu’elles soient compatibles avec toutes les offres cloud mais aussi ces frameworks de portabilité, et permettent d’en assurer la supervision efficace.

La force d’une plateforme d’observabilité réside dans son caractère invariant pour les équipes, les processus et les architectures, permettant ainsi d’assurer une grande stabilité et une forte productivité, alors que les architectures numériques évoluent à une allure de plus en plus rapide.

5 – L’avènement de l’ADR pour le DevSecOps (Application Detection and Response)

Avec l’essor du DevSecOps, les pratiques de sécurité se sont installées durablement dans les pratiques DevOps. En amont, les équipes adoptent des pratiques de codage sûr et automatisent leurs tests statiques et dynamiques afin de détecter des vulnérabilités potentielles (SAST/DAST). Le cycle DevSecOps permet aux développeurs de concevoir des applications sûres. L’observabilité a un rôle important à y jouer sur deux aspects : elle aide à détecter les vulnérabilités en caractérisant les changements de comportement de l’application en test dynamique de pré-production, et elle aide également à identifier des problèmes de performance résultant d’une attaque de sécurité en production.

Les offres de détection et de gestion des vulnérabilités et des cyber-attaques sont aujourd’hui matures pour le Réseau (NDR), et le Endpoint (EDR). Mais avec le DevOps, les micro-services, la conteneurisation et le déploiement continu (avec des centaines de déploiement quotidiens), la menace cyber s’est déportée vers l’architecture applicative. L’observabilité semble ainsi bien positionnée pour évoluer vers l’Application Detection and Response (ADR). En plus de détecter les problèmes liés à la disponibilité, la fiabilité ou la performance, comme une baisse de débit ou une augmentation du temps de latence, par exemple, l’observabilité, avec l’aide du machine learning, pourrait très prochainement déceler des attaques et des failles de sécurité applicatives et les caractériser en tant que telles.

6 – L’IA pour augmenter les capacités des équipes SRE

Il serait déraisonnable de prétendre que l’IA remplacera les êtres humains à grande échelle au cours des cinq prochaines années, du moins dans le domaine du développement logiciel et du Software Reliability Engineering (SRE). Les cas d’utilisation, les configurations et les architectures sont encore trop variables pour automatiser totalement ces domaines opérationnels et les êtres humains demeurent un élément crucial. Toutefois, l’IA permet d’augmenter les capacités des équipes SRE, afin qu’elles puissent appréhender des architectures toujours plus complexes, dynamiques et volatiles.

À raison de plusieurs milliers de micro-services, de centaines de déploiement et de dizaines de milliers de conteneurs lancés chaque jour, l’œil et le cerveau humains n’ont plus seuls les moyens d’appréhender et de maîtriser de tels niveaux de complexité. L’IA permet désormais de détecter proactivement et automatiquement des anomalies dans un système complexe, de corréler des incidents entre eux et d’en prédéterminer la cause probable, et d’enrichir les incidents avec des information critiques à leur résolution rapide, voire automatisée. L’IA doit être considérée comme un allié essentiel des équipe DevOps et SRE pour maîtriser leurs architectures et assurer leur performance.
___________________

Par Grégory Ouillon, CTO EMEA, New Relic