Vous avez construit un cloud et maintenant ils veulent aussi des conteneurs?

Vous avez construit un cloud privé à grands frais et, malgré le coût initial, de réelles économies sont réalisées. Et même si vous pensiez que le cloud était exactement ce que voulaient vos équipes de développement, elles réclament maintenant des conteneurs. Pourquoi?

Comme la plupart des entreprises, vous avez probablement justifié l'investissement dans votre cloud du point de vue de l'infrastructure en mettant l'accent sur l'augmentation de l'utilisation du matériel physique. L'utilisation moyenne avant la virtualisation était souvent inférieure à 10%, et la virtualisation en tant que catalyseur de la consolidation de la charge de travail a été un outil essentiel pour garantir que l'argent dépensé en matériel n'est pas gaspillé..

Mais - et c'est un gros mais - les clouds privés d'entreprise typiques offrent peu au-delà des économies de coûts et de la livraison accélérée (virtuelle) de machines aux équipes de développement qui les consomment. Ceux-ci sont certainement précieux, mais sont assez loin de la pleine promesse du cloud.

Les équipes de développement recherchent vraiment une plate-forme avec des API qu'ils peuvent utiliser pour attacher directement leurs outils de cycle de vie logiciel automatisés. Pour citer un responsable du développement: «Je ne veux tout simplement pas parler à Infrastructure.»

Cependant, ce que l'infrastructure leur donnait généralement était tout aussi contraint que l'ancien monde physique - avec des processus lourds, une automatisation du cycle de vie limitée, les mêmes anciens problèmes de correctifs et absolument aucune intégration d'outils..

En bref, les serveurs étaient désormais virtuels, mais la plupart des anciens points faibles pour les développeurs existaient toujours - et les fonctions d'infrastructure continuaient à être caractérisées comme un bloqueur plutôt que comme un catalyseur du changement dans le monde du développement..

Entrez les conteneurs.

Quels sont-ils et pourquoi les développeurs les utilisent-ils??

Pour citer Wikipedia, un conteneur est "tout appareil… qui peut être utilisé pour contenir, stocker et transporter des objets ou des matériaux."Bien que cela s'applique aussi bien aux paniers en osier qu'aux conteneurs logiciels, l'élément clé pour l'informatique est la différence entre les conteneurs et les serveurs virtuels..

Les conteneurs permettent aux équipes de développement de regrouper leurs logiciels, ainsi que les dépendances logicielles résolues, en un seul artefact. Les conteneurs nécessitent un système d'exploitation hôte pour fonctionner - mais plusieurs conteneurs peuvent être exécutés sur une seule instance de système d'exploitation tout en conservant une isolation logique les uns des autres (vous n'avez plus besoin d'une licence de système d'exploitation par instance de composant d'application pour obtenir cette isolation).

Étant donné que les conteneurs n'ont pas chacun besoin de leur propre système d'exploitation, ils peuvent être démarrés aussi rapidement que le logiciel d'application encapsulé (sans attendre le démarrage d'une instance de système d'exploitation) et, comme ils incluent des dépendances logicielles résolues, l'instanciation sur un serveur est simplement une question de copier le conteneur et de le démarrer. La répétabilité et l'abstraction fournies par les conteneurs permettent aux développeurs de se concentrer sur la fourniture de logiciels facilement déployables et fonctionnels tandis que quelqu'un d'autre fournit une plate-forme gérée pour ces conteneurs..

Le concept de conteneurs n'est pas nouveau. Google utilise sa propre variété depuis des années (ils disent que tout chez Google fonctionne dans des conteneurs), Sun a introduit une forme de conteneurs dans Solaris en 2004/2005, et des conteneurs ont même été disponibles sur Windows via des produits tels que Parallels Virtuozzo.

Ce qui est nouveau, cependant, c'est le passage à la conception des conteneurs comme étant une technologie de développeur (plutôt que d'infrastructure) et, surtout, l'émergence de logiciels tels que Docker, qui fournit un format de conteneur unique qui peut fonctionner sur plusieurs types de matériel et de système d'exploitation..

L'enthousiasme de la communauté des développeurs est élevé et l'évolution des efforts de Docker et de normalisation tels que l'Open Container Initiative se poursuit à un rythme soutenu, mais les outils de gestion pour les déploiements de conteneurs à grande échelle (tels que Kubernetes) commencent à peine à émerger pour une utilisation générale et ont certainement pas encore atteint le degré de maturité de celui disponible pour la virtualisation des serveurs.

Cela signifie-t-il que les conteneurs doivent être évités pour l'instant?

Non. Les conteneurs offrent des avantages à la fois pour l'infrastructure (consolidation de la charge de travail, mais potentiellement avec une réduction du nombre de licences du système d'exploitation) et pour le développement (artefact déployable unique qui s'exécute partout où il est placé et démarre instantanément - particulièrement important pour ceux qui créent des applications évolutives dynamiques). . Les conteneurs sont complémentaires à la virtualisation des serveurs et ne le déplaceront pas (et ne devraient pas le faire).

Cependant, ce que les entreprises devraient faire, c'est établir des partenariats entre les infrastructures et les équipes de développement pour piloter l'utilisation de conteneurs sur des plates-formes de virtualisation robustes. Commencez petit, faites évoluer la plate-forme d'hébergement, les outils de gestion et, de manière critique, l'ensemble du processus. Attendre signifie simplement que des concurrents plus proactifs bénéficieront d'abord de la productivité, du délai de mise sur le marché et des avantages de réduction des coûts.

En tant que consultant principal pour Clarté virtuelle, Chris Buckley aide les grandes organisations complexes modernisent leur approche de l'infrastructure informatique. Travaillant avec des organisations informatiques pour identifier les bons problèmes à résoudre d'un point de vue commercial, Chris dirige les clients tout au long du développement et de la mise en œuvre de la stratégie d'infrastructure.

Rejoignez les communautés Network World sur Facebook et LinkedIn pour commenter des sujets qui vous tiennent à cœur.