Connect with us

Technologie

Préparation à la conteneurisation de classe entreprise

Published

on


Malgré la possibilité de déplacer essentiellement des ressources informatiques et des données éphémères entre les nuages publics, privés et hybrides, il y a toujours une poussée globale pour déployer des applications monolithiques non modifiées dans les machines virtuelles (MACHINES) fonctionnant sur l’infrastructure cloud publique.

Cependant, il est plus efficace de décomposer une application en blocs fonctionnels, dont chacun fonctionne dans son propre conteneur. Le Computer Weekly Developer’s Network (CWDN) a interrogé des experts de l’industrie sur les tendances, la dynamique et les défis modernes auxquels sont confrontées les organisations qui migrent vers le monde des logiciels de micro-ingénierie de la conteneurisation.

Contrairement aux VM, les conteneurs partagent le système d’exploitation sous-jacent (OS) et le noyau, ce qui signifie qu’un seul environnement os peut prendre en charge plusieurs conteneurs. En d’autres termes, les conteneurs peuvent être considérés comme virtualisation au niveau du processus (ou de l’application), plutôt qu’au niveau du système d’exploitation.

Ces ressources informatiques essentielles comprennent la puissance de traitement de base, la mémoire, le stockage de données et l’approvisionnement en entrée/sortie (I/O), ainsi que toutes les fonctions et services modernes de « nouvel âge », tels que les appels des moteurs d’analyse du Big Data, la puissance cérébrale de l’intelligence artificielle (IA) et diverses formes d’automatisation.

Bien que le passage aux conteneurs offre une composabilité plus modulaire, le compromis est un ensemble plus complexe de ressources informatiques interconnectées qui doivent être gérées, entretenues et orchestrées. Malgré la popularisation des Koubernetes et de l’ensemble de l’écosystème des technologies dites d’«observabilité », il n’est pas toujours facile de connaître simultanément la santé, la fonction et l’état plus large de chaque conteneur déployé.

Migration vers des conteneurs

« La question qu’on me pose souvent est de savoir comment migrer au mieux les applications d’un environnement VM vers des conteneurs », explique Lei Zhang, responsable technique et directeur de l’ingénierie du système de gestion d’applications natif du cloud d’Alibaba, Alibaba Cloud Intelligence. « Chaque client essaie de créer un environnement Kubernetes, et les façons de le faire peuvent sembler complexes. Toutefois, il existe une gamme de méthodes, d’outils et de pratiques pratiques pratiques à leur disposition.

Zhang recommande que la première chose que les organisations qui cherchent à conteneuriser leur pile VM devrait faire est de créer un plan de migration clair. Il s’agit de décomposer la migration en étapes, en commençant par les applications les plus stables, par exemple leur site Web, et en laissant les applications les plus complexes jusqu’à ce que la pile de conteneurs soit plus mature.

Selon Lewis Marshall, évangéliste technologique chez Appvia, l’atténuation du risque à elle seule est un énorme avantage qui rend apparemment la décision de conteneuriser les systèmes existants plus facile à faire. « L’utilisation de conteneurs intrinsèquement immuables avec vos systèmes existants est une occasion d’éliminer les mauvaises habitudes, processus et pratiques opérationnelles qui existent avec des systèmes qui doivent être mis à niveau en place et qui ne sont donc pas immuables », dit-il.

D’après l’expérience de Marshall, les conteneurs ont la capacité d’accroître la sécurité tout en réduisant les coûts d’exploitation et d’entretien. Par exemple, certains systèmes existants ont beaucoup d’activités opérationnelles manuelles, ce qui rend toute sorte de mise à jour incroyablement à forte intensité de main-d’œuvre et pleine de risques.

Marshall recommande aux administrateurs informatiques d’essayer de s’assurer que le coût d’exploitation des systèmes existants se dirige vers le bas, vers zéro. « Si votre système est un puits de coûts tout en ajoutant une valeur commerciale limitée, la mise à jour ou la mise à niveau devrait devenir votre priorité », dit-il. « Si votre système dépend de quelques personnes qui font régulièrement beaucoup d’heures supplémentaires pour « garder les lumières allumées », cela devrait être un énorme signal d’alarme.

« Il convient également de se rappeler qu’à mesure qu’un système vieillit, il devient généralement plus coûteux à entretenir et que les risques de sécurité et d’instabilité augmentent. »

Défis de la conteneurisation

La nature immuable des services basés sur les conteneurs, qui peuvent être supprimés et redéployés lorsqu’une nouvelle mise à jour est disponible, met en évidence la flexibilité et l’échelle qu’ils présentent. Mais, comme bola Rotibi, directeur de recherche CCS Insight, l’a souligné dans un récent article d’Computer Weekly, alors que les conteneurs peuvent aller et venir, il y aura des données critiques qui doivent rester accessibles et avec des contrôles pertinents appliqués.

Elle dit: « Pour le nombre croissant de développeurs embrassant le modèle de conteneur, les installations physiques de stockage d’ordinateur ne peut plus être la préoccupation de quelqu’un d’autre. Les développeurs devront s’impliquer dans la fourniture d’actifs de stockage avec des conteneurs. Être adepte du stockage de données moderne ainsi que de la couche de stockage physique est essentiel pour les organisations axées sur les données.

Douglas Fallstrom, vice-président des produits et des opérations chez Hammerspace, affirme que les applications doivent être au courant de l’infrastructure et de l’endroit où se trouvent les données. Ceci, il met en garde, ajoute à la complexité globale de la conteneurisation et contribue à la nécessité de reconfigurer les applications si quelque chose change. En outre, l’idée de stockage de données n’est pas strictement compatible avec la philosophie des charges de travail natives du cloud.

« Tout comme le calcul est allé sans serveur pour simplifier l’orchestration, nous avons besoin de données pour aller sans stockage afin que les applications puissent accéder à leurs données sans rien savoir de l’infrastructure en dessous », dit-il.

« Lorsque nous parlons de données sans stockage, ce que nous disons vraiment, c’est que la gestion des données doit être auto-servie à partir de n’importe quel site ou cloud et laisser l’automatisation optimiser le service et la protection des données sans passer un appel dans l’informatique. »

Du point de vue de la gestion des données, les bases de données ne sont généralement pas construites pour fonctionner dans une architecture native du cloud. Selon Jim Walker, vice-président du marketing produit chez Cockroach Labs, la gestion d’une base de données héritée sur les infrastructures modernes telles que Kubernetes est très difficile. Il explique que de nombreuses organisations choisissent d’exécuter leurs bases de données en même temps que l’environnement de mise à l’échelle fourni par Kubernetes.

« Cela crée souvent un goulot d’étranglement, ou pire, un seul point d’échec pour l’application », ajoute-t-il. « L’exécution d’une base de données NoSQL sur Kubernetes est mieux alignée, mais vous aurez toujours des problèmes de cohérence transactionnelle. »

Sans aborder ce problème avec la base de données, Walker croit que les développeurs de logiciels qui construisent des applications natives dans le cloud n’obtiennent qu’une fraction de la valeur offerte par les conteneurs et l’orchestration. « Nous avons connu une grande dynamique dans l’adoption de Kubernetes, mais il a été conçu à l’origine pour les charges de travail apatrides », dit-il. « L’adoption a donc été freiné. La véritable poussée vers l’adoption se produira au fur et à mesure que nous établirons des charges de travail à forte intensité de données pour Kubernetes.

Considérations de gestion

Au-delà des défis liés à l’approche cloud-native de la modernisation informatique héritée, les conteneurs offrent également aux services informatiques un moyen de repenser leur pipeline de développement de logiciels. De plus en plus d’entreprises adoptent des conteneurs, ainsi que des Kubernetes, pour gérer leurs implémentations, explique Sergey Pronin, propriétaire de produits à la société de bases de données open source Percona.

« Les conteneurs fonctionnent bien dans le pipeline de développement de logiciels et facilitent la livraison », dit-il. « Après un certain temps, les applications conteneurisées entrent en production, Kubernetes s’occupe du côté de la gestion et tout le monde est heureux. »

Grâce à Kubernetes, les applications peuvent être à l’échelle programmatique de haut en bas pour gérer les pics d’utilisation en manipulant dynamiquement les exigences de processeur, de mémoire, de réseau et de stockage, ajoute-t-il.

Toutefois, alors que les équipes d’ingénierie logicielle ont fait leur part en installant des auto-scalers à Kubernetes pour rendre les applications plus disponibles et plus résilientes, Pronin avertit que les services informatiques peuvent trouver leurs factures cloud commencent à boule de neige.

Par exemple, un utilisateur de stockage de blocs élastiques AWS paiera pour 10 To de volumes EBS provisionné, même si seulement 1 To est vraiment utilisé. Cela peut entraîner des coûts de cloud très élevés. « Chaque conteneur aura ses besoins en ressources de départ réservés, de sorte que surestimer combien vous êtes susceptible d’avoir besoin peut ajouter une quantité substantielle à votre facture au fil du temps », dit Pronin.

Au fur et à mesure que les services informatique migrent davantage de charges de travail vers des conteneurs et les mettent en production, ils devront éventuellement gérer plusieurs grappes de conteneurs. Il est donc important pour les services informatique de suivre l’utilisation des conteneurs et de dépenser les niveaux afin d’avoir une meilleure idée de l’endroit où va l’argent.

Click to comment

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Tendance