Nous contacter

Votre message a bien été envoyé !

Mince, visiblement quelque chose est cassé de notre côté. Que diriez vous de nous envoyer un email directement sur contact@plunge.cloud ?

Retour vers les articles

Docker et Devops, indissociables ?

Martin Catty
Martin Catty
Publié le 21 janvier 2020 08:00:00 CET

Mettre en place une culture devops, pour apporter de la valeur aux clients le plus rapidement possible et renforcer la collaboration entre les équipes nécessite l'usage de certains outils.

Si la communication entre les équipes de développement, d'exploitation et de sécurité est clé, l'usage d'outils communs est également très important.

Perdu(e) dans le "jargon" du devops ? Téléchargez notre glossaire et obtenez une définition simple des termes  techniques liés au devops.

Outils Devops : pourquoi Docker ?

Selon la dernière étude "State of the Cloud" menée par RightScale auprès de 1000 entreprises à travers le monde, Docker serait la technologie la plus déployée parmi les entreprises ayant adopté le cloud computing.

state-of-the-cloud-2019_docker-usage

 

La promesse de Docker est d'offrir un moyen unifié et consistant pour construire des images applicatives et de les faire tourner en abstrayant les ressources sous-jacentes (machines physiques ou virtuelles).

Elle permet ainsi de concevoir, tester, et déployer des applications plus rapidement, et ce quel que soit l'environnement et l'hôte.

Selon la société Docker, ce sont plus 3,5 millions d'applications containerisées à ce jour (chiffres 2018).

Docker pour le Devops : des atouts indéniables

docker-logo

Docker n'est pas le seul outil permettant ce type d'usage. Avant lui, des outils comme Vagrant ont permis de standardiser des processus de création de machines virtuelles pouvant tourner à la fois localement, chez des providers ou des serveurs nus.

Toutefois, un certain nombre de qualités intrinsèques à Docker lui ont permis de prendre rapidement un réel essor :

  • Il ne nécessite pas d'émuler des ressources et s'appuie sur celles de la machine hôte
  • Il ne nécessite pas de lancer un système d'exploitation à part entière
  • Il est très simple de construire son image applicative, soit en partant de zéro, soit depuis des images existantes. Il suffit de parcourir le Hub Docker pour s'en rendre compte
  • Une machine virtuelle ou physique peut faire tourner tout un tas de conteneurs
  • À l'inverse d'une machine virtuelle, si un conteneur tombe, ce n'est pas gênant (pet vs cattle)
  • Il est très facile et rapide de scaler des conteneurs, notamment car les conteneurs démarrent rapidement
  • Le setup local est simple, ce qui permet de fluidifer l'onboarding technique des équipes
  • La construction d'images applicatives et l'exécution de conteneurs sont progressivement standardisés au travers de l'open container initiative, ce qui limite l'adhérence à un outil particulier comme Docker
machines-virtuelles-vs-conteneurs

VM vs conteneurs

On voit sur ce schéma qu'une machine virtuelle peut faire tourner plusieurs conteneurs, de nature différente. Rien n'empêche un serveur de faire tourner des conteneurs de l'app 1 et/ou 2, là où l'utilisation d'outils tels que Vagrant limite la VM à une seule application.

On peut également cloisonner les conteneurs tournant au sein d'une même machine via des réseaux étanches.

Démarche Devops : faut-il adopter Docker ?

Les conteneurs se sont rapidement imposés, au travers de Docker, comme utilisables sur l'ensemble de la chaîne de production logicielle, du développement à la production.

Une fois que l'on commence à s'en servir localement, on peut alors s'appuyer sur ce qui a été fait pour mettre en place des environnements de feature, de pré-production, du CI/CD et même l'utiliser en production.

L'aspect largement communautaire et open source de ces outils offre également des ressources précieuses facilitant leur mise en place.

En effet, le support des containers est partout, que ce soit sur les infrastructures de type IaaS (AWS avec ECS) ou encore par le biais de Kubernetes qui a pris un essor considérable.

Selon Forrester, k8s aurait d'ores et déjà gagné la guerre de l'orchestration de conteneur :

«Kubernetes has won the war for container orchestration dominance and should be at the heart of your microservices plans»

 

Intégration de Docker : un premier pas vers la culture devops

L'intégration de nouveaux outils ou processus peut parfois rebuter car elle entraîne quasi systématiquement une phase de productivité moindre : on passe d'un processus qu'on maîtrise, parfois très court, à quelque chose de plus standardisé, avec des étapes indispensables voire une séparation des rôles.

Pourtant, la mise en place d'une culture devops ou devsecops ne permet pas que de standardiser ces processus. Elle permet également de renforcer la collaboration au sein des équipes, améliorer la sécurité des applications, etc.

Docker, s'il n'est pas un pré-requis absolu, est de plus en plus répandu dans l'écosystème devops et applicatif. Au-delà de l'outil lui-même, il est indispensable pour les DSI de s'intéresser de très près à l'univers de la conteneurisation et de l'orchestration.

C'est d'autant plus important que ce mouvement reste malgré tout assez jeune et ne souffre pas (encore ?) d'une importante fragmentation. Dans le domaine des conteneurs, Docker est l'outil n°1 et l'intégrer dans son SI, ne serait-ce que progressivement, ne sera pas une perte de temps.

Télécharger notre Glossaire du Devops

Partager l'article sur

Laisser un commentaire