Kubernetes : panacée des entreprises IT ?

Par Graham Berry, EMEA sales lead OpenShift, Red Hat

Kubernetes est une plateforme Open Source qui automatise les opérations des conteneurs Linux, en éliminant les processus manuels lors du déploiement et la mise à l’échelle d’applications conteneurisées. Néanmoins, Kubernetes peut-il répondre au défi d’exécuter des workloads critiques à grande échelle ?

Une récente étude réalisée par Red Hat indique qu’aujourd’hui, 62% des entreprises ont une utilisation minimale (moins de 10%) des containers. Seules 20% indiquent que cela sera encore le cas d’ici 2 ans. Dans l’intervalle, le pourcentage de celles qui auront plus de la moitié de leurs workloads conteneurisés devrait tripler – environ 28% – durant la même période [1]. Elle est donc loin l’époque où les conteneurs étaient uniquement considérés comme un nouvel outil pour packager les applications pour les architectes d’infrastructures chargés de trouver de meilleurs moyens d’exécuter les applications et réduire les coûts des machines virtuelles. Désormais, les plateformes de conteneurs sont reconnues comme des facilitateurs d’innovation d’abord, et d’infrastructure ensuite. Ainsi, avoir une plateforme de conteneurs et des outils pour les orchestrer est la priorité des CIO.

Kubernetes, kezako ?

Il y a quelques années, nous avons assisté à une bataille technologique entre les différentes plateformes d’orchestration des conteneurs. C’est à cette période que Kubernetes a émergé avant de devenir l’un des projets Open Source à la croissance la plus rapide. Près de 8 000 développeurs ont d’ailleurs participé à KubeCon à Barcelone en 2019, en faisant l’une des principales conférences Open Source d’Europe. On peut d’ailleurs dire sans se tromper que Kubernetes a gagné la bataille de l’orchestration de conteneurs, en convaincant l’industrie de converger vers cette technologie. Désormais, il existe plus de 90 offres Kubernetes certifiées sur le marché [2].

Comment peut-on expliquer ce succès ? Outil de gestion des conteneurs complètement agnostique, Kubernetes offre une plateforme pour automatiser le déploiement, la mise à l’échelle de conteneurs d’applications dans un cluster hôte. A une époque où les stratégies de cloud hybride priment, les clusters Kubernetes couvrent aussi bien les clouds privé, publics ou hybrides. Kubernetes est donc la plateforme idéale pour héberger les applications cloud-native qui nécessitent une mise à l’échelle rapide comme le data streaming. Enfin, Kubernetes s’appuie sur d’autres projets Open Source pour réaliser pleinement sa puissance.

Ce que Kubernetes n’est pas

Une plateforme de conteneurs pour les entreprises se compose de plusieurs outils, en plus de l’orchestration de Kubernetes. Il s’agit notamment du registre, de la mise en réseau, du stockage, de la télémétrie, de l’automatisation et des services. Ils comprennent également les mesures, l’enregistrement, la surveillance, l’authentification et l’autorisation, les langues, les frameworks, le middleware, les bases de données et la sécurité. L’entreprise doit donc réfléchir à la sécurité de son système IT, et ce à travers l’ensemble des différentes couches de sa pile de solutions, avant de déployer et d’exploiter un conteneur.

Ainsi, bien que l’implémentation et l’utilisation de Kubernetes soient viables pour beaucoup d’organisations, il en faut beaucoup plus pour en faire une plateforme centrale sur laquelle exécuter des applications critiques. Une entreprise qui construit sa propre plateforme de conteneurs devra examiner, tester et renforcer les différentes technologies de la pile. Elle devra également analyser chaque composant individuellement tout au long de son cycle de vie afin de s’assurer qu’ils fonctionnent tous ensemble. Enfin, si un problème survient, Kubernetes étant un projet Open Source, il n’y aura pas de support officiel et l’entreprise devra résoudre ses problèmes seule.

Frankestein’s Kubernetes

De nombreuses organisations débutent avec une installation simple de Kubernetes. Lorsqu’elles veulent commencer à exécuter des workloads critiques, elles constatent rapidement qu’elles ont sous-estimé la complexité et les frais liés à l’intégration, au test, la mise à jour et la gestion des divers composants natifs du cloud. Le mantra ‘There is no such thing as vanilla kubernetes’ n’a jamais été aussi vrai car morceau par morceau, l’entreprise assemble un « monstre de Frankenstein ». Maintenir et gérer cette création, tout en la développant, peut devenir coûteux, surtout lorsque certaines compétences IT sont très demandées.

Canaliser l’innovation

Dans une économie où l’innovation et le time to market sont des priorités absolues, les développeurs doivent pouvoir développer l’infrastructure efficacement et coder. Utiliser une plateforme managée, facile d’accès et qui permet d’exécuter les conteneurs et kubernetes dans un environnement hybride (y compris le support et la sécurité) permet aux équipes d’application et de développeurs de passer plus de temps à résoudre des problèmes liés au business.

Nombreuses sont les organisations qui voudront que leur environnement hybride intègre plusieurs cloud publics. Elles devront donc s’accorder sur le niveau de flexibilité et de liberté qu’elles recherchent dans le choix de leurs technologies. Y compris des innovations telles que Quarkus, qui aide à créer des applications cloud-native ; ou encore Operators, qui permet de packager des applications natives de Kubernetes pour une gestion plus facile. La compréhension de la différence entre des plateformes ouvertes ou propriétaires est donc primordiale.

La Deutsche Bank en est un exemple. L’établissement financier a mis en place une PaaS Open Source pour standardiser et rationaliser l’accès des développeurs à la capacité de calcul ainsi qu’aux autres ressources applicatives de l’entreprise. La banque a construit Fabric, une plateforme de développement d’applications conteneurisées et de micro-services, qui donne un accès plus rapide aux ressources, aidant les développeurs à travailler plus efficacement. Ainsi le délai de la production à la livraison des applications est passée de 6/9 mois à 2/3 semaines[3].

Parallèlement, Cathay Pacific Airways Limited, qui dessert 200 destinations dans 52 pays, a adopté une plateforme Kubernetes de classe entreprise dans un environnement hybride ouvert. En plus de bénéficier de l’évolutivité et de la portabilité dans des infrastructures privées et publiques, elle a renforcé la collaboration entre les équipes, créant des processus de travail plus efficaces et rentables. Ainsi, elle peut effectuer 200 déploiements par jour, contre un par semaine auparavant, et donc migrer des applications sans avoir à les réécrire.

Contenir son enthousiasme

Lorsque l’on commence à utiliser des conteneurs, il est important que l’entreprise anticipe la manière dont on elle les fera fonctionner dans la production. Afin que les équipes créent des services performants pour les clients et puissent ainsi les commercialiser rapidement, il faut se rappeler que si Kubernetes est un outil puissant, il ne suffit pas à lui tout seul.

[1]https://www.redhat.com/cms/managed-files/rh-2020-customer-tech-outlook-detail-f20630-201911.pdf
[2] https://www.cncf.io/certification/software-conformance/
[3] https://www.youtube.com/watch?v=B7pdwA6032E&feature=emb_title
Les (4) et (5) manquent >>>
4 https://www.youtube.com/watch?v=B7pdwA6032E&feature=emb_title
5 https://www.youtube.com/watch?v=XSeqEHwHMAU&feature=emb_title