Les conteneurs sont un nouveau moyen de déployer des applications, qui rapprochent davantage les professionnels et les développeurs informatiques de toutes les entreprises où le concept DevOps est présent.
Qu’est-ce qu’un conteneur?
Le conteneur est un bac à sable où il est possible d’exécuter des services et des processus dans un environnement protégé. Chaque conteneur s’exécute dans un hôte conteneur , qui peut être une machine Windows ou Linux. Les principaux avantages des conteneurs, par rapport aux machines virtuelles classiques, sont les suivants: le déploiement est beaucoup plus rapide, la gestion est minimale, les correctifs ne sont pas nécessaires et l’encombrement est faible.
Autres points décisifs :
- Les conteneurs sont rapides et démarrent rapidement car ils utilisent le système d’exploitation hôte et partagent les bibliothèques appropriées
- Les conteneurs ne gaspillent ni ne bloquent les ressources de l’hôte contrairement aux machines virtuelles
- Les conteneurs ont des bibliothèques isolées et des fichiers binaires spécifiques à l’application qu’ils exécutent
- Les conteneurs sont gérés par un moteur de conteneurisation
Pourquoi des conteneurs ?
Les conteneurs ne sont pas pour tous et les scénarios ne sont pas nombreux, en détail :
- Sites Internet
- Prestations de service
- Processus
- Applications
En tant que serveur Web, utilisant des moteurs prestigieux, comme IIS avec .Net, Apache ou encore Ngnix ; en tant qu’application, nous trouvons SQL Server pour Windows ou Linux en tant que moteur de base de données des plus importants. Redis Cache est disponible pour stocker nos données avant la sauvegarde.
Les conteneurs rendent les développeurs plus indépendants des systèmes informatiques et permettent de créer des scénarios avancés sans toucher au modèle de sécurité ni à l’infrastructure principale. Une entreprise peut développer une nouvelle application avec un nouveau logiciel sans avoir à acheter de nouveau matériel. Tout peut être exécuté à l’intérieur de la machine Windows 10. Lorsque l’application sera prête pour le lancement, le code ainsi construit sera exécuté à l’intérieur de l’hôte conteneur.
Un autre point intéressant pour les développeurs est la possibilité de créer des conteneurs distincts pour résoudre des problèmes de compatibilité : par exemple, pour deux sites Web ayant des exigences de moteur Java différentes, il est possible de créer deux conteneurs différents.
La logique en coulisse simplifie également la mise à niveau du conteneur : peu importe si vous devez mettre à niveau le système d’exploitation ou l’application, cela peut être fait en quelques clics sans l’appui du service informatique.
Docker
Lorsque nous parlons de conteneurs, nous ne pouvons pas éviter Docker, peut-être la plate-forme de conteneur la plus connue. Docker est un outil conçu à la fois pour les développeurs et les administrateurs système, ce qui en fait une partie intégrante de nombreuses chaînes d’outils DevOps (développeurs + opérations). Pour les développeurs, cela signifie qu’ils peuvent se consacrer à l’écriture de code sans se soucier du système sur lequel il fonctionnera. Cela leur permet également de prendre une longueur d’avance en utilisant l’un des milliers de programmes déjà conçus pour s’exécuter dans un conteneur Docker dans le cadre de leur application. Pour le personnel des opérations, Docker donne de la flexibilité et réduit potentiellement le nombre de systèmes nécessaires en raison de son faible encombrement et la diminution des frais attenants.
Docker Enterprise vs Docker Community
Docker est distribué sous deux editions : Enterprise Edition et Community Edition. leur seul point commun est l’architecture OS : 64bits.
Docker Community Edition
CE est idéal pour les développeurs et les petites équipes qui souhaitent se familiariser avec Docker et expérimenter des applications basées sur des conteneurs. Il est disponible pour ces systèmes d’exploitation :
- Windows 10
- MAC
- Feutre
- Debian
- Ubuntu
- CentOS
La plate-forme est également disponible sur le Cloud, à l’intérieur de Microsoft Azure et Amazon Web Services . On y trouve :
- La dernière version du moteur de conteneur Docker optimisée pour l’infrastructure disponible
- Accès aux fonctionnalités de pointe avec une haute cadence de mises à jour
- Public illimité et un dépôt privé gratuit en tant que service
- Constructions automatisées en tant que service
- Numérisation sécurisée des images en tant que service
Deux canaux de mise à jour :
- Edge : vous offre de nouvelles fonctionnalités tous les mois
- Stable : vous donne des mises à jour éprouvées chaque trimestre
Le support est fourni via le forum de la communauté Docker et les corrections de bugs ne sont fournies que pour la version en cours de distribution.
Docker Enterprise Edition
EE est conçu pour les équipes de développement informatique d’entreprise et qui développent, expédient et exécutent des applications critiques pour la production à grande échelle. Il est disponible pour ces systèmes d’exploitation :
- Windows Server 2016 et Server 2019
- Oracle Linux
- Red Hat Enterprise Linux
- Ubuntu
- CentOS
- SUSE Linux Enterprise Server
La plate-forme est également disponible sur le Cloud, à l’intérieur de Microsoft Azure et Amazon Web Services . On y trouve :
- La dernière version du moteur de conteneur Docker sur l’infrastructure certifiée (fournisseurs de systèmes d’exploitation et de Cloud d’entreprise)
- Conteneurs certifiés d’éditeurs tiers indépendants
- Plugins certifiés de fournisseurs de réseaux et de stockage
- Docker Datacenter pour la gestion et la sécurité intégrées des conteneurs
- Interface utilisateur Web intuitive et facile à utiliser
- Hébergement mutualisé sécurisé avec contrôle d’accès granulaire Role Based Access Control (RBAC), intégration basée sur des nœuds LDAP/AD,
- Sécurité de bout en bout avec gestion des secrets, signature d’images et numérisation d’images
- Gestion des images avec registre privé, stockage et mise en cache
- Automatisation basée sur des règles avec promotion d’image
Une nouvelle version stable est publiée tous les trimestres et les corrections de bugs sont fournies avec un plan de maintenance d’un an.
L’EE est disponible selon trois niveaux :
- Basic : plate-forme Docker pour infrastructure certifiée, avec le soutien de Docker Inc. et des conteneurs et plug-ins certifiés de Docker Store
- Standard : Ajout de la gestion avancée des images et des conteneurs, de l’intégration LDAP/AD user, et du contrôle d’accès basé sur les rôles (Docker Datacenter)
- Advanced : Ajoute l’analyse de sécurité Docker et la surveillance continue des vulnérabilités
Le support est disponible selon deux niveaux :
- Business Day (Jour ouvrable) : du lundi au vendredi de 9h à 18h, avec une réponse dans les 2 heures ouvrables
- Business Critical (Critique métier) : 24 x 7 x 365, avec une réponse en 2 heures
Modifications de prix par système d’exploitation Container hôte (Linux ou Windows) et selon niveau.
Cycle de vie
Ceci est un exemple des différences entre le support du cycle de vie CE et EE. Comme nous pouvons le constater, l’édition Enterprise permet d’exécuter une version pouvant avoir un an de plus que la dernière. Cela signifie que vous pouvez éviter la «pression de mise à niveau» et organiser mieux vos plans.
Windows vs Linux
Docker a le même moteur sous Linux et Windows, mais l’idée d’utiliser Windows Server en production peut être facilitée par les points suivants :
- Avec Datacenter SKU, il est possible de lancer des conteneurs Windows à l’infini.
- À partir de Windows Server 2019, il est également possible d’exécuter des conteneurs Linux.
- Prise en charge native de base incluse
Dans Windows Server, il est possible de renforcer la sécurité de chaque conteneur. Ce mode s’appelle Hyper-V Container.
Ce mode isole les processus du système d’exploitation entre les conteneurs et l’hôte de conteneur, grâce à Nested-Virtualization. Le démarrage est plus lent si on le compare à Windows Server Container, mais la solution est idéale pour les moyennes et grandes entreprises où la sécurité est indispensable. Le conteneur Hyper-V nécessite les conditions suivantes:
- Le rôle Hyper-V installé
- Au moins 4 Go de RAM
- Un processeur avec Intel VT-x (cette fonctionnalité n’est actuellement disponible que pour les processeurs Intel)
- La machine virtuelle hôte du conteneur aura également besoin d’au moins 2 processeurs virtuels.
Exécuter le premier conteneur
Après le déploiement du rôle, sous Linux ou Windows, pour créer votre premier conteneur, utilisez cette syntaxe :
docker run -p 800: 80 microsoft / iis
Ce que j’ai fait est d’obtenir l’image principale, avec IIS déjà configurée, et d’exposer le conteneur avec le port 800. La raison pour laquelle je ne peux pas utiliser le port 80 est qu’il n’y a qu’un port 80 par hôte, de sorte que le NAT est fondamental lorsque nous prévoyons d’utiliser des conteneurs.
Ouvrez un navigateur, tapez l’URL http://containerip:800 et vérifiez le résultat.
Sous Linux, la syntaxe est la même. La seule différence sera l’image affichée dans le navigateur.
docker run -p 81:80 httpd
Les commandes
Voici quelques commandes utiles pour gérer votre machine Docker :
- Conteneur de démarrage – docker start idcontainer
- Stop Container – docker stop idcontainer
- Ouvrir une session – docker exec -it idcontainer bash
- Images de la liste – images de docker
- Liste des conteneurs – docker ps -a
- Supprimer l’image – docker rmi idimmagine
- Supprimer un conteneur – docker rm idcontainer
- Copier des éléments d’un hôte à un autre – source de docker cp idcontainer: pathdestination
Conclusion
Qu’est-ce que Docker peut faire pour vous ? Il est possible de faire fonctionner plus d’applications sur le même matériel, de manière plus efficace par rapport aux autres technologies. il permet aux développeurs de créer rapidement des applications confinées prêtes à l’emploi ; et cela facilite beaucoup la gestion et le déploiement des applications. Réunissez le tout et vous comprendrez pourquoi Docker a suscité le battage médiatique le plus rapide qu’il m’ait été donné de voir dans le domaine des technologies professionnelles.
Vous pouvez trouver des informations plus détaillées sur cette page officielle: https://www.docker.com/resources/what-container
PLEASE NOTE: if you need technical support or have any sales or technical question, don't use comments. Instead open a TICKET here: https://www.iperiusbackup.com/contact.aspx
**********************************************************************************
PLEASE NOTE: if you need technical support or have any sales or technical question, don't use comments. Instead open a TICKET here: https://www.iperiusbackup.com/contact.aspx
*****************************************