Comment utiliser Docker ?

Docker dynamise le Continuous Delivery. Comment cette plateforme ouverte, conçue pour le développement, la livraison et l’exécution des applications peut-elle vous aider à rationnaliser votre développement ?

French - Ron Gidron
Ron Gidron, July 31, 2017 10:15 am
Blog > ARA | Docker | DevOps | Containerization > Comment utiliser Docker ?

Docker a le vent en poupe. Ces dernières années, ce gestionnaire de conteneur est devenu extrêmement populaire dans le développement, étant donné son adaptation parfaite aux projets agiles et à la livraison continue. Cet article aborde la manière dont vous pouvez utiliser Docker pour accélérer et rationnaliser le processus du cycle de vie de développement (SDLC).

Auparavant, une petite introduction. Tout l’intérêt de Docker est qu’il permet aux développeurs de livrer rapidement des applications au sein de « conteneurs logiciels », qui peuvent ensuite être déployées et exécutées n’importe où. Imaginons que vous développez une application sur votre portable, où elle fonctionne parfaitement. Puis vous la poussez dans un environnement de test ou de production. Vous avez choisi le bon stack, le bon langage, et la bonne version. Pourtant, elle ne fonctionne pas. Pourquoi ? Parce qu’il ne s’agit pas du même environnement.

Peut-être avez-vous utilisé une nouvelle version d’une bibliothèque, mais les équipes de production vous affirment que vous ne pouvez pas utiliser cette bibliothèque-là, car elle n’est pas compatible avec toutes les autres applications s’exécutant sur le serveur. S’ensuivent de nombreux aller-retours entre équipes de production et de développement, qui décalent les projets, coûtent de l’argent, et frustrent tous les acteurs.

Lorsque vous développez avec Docker, tout est packagé au sein d’un conteneur, ou de plusieurs conteneurs qui communiquent entre eux. Docker isole complètement votre logiciel de toute dépendance externe. Un conteneur est auto-suffisant. Il vous suffit de le pousser dans un autre environnement, et ses contenus et la manière dont il a été développé sont transparents pour les équipes de production. Alors en quoi un « conteneur logiciel » est-il différent d’un ordinateur isolé. Ou même d’une machine virtuelle ?

Les conteneurs sont légers, car ils n’ont pas besoin d’un hyperviseur, mais s’exécutent directement au sein du kernel de la machine. Ce qui veut dire que vous pouvez exécuter plus de conteneurs sur une combinaison hardware donnée que si vous utilisiez des machines virtuelles. Vous pouvez même exécuter les conteneurs Docker au sein de machines hôtes qui sont en fait des machines virtuelles. Tout cela rend les conteneurs –et Docker- idéal pour l’intégration et la livraison continus.

Docker lui-même utilise une architecture client-serveur. Le client s’adresse au daemon, qui a la lourde tâche de concevoir, exécuter et distribuer les conteneurs. Le client Docker et le daemon peuvent s’exécuter sur le même système, ou vous pouvez connecter le client à un daemon distant. Le client Docker et le daemon communiquent en utilisant une API REST, sur des sockets UNIX, ou une interface en réseau.

Orchestrer la gestion et le déploiement des conteneurs Docker

En dépit de tous ses avantages, Docker a tout de même besoin de sa propre plateforme à gérer, quelqu’un pour gérer la conception, l’exécution, l’assignation et l’arrêt des conteneurs (ainsi que de nombreuses tâches administratives). Et Docker lui-même doit tout de même prendre en compte les environnements avec lesquels il interagit, notamment la couche d’infrastructure et d’autres services logiciel traditionnels qui ne s’exécutent pas au sein de l’environnement de conteneur. Le temps consacré par les développeurs à ce genre de tâche est coûteux, et le résultat est bien souvent des délais non respectés. Côté production, le temps que les équipes consacrent à ces tâches génèrent des goulets d’étranglement avant les déploiements en production, résultant parfois dans des échecs de production.

Il existe une solution vous permettant d’orchestrer tous les composants –équipes, processus et technologie- prenant part à la gestion et au déploiement des conteneurs Docker. Les packages de Release Automation. Le built présent dans le système de provisionnement du modèle de conteneur Automic, associé à l’Action Pack Docker d’Automic, vous permet de modéliser l’intégralité des systèmes Docker, concevoir des traitements visuels et automatiser conception, maintenance, provisionnement, configurations de conteneurs, ainsi que la plupart des tâches administratives. Ce qui non seulement améliore la productivité des développeurs et des administrateurs, mais réduit également le risque d’erreurs. Assurer automatiquement que l’infrastructure sous-jacente ait la capacité de supporter les traitements de conteneur envisagés, ou que certaines versions de conteneurs soient systématiquement déployées avec les bonnes versions de package des services externes, en sont deux illustrations.

La fonctionnalité de provisionnement du modèle d’environnement Docker et l’Action Pack Automic offrent un système de packaging applicatif intégré, des modèles de déploiement intelligents, et des actions natives pour les tâches courantes de déploiement, avec une conception de traitements robuste et une capacité d’exécution de grands volumes. Le package Automic-Docker permet aux utilisateurs de concevoir, provisionner, configurer et gérer les conteneurs Docker en tant que processus de déploiement applicatif automatisé.

Enfin, cette solution accélère les déploiements vers les conteneurs Docker, garantit la qualité des déploiements de conteneurs et minimise les frais de gestion, pour aider les équipes de développement et de production à dynamiser l’activité. 

New Call-to-action

Découvrez cet enregistrement sur la Containerologie au cœur de la livraison continue.

Suggested resource

Découvrez cet enregistrement sur la Containerologie au cœur de la livraison continue.
Webinar Suivre

Découvrez cet enregistrement sur la Containerologie au cœur de la livraison continue.

Découvrez ce webcast sur la Containerologie – DevOps, Docker et Microservices au cœur de la livraison continue. Cliquez ici pour le regarder

ARA
Docker
DevOps
Containerization
Back to the blog
French - Ron Gidron

Ron Gidron

Ron Gidron est Directeur du Marketing produit Release Automation chez Automic Software. Il a 14 ans d’expérience dans le marketing produit, le management de produit et l’avant-vente à la fois dans des startups et des grandes entreprises. Ron est fasciné par l’intersection des logiciels, des utilisateurs et des tendances du marché.