Lors d’une récente interview, Rudy de Anda, responsable des Alliances Stratégiques chez Penguin Solutions, a échangé avec Matt Vincent, rédacteur en chef de Data Center Frontier. Ils ont abordé comment la plateforme Stratus ztC Edge de Penguin Solutions, associée à la gestion Kubernetes, constitue une solution de calcul de périphérie performante et peu exigeante en maintenance.
Matt Vincent :
Pouvez-vous nous donner un exemple concret de la manière dont la combinaison de machines virtuelles (VM) et de conteneurs a amélioré la scalabilité ou la tolérance aux pannes dans un environnement de périphérie ?
Rudy de Anda :
Bien sûr ! Nous avons collaboré avec des clients du secteur pétrolier et gazier qui devaient consolider leurs charges de travail pour répondre aux exigences de cybersécurité. Ils ont regroupé les applications de cybersécurité, SCADA et d’historique sur un seul dispositif tolérant aux pannes, comme le propose la plateforme Stratus de Penguin Solutions.
Cette infrastructure consolidée a également permis de faire fonctionner une machine virtuelle hébergeant des applications conteneurisées pour l’analyse vidéo alimentée par l’IA. Cela leur a permis de gérer des tâches telles que la surveillance de la conformité des équipements de protection individuelle (EPI), la détection de fuites et d’autres tâches de surveillance vidéo à partir d’une seule plateforme.
Vincent :
Comment expliqueriez-vous les principales différences entre les VM et les conteneurs ? Pourquoi fonctionnent-ils si bien ensemble dans des configurations hybrides ?
de Anda :
Les machines virtuelles existent depuis plus longtemps que les conteneurs et représentent une virtualisation complète d’un système d’exploitation et d’une machine. Pensez à une VM comme à une réplique intégrale de votre ordinateur personnel. C’est un système complet, incluant le système d’exploitation, les applications et tous les services nécessaires au fonctionnement de votre PC.
En revanche, les solutions conteneurisées reposent sur un cadre totalement différent. Elles sont similaires à votre smartphone et savent empaqueter les applications avec uniquement les dépendances nécessaires, sans virtualiser une machine entière. Cela les rend considérablement plus légères et faciles à installer, permettant aux utilisateurs de personnaliser et de construire leur propre pile.
En somme, la plus grande différence réside dans le fait que les machines virtuelles sont un peu plus fermées, plus grandes, plus lentes à démarrer et à s’arrêter, et moins portables. Les applications conteneurisées partagent de nombreux services et sont plus portables. Ensemble, elles se complètent dans des configurations hybrides, avec les VM apportant de la stabilité et les conteneurs offrant agilité.
Vincent :
Lorsque vous comparez les VM et les conteneurs, quel est le véritable compromis en termes de temps de démarrage et de problématiques comme l’utilisation des ressources et la scalabilité ?
de Anda :
Le temps de démarrage est un facteur significatif. Redémarrer une machine virtuelle est une tâche plus complexe que de redémarrer une application ou un conteneur spécifique. Redémarrer l’ensemble du système d’exploitation et du système conteneurisé peut aussi prendre beaucoup de temps.
Les conteneurs sont conçus pour des mises à jour rapides. Une fois que vos microservices sont opérationnels, les correctifs peuvent être appliqués presque en temps réel. Cela signifie que vous pouvez utiliser le conteneur, effectuer la mise à jour, et le traitement suivant utilisera la dernière version. Les mises à jour sont très faciles à déployer avec les conteneurs, mais les machines virtuelles nécessitent un redémarrage complet de votre système d’exploitation pour que la mise à jour prenne effet.
En revanche, les machines virtuelles excellent dans la dédication des ressources. En restreignant les ressources, une VM offre une performance plus fiable et répétable des applications qui s’y exécutent, car elle ne se bat pas pour les ressources.
Dans un environnement conteneurisé, à mesure que de plus en plus de conteneurs sont ajoutés et que la demande augmente, il y a une compétition pour les ressources partagées, ce qui peut dégrader la performance des conteneurs.
Le compromis réside dans l’équilibre entre la nécessité d’agilité et celle de stabilité, en fonction de la charge de travail.
Vincent :
Lorsqu’il s’agit de charges de travail en périphérie, comment décidez-vous quand privilégier les conteneurs plutôt que les VM, ou vice versa ?
de Anda :
Cela dépend souvent du type de charge de travail. Dans le monde du contrôle, où des ressources physiques sont connectées, vous utiliseriez probablement des machines virtuelles pour pouvoir les verrouiller, renforcer la cybersécurité, limiter l’accès et garantir une performance cohérente des applications et de vos résultats.
Dans le monde de l’IoT, où les données sont collectées, analysées et utilisées pour prendre des décisions ou des recommandations avant d’être poussées vers le contrôle, ces types d’applications ont tendance à être plus conteneurisées que virtualisées, car vous effectuez de multiples itérations, mises à jour et correctifs.
Vincent :
Quel est l’outil ou la stratégie qui simplifie l’intégration des VM et des conteneurs à la périphérie ?
de Anda :
Un outil d’orchestration robuste est essentiel. Il permet de gérer les conteneurs fonctionnant au sein d’une VM et d’orchestrer l’ensemble du système. Si vous disposez également d’une plateforme, comme la Stratus ztC Edge de Penguin Solutions, avec de solides API, vous pouvez utiliser cet même outil d’orchestration pour gérer à la fois la couche VM et les applications de machine virtuelle, ainsi que toute votre flotte à travers votre entreprise.
Vincent :
Comment Kubernetes change-t-il la manière dont les organisations déploient des applications à la fois sur des VM et des conteneurs ?
de Anda :
Kubernetes est devenu l’un des meilleurs moyens de gérer les applications conteneurisées. Il simplifie et standardise le déploiement, rend les applications plus portables et assure leur disponibilité constante.
Kubernetes, dans son environnement, facilite l’adoption d’une approche DevOps. Il permet une itération et une amélioration continues, ce qui est crucial dans des environnements rapides. Il a établi une norme pour travailler avec les environnements conteneurisés.
Vincent :
Où voyez-vous les microservices conteneurisés amener les technologies de virtualisation dans les prochaines années ?
de Anda :
Je ne pense pas qu’il s’agisse d’une technologie remplaçant l’autre. Chaque technologie a ses propres avantages. C’est plutôt une relation symbiotique. Les VM et les conteneurs ont chacun leurs forces, et l’essentiel est de comprendre quelle technologie est la plus adaptée aux applications que vous utilisez.
Pour vos équipes de science des données et DevOps, qui mettent constamment à jour, corrigent et apprennent sur votre entreprise, les conteneurs sont le meilleur choix. Cependant, pour vos applications traditionnelles, comme les systèmes de cybersécurité ou de contrôle, les VM sont idéales.
Il s’agit de saisir les compromis et de tirer parti des forces de chaque technologie. En faisant cela, vous pouvez construire une solution à la fois puissante et flexible.
Points à retenir
- La combinaison VM et conteneurs optimise la tolérance aux pannes et la sécurité.
- Les VM sont plus lourdes et moins flexibles que les conteneurs mais offrent une meilleure performance dans des environnements critiques.
- Kubernetes standardise le déploiement des applications, augmentant leur portabilité.
- Le choix entre VM et conteneurs dépend souvent du type de charge de travail (cybersécurité vs IoT).
- Un outil d’orchestration adéquat est essentiel pour gérer efficacement les deux technologies.
En définitive, l’évolution rapide des technologies de virtualisation soulève une question importante : sommes-nous en train d’adopter une logique de coexistence efficace entre ces technologies, ou nous enfermons-nous dans des solutions trop rigides ? À l’ère du numérique, la flexibilité et l’agilité devraient être au cœur de nos choix technologiques pour rester compétitifs et innovants.
