DéveloppeurWeb.Com
    DéveloppeurWeb.Com
    • Agile Zone
    • AI Zone
    • Cloud Zone
    • Database Zone
    • DevOps Zone
    • Integration Zone
    • Web Dev Zone
    DéveloppeurWeb.Com
    Home»Microservices Zone»Conteneurs – Les Essentiels
    Microservices Zone

    Conteneurs – Les Essentiels

    novembre 18, 2021
    Conteneurs – Les Essentiels
    Share
    Facebook Twitter Pinterest Reddit WhatsApp Email

    Parlons de l’essentiel des conteneurs. Au cours des dernières années, les conteneurs sont passés de la nouvelle tendance la plus en vogue à une architecture informatique essentielle. Mais vous conviennent-ils bien ? Vous vous demandez si vous les utilisez efficacement ou non ? Ou avez-vous eu peur d’appuyer sur la gâchette et d’ajouter des conteneurs à votre portefeuille informatique ?

    Vous ne savez peut-être pas en quoi les conteneurs diffèrent des machines virtuelles (VM). Quelle est la différence? Pourquoi utiliseriez-vous l’un au lieu de l’autre ?

    Les conteneurs vous aident à utiliser votre matériel plus efficacement. Ils vous permettent d’intégrer plus d’applications dans un seul système en toute sécurité. Ils constituent également un puissant mécanisme de packaging pour déplacer facilement les applications d’un système à un autre. Contrairement à la vantardise mythique de certains langages de programmation, les conteneurs vous permettent vraiment d’écrire une fois et de fonctionner n’importe où.

    Dans cet article, nous verrons ce que sont les conteneurs, ce qu’ils ne sont pas et comment vous pouvez les utiliser pour créer une infrastructure informatique propre, efficace et facile à entretenir.

    Les conteneurs ne sont pas des machines virtuelles

    Les conteneurs et les machines virtuelles ne sont pas les mêmes choses. Ils partagent certaines similitudes, surtout lorsque vous les regardez de loin, mais les différences ne peuvent pas être surestimées. Les conteneurs fournissent aux applications un environnement isolé. Les machines virtuelles émulent des systèmes informatiques complets qui exécutent généralement plus d’une application.

    Quelle est la différence?

    Les serveurs exécutant des conteneurs ont un seul système d’exploitation. Les conteneurs partagent les ressources du noyau et du système d’exploitation de ce serveur. Les parties partagées sont en lecture seule (avec une sémantique de copie sur écriture si nécessaire) et, selon la configuration des conteneurs, ont un accès partagé aux interfaces réseau du serveur. Pendant ce temps, les applications s’exécutent comme elles le feraient sur n’importe quel autre ordinateur.

    Les serveurs qui exécutent des machines virtuelles exécutent un hyperviseur qui prend en charge le système d’exploitation exécuté dans chaque machine virtuelle. Les machines virtuelles sont bien isolées les unes des autres, alors que les applications qu’elles contiennent ne le sont pas. Semblables aux conteneurs, cependant, les applications s’exécutent toujours comme elles le feraient sur un ordinateur physique.

    La principale différence est que les conteneurs sont très légers par rapport aux machines virtuelles. Le démarrage d’un conteneur consiste simplement à démarrer une application dans un environnement isolé. Le démarrage d’une machine virtuelle, d’autre part, démarre un système d’exploitation entier.

    Déplacer ou copier un conteneur d’un système à un autre signifie déplacer l’application et les bibliothèques nécessaires pour prendre en charge son environnement. Pourtant, ces composants sont regroupés dans un seul package. Une machine virtuelle est, encore une fois, un système d’exploitation complet. Vous mesurez les conteneurs en mégaoctets et les machines virtuelles en gigaoctets. Les machines virtuelles sont généralement également contenues dans un seul package, mais elles sont nettement plus volumineuses qu’un conteneur.

    Les conteneurs sont-ils meilleurs ?

    Les conteneurs sont-ils meilleurs ? Cela dépend de ce que vous essayez d’accomplir. Étant donné que les conteneurs ne contiennent que ce dont ils ont besoin pour prendre en charge une seule application, ils sont plus petits, nécessitent moins de mémoire et peuvent être arrêtés et démarrés très rapidement.

    Les machines virtuelles sont livrées avec tous les frais généraux requis pour prendre en charge un système d’exploitation complet. Ils ont besoin de plus de mémoire et occupent plus d’espace, et bien que vous puissiez souvent démarrer et arrêter une machine virtuelle plus rapidement que le même système d’exploitation sur du matériel de base, ils sont toujours plus lents qu’un conteneur.

    Ces différences font-elles des conteneurs un meilleur choix ? Uniquement si votre objectif est d’exécuter des applications individuelles. Parfois, vous avez besoin de la prise en charge d’un système d’exploitation complet ou vous devez exécuter plusieurs applications ensemble sur le même système. Si tel est le cas, une VM est plus logique.

    Les conteneurs et les machines virtuelles ont parcouru un long chemin en termes de portabilité. Bien qu’il n’y ait que quelques implémentations de conteneurs, la plus populaire, Docker, prend en charge Windows, macOS et toutes les principales distributions Linux. Les machines virtuelles ont le format de machine virtuelle ouvert (OVF). Ce format vous permet de déplacer des machines virtuelles entre les hyperviseurs, avec certaines limitations.

    Cela dit, les conteneurs permettent de packager une application qui ne prend pas en charge un système d’exploitation et de l’exécuter sur un autre. Ainsi, par exemple, vous pouvez conteneuriser une application héritée et l’exécuter sur une version plus récente de votre système d’exploitation.

    Pourquoi utiliser des conteneurs ?

    Les conteneurs exécutent les applications de manière isolée. Alors que les conteneurs exécutés sur le même hôte partagent toujours les ressources du système d’exploitation, le système d’exploitation les maintient isolés les uns des autres. Cela offre des avantages importants, notamment :

    Les conteneurs peuvent exécuter des applications Windows, Linux, FreeBSD et Solaris. Docker lui-même fonctionne sous Windows, Linux et macOS (la version macOS utilise en fait Linux dans une machine virtuelle, elle n’est donc pas aussi robuste que les deux autres systèmes d’exploitation). Cela signifie que vous pouvez utiliser Docker pour exécuter des applications sur plusieurs plates-formes sans utiliser de machine virtuelle.

    Mais ce n’est que le début de la portabilité que les conteneurs ont à offrir.

    Les conteneurs peuvent également exécuter des applications de différentes versions de systèmes d’exploitation sur le même hôte. Ainsi, si vous devez créer ou tester du code pour plusieurs versions différentes d’une distribution Linux ou même différentes distributions, vous pouvez configurer votre pipeline CI/CD avec des conteneurs de build au lieu d’un ensemble de serveurs de build ou de machines virtuelles.

    Si vous devez exécuter une ancienne version d’une application dans un nouvel environnement, un conteneur est une solution.

    Lorsque vous configurez une machine virtuelle, vous devez allouer de la mémoire et du disque à l’avance. Ces deux ressources sont associées de manière permanente à cette machine virtuelle. Dans certaines circonstances, vous pouvez vous en tirer avec un disque « clairsemé » qui n’utilise pas tout l’espace tout de suite, mais cela entraîne une baisse des performances. La mémoire, cependant, est une ressource fixe. Les machines virtuelles ne peuvent pas le partager. Lorsque vous configurez une machine virtuelle avec 16 gigaoctets de mémoire, vous avez utilisé cette mémoire, que la machine virtuelle en ait besoin tout le temps ou non.

    Les conteneurs, cependant, n’ont pas cette limitation. Vous pouvez définir une limite de mémoire pour un conteneur, mais ce n’est qu’un maximum. Les conteneurs partagent la mémoire hôte comme les autres applications. Ils peuvent également partager un disque. Vous pouvez leur réserver des volumes si vous le souhaitez, mais c’est à vous de décider.

    Ainsi, les conteneurs ne consomment les ressources que lorsqu’ils en ont besoin. Ils sont également plus faciles à déplacer entre les systèmes car ils ne nécessitent pas de ressources dédiées. Il vous incombe de vous assurer qu’ils ont ce dont ils ont besoin, bien sûr. Mais leur flexibilité et leur portabilité rendent cela facile. Vous pouvez également utiliser des systèmes d’orchestration comme Kubernetes, et ils géreront les ressources pour vous.

    Pourquoi ne pas utiliser des conteneurs ?

    Les conteneurs sont un outil puissant, mais ils ne sont pas la solution à tous les problèmes. Il existe de nombreuses situations où une machine virtuelle est la meilleure option. Le cas évident est celui où vous devez virtualiser un système entier.

    Par exemple, de nombreuses entreprises sont passées à l’infrastructure de bureau virtuel (VDI) en tant que solution rentable et sécurisée pour fournir des postes de travail à leurs employés. Les conteneurs ne remplacent pas les VDI. Les utilisateurs d’ordinateurs de bureau ont besoin d’un système d’exploitation complet et des services qu’il fournit.

    Si vous exécutez une application qui nécessite des ressources importantes, elle peut fonctionner mieux si vous les allouez à l’avance. Dans ce cas, une machine virtuelle est la meilleure option. Les conteneurs sont flexibles et efficaces, mais parfois cette flexibilité n’est pas ce dont vous avez besoin, et la relative rigidité des machines virtuelles est un atout.

    Il est temps de regarder les conteneurs

    Nous avons jeté un bref coup d’œil aux éléments essentiels des conteneurs. Leur flexibilité et leur efficacité en font un outil puissant que vous pouvez utiliser pour économiser du temps, des efforts et de l’argent. Pouvez-vous ajouter des conteneurs à votre environnement de test ? Avez-vous des applications héritées qui doivent migrer vers des systèmes mis à jour ? Il est temps de voir comment les conteneurs peuvent vous aider à mettre à niveau votre infrastructure.

    Share. Facebook Twitter Pinterest LinkedIn WhatsApp Reddit Email
    Add A Comment

    Leave A Reply Cancel Reply

    Catégories

    • Politique de cookies
    • Politique de confidentialité
    • CONTACT
    • Politique du DMCA
    • CONDITIONS D’UTILISATION
    • Avertissement
    © 2023 DéveloppeurWeb.Com.

    Type above and press Enter to search. Press Esc to cancel.