La domination de Docker parmi les plateformes de conteneurs n’a rien d’une surprise. Cette technologie se situe en effet à l’intersection de trois aspects essentiels des processus de développement modernes : la migration vers le cloud, les microservices, et le DevOps. Mais son succès est également une question de timing.  Docker est arrivé à un moment où les organisations cherchaient des alternatives aux machines virtuelles afin de déployer leurs applications avec davantage de légèreté.

Le business piloté par les logiciels

Cependant, un autre facteur plus important fait de Docker le roi du développement : la révolution qui se produit actuellement dans le monde des entreprises. Des banques aux compagnies aériennes en passant par les opérateurs de télécommunication ou encore les groupes de la grande distribution, la tendance est à l’adoption de stratégies pilotées par les logiciels. Cette révolution numérique nécessite d’innover afin d’accélérer et de transformer les processus de développement de services, et avec Docker, les organisations ont justement l’agilité, la flexibilité et l’efficacité nécessaires pour répondre rapidement aux besoins des métiers.

Docker permet le développement basé sur des conteneurs (et les microservices annexes), qui est essentiel à « l’usine logicielle moderne ». Les développeurs peuvent en effet créer une application avec l’ensemble des composants requis (bibliothèques et autres dépendances incluses), puis déployer un seul et même package.

Des applications monolithiques aux microservices

Les conteneurs représentent un grand pas en avant. Dans les années 1990, les applications monolithiques et leurs services étaient étroitement associés et ne permettaient aucun changement, ce qui limitait l’agilité des entreprises. Ainsi, toute modification apportée à une petite partie d’une application nécessitait le déploiement d’une toute nouvelle version. De même, toute recherche d’extensibilité devait souvent porter sur l’intégralité de l’application (et pas juste sur les composants souhaités).

On peut comparer ces services monolithiques à un gâteau de mariage : pendant la fête, tout le monde reçoit une part au moment prévu. Tous les invités ont droit au même parfum, et le partage est entièrement synchronisé. Les microservices, eux, ressemblent davantage à des petits gâteaux : ils sont plus agiles et moins étroitement associés. Indépendants, en somme, ces petits gâteaux sont tous présentés sur le même plateau : on peut en prendre à sa guise, selon son parfum préféré. Et surtout, ils peuvent être remplacés indépendamment les uns par les autres.  C’est exactement ce que proposent les conteneurs.

Les conteneurs et les microservices offrent donc des avantages considérables par rapport à la virtualisation. Ils partagent des ressources système, ce qui les rend plus légers et réduit les frais d’exploitation. Ils peuvent être provisionnés et copiés plus rapidement que des services virtualisés, ce qui accélère et simplifie leur mise à l’échelle. Enfin, presque toutes les principales offres en la matière sont open source, ce qui permet d’éviter tout enfermement propriétaire.

De la difficulté de superviser Docker

Comme toute formidable opportunité, cette plateforme a également ses inconvénients, notamment pour la supervision des niveaux de service et des performances des applications tournant sur de tels environnements. Pour commencer, Docker introduit une nouvelle couche entre les hôtes et les applications, et celle-ci n’est pas couverte par les outils traditionnels. Ce manque de visibilité peut laisser l’entreprise en proie à des problèmes de performances, voire à des pannes. Les structures doivent donc mettre en œuvre des outils spécialisés pour assurer la supervision des hôtes et conteneurs Docker.

Autre problème, ces conteneurs et microservices sont éphémères, et prévus pour être rapidement dé-provisionnés. Ce facteur – ainsi que le fait que les communications passent par des API– entraîne une prolifération des objets, dépendances et autres mesures. Conséquence : les approches de supervision traditionnelles (ex. : cartographie, instrumentation, etc.) ne sont plus à la hauteur.

Pour ne rien arranger, la plupart des organisations disposent déjà de technologies pour superviser leurs infrastructures existantes. L’ajout de plateformes spécifiques à Docker contribue donc à la multiplication et à la fragmentation des outils, ce qui peut rapidement donner lieu à des alertes désharmonisées, ralentir le dépannage et complexifier l’allocation des ressources.

Enfin, bien que les environnements Docker puissent potentiellement faire preuve d’une exceptionnelle capacité de montée en charge à la demande, cette même extensibilité peut créer des environnements hyper dynamiques et donc difficiles à gérer. À moins de tenir la cadence, les équipes informatiques risquent de manquer de visibilité, ce qui peut provoquer entre autres des indisponibilités.

Que rechercher dans une solution de supervision Docker ?

  1. Rapidité, simplicité et facilité d’utilisation

Les entreprises doivent évaluer des approches sans agent permettant de détecter, découvrir, modéliser et mapper des conteneurs et des clusters en continu et s’assurer que les applications Docker bénéficient d’une supervision globale intégrée et automatisée couvrant leurs attributs et perspectives.

  1. Des informations approfondies avec une valeur décisionnelle

Il est important de choisir une technologie fournissant des informations et analyses approfondies sur l’état et les performances des conteneurs et applications. Elle doit être capable de détecter automatiquement et d’isoler des produits pour corriger les différents tiers des applications.

  1. L’hyper performance à grande échelle

Les organisations sont amenées à gérer un important volume de données. En somme, il leur faut agréger des millions de points de données afin de détecter et diagnostiquer rapidement les problèmes touchant aux conteneurs, clusters et applications Docker, ainsi qu’au niveau de l’expérience utilisateur et de l’infrastructure. Pour ce faire, la solution de supervision doit offrir une visibilité complète sur les performances et en favoriser la diffusion auprès de l’ensemble des équipes.

Les conteneurs Docker sont légers, tournent sur n’importe quel ordinateur, infrastructure ou cloud, et sont parfaits pour les stratégies de microservices. Cependant, pour accélérer l’innovation et la transformation numérique, il faut que les entreprises se dotent d’une solution de supervision de Docker à la fois rapide et simple d’utilisation ; fournissant des informations favorisant vos prises de décisions ; et s’adaptant parfaitement à vos workflows existants. Cette solution doit en outre prendre en charge l’ensemble de la pile de technologies associées aux conteneurs.

C’est en adoptant une approche digne d’une usine logicielle moderne que les entreprises bénéficieront d’un ensemble d’outils intégrés afin de créer, tester, superviser et sécuriser des conteneurs à grande échelle. Cette stratégie permettra de faciliter la mission des développeurs sur l’intégralité du cycle de développement, et d’aider les équipes DevOps et de production à proposer une expérience utilisateur exceptionnelle.

_________
Chris Kline est vice-président de la stratégie DevOps chez CA Technologies.