Fermer

juin 23, 2021

Docker Bootcamp – Cas d'utilisation de Docker


Bienvenue à Docker Bootcamp. Nous avons beaucoup appris sur l'utilisation de Docker dans cette série. Dans cet article, nous verrons quand utiliser Docker. Docker est un excellent outil, mais comme pour toute technologie, vous devez vous assurer que c'est le bon outil pour le travail que vous essayez d'accomplir.

Pourquoi les conteneurs

  • Plus petit et plus rapide que les machines virtuelles

Les conteneurs partagent le physique ressources matérielles avec la machine hôte ainsi que des éléments du système d'exploitation hôte. Il n'y a pas de système d'exploitation invité entre l'hôte et l'application, ce qui vous permet d'économiser de l'espace et d'augmenter les performances globales du système.

Les conteneurs sont créés à partir d'une image. Partout où vous distribuez l'image, le conteneur résultant se comportera de la même manière.

Les conteneurs sont indépendants les uns des autres. Vous pouvez exécuter plusieurs versions du même logiciel dans des conteneurs séparés sans conflit. Ceci est très utile lorsqu'une version nécessite une ancienne version d'une dépendance, car les dépendances sont incluses dans l'image.

Quand utiliser les conteneurs

Les conteneurs sont un excellent moyen d'apprendre un nouvel outil en jouant dans un bac à sable jetable. Lorsque vous exécutez une application dans un conteneur, elle est entièrement autonome. Les fichiers d'installation ne sont pas répartis sur le système de fichiers et le registre système. Cela facilite la suppression complète de l'application. Vous pouvez également utiliser plusieurs versions du même outil, telles que la nouvelle version Edge ou une ancienne version simultanément. C'est difficile à faire sans conteneurs, car toutes les versions du même logiciel ont tendance à s'installer au même emplacement sur le système de fichiers.

  • Améliorer la livraison des logiciels

L'intégration de nouveaux développeurs est toujours un défi. Ils doivent installer et configurer chaque logiciel requis. Si les instructions d'installation ou une configuration sont incorrectes, cela entraîne une perte de temps à comparer leur environnement à un environnement de travail. Avec les conteneurs, tout le monde déploie la même image, donc l'environnement de tout le monde est le même et le logiciel fonctionne de la même manière. Cela est vrai pour chaque environnement, du développement à la production. La combinaison de logiciels installés sur un hôte donné n'aura pas d'impact sur les logiciels exécutés dans le conteneur.

  • Améliorer la testabilité des logiciels

Les conteneurs améliorent la testabilité des logiciels en vous permettant d'exécuter la même configuration que la production sur votre machine locale. La seule différence sera la quantité de ressources matérielles physiques disponibles sur votre ordinateur local.

L'exécution de votre logiciel dans des conteneurs permet de faire évoluer rapidement et facilement votre application. Vous pouvez facilement ajouter d'autres conteneurs. Vous pouvez gérer vos conteneurs avec des outils d'orchestration tels que Docker Swarm ou Kubernetes.

Les conteneurs donnent à votre application une couche de flexibilité. Vous pouvez facilement passer à un nouveau matériel. Vous pouvez configurer la gestion automatique pour redémarrer ou recréer les conteneurs défaillants.

Vous pouvez exécuter plus de conteneurs sur moins de matériel par rapport à l'exécution de votre application sur des machines virtuelles. Ceci est important dans la plate-forme cloud d'aujourd'hui en tant que modèle de coût basé sur l'utilisation du temps de service.

Les applications héritées dépendent généralement d'anciennes versions d'autres logiciels. Étant donné que toutes les dépendances sont intégrées à l'image, vous pouvez exécuter à côté d'un logiciel moderne sans conflits de version.

Les conteneurs offrent un moyen simple de revenir à une version précédente de votre application. Exécutez simplement votre conteneur et spécifiez une version précédente de l'image à utiliser.

Quand NE PAS utiliser de conteneurs

  • Votre application est compliquée

Même avec des outils tels que Docker Swarm ou Kubernetes, il peut devenir difficile de gérer un application complexe composée de plusieurs conteneurs, de divers degrés d'interconnectivité et de plusieurs serveurs.

Les conteneurs sont plus rapides que l'exécution de votre application sur une machine virtuelle, mais plus lents que l'exécution dans le système d'exploitation hôte natif.

La sécurité des conteneurs est un sujet en soi. . De nombreuses images ont des configurations ou des mots de passe par défaut. Il est important de télécharger uniquement des images provenant de sources fiables. Dans le cas où un processus est capable de sortir d'un conteneur, il a un accès complet à l'hôte s'exécutant sous le même utilisateur que le démon docker. Il peut être plus facile de gérer les autorisations et la sécurité dans le système d'exploitation hôte sans la couche de conteneur supplémentaire.

  • Vous devez exécuter sur différents systèmes d'exploitation

Les images sont créées pour un seul système d'exploitation. Une image conçue pour Windows ne peut pas s'exécuter sous Linux en raison de la façon dont les conteneurs partagent le système d'exploitation hôte.

  • Vous devez exécuter une application avec une interface graphique

Les conteneurs sont principalement conçus pour les applications basées sur la console. Vous pouvez exécuter certaines applications Linux GUI en utilisant le transfert X11, mais vous rencontrerez probablement des plantages et des performances médiocres.

  • Vous n'avez pas d'expert en conteneurs en interne

Comme pour toute technologie que vous introduisez dans votre entreprise, vous avez besoin quelqu'un qui peut prendre en charge la technologie. Si vous ne disposez pas d'une telle personne ou d'une personne capable d'apprendre la technologie, le dépannage peut être un processus long et frustrant.

  • Vous devez exécuter sur une ancienne version de Windows

Les conteneurs ne sont pris en charge que sous Windows 10 (build 2004 et versions ultérieures) et Windows Server 2016 (et versions ultérieures). Vous ne pouvez pas exécuter un conteneur Windows 8 même sous Windows 10.

Pourquoi Docker

Docker est le moyen le plus populaire et de facto de gérer des conteneurs sur un environnement de développement local. L'interface de ligne de commande et les outils de bureau rendent l'utilisation des conteneurs très simple.

Docker Hub contient de nombreux systèmes d'exploitation et applications qui ont déjà été conteneurisés. Cela permet d'extraire rapidement et facilement une image existante et de démarrer votre projet.




Source link