Goodies à gogo sur Docker

docker-small_v-transLa technologie de conteneurs Docker (site officiel éponyme https://www.docker.com  ) bouleverse les habitudes des équipes de développement, de test, de déploiement, d’exploitation, de « DevOps »…

C’est quoi Docker ?

C’est une approche alternative et novatrice dans le processus de packaging et déploiement d’applications (web), prenant en hypothèse:

  • Les exploitants ne devraient pas de préoccuper de la façon dont les conteneurs sont construits, ni ce qu’ils contiennent (!!). Et devraient les considérer comme des boites-noires (appliances) interconnectées les unes aux autres.
  • Les conteneurs sont construits par les développeurs, et utilisés tels quels partout (ça sent le miracle promis par Java à une certaine époque: « write once, run anywhere »). Partout ça veut dire: en test, dev, et en production.
  • On ne met pas une application à jour, on la redéploie: ça implique une gestion fine des éventuels paramètres de configuration.
  • Ces applications devraient être publiées en entrepôt (docker « registry« ).

Notion de Registry

Incontournable, le « registry » est un composant majeur, car utilisé à tous les niveaux:

  • Développement: évidemment, pour partir d’une bonne base de travail. Cela permet de bénéficier des couches basses pré-qualifiées avec les stacks souhaitées (PHP, Java, Ruby…).
    Ces ressources sont obtenues depuis docker.io , utilisé ainsi comme un gestionnaire de ressources (comme depuis github…).
  • Exploitation: moins évident, il faut de solides connaissance « DevOps » (le terme à la mode) et une grande confiance dans le système.
    Mais peut contribuer à solidifier ces couches basses avec patches de sécurité, ou bonnes pratiques selon le besoin.
  • NB: localement le développement s’appuie sur des registries internes pour la production d’application clé-en-main.
    Cette méthode est confortable pour le développeur, car elle ne perturbe pas sa façon de travailler. En effet, sur registries interne: on tagge, on commit, etc. comme sur un repo Git!
  • Enfin, sur une version qualifiée du registry interne, l’exploitation peut déployer l’application. L’intérêt est de minimiser la bande passante lors des futures opérations (upgrades).

Docker-diapositive1

Aller plus haut

Un peu d’outillage n’est pas superflu 🙂 , et pas mal de littérature fleurit sur le sujet, tant mieux! Ce petit billet en compilation de bonnes feuilles.

Montée en puissance

Tout doucement, commencer par la base sur les conteneurs!

Gestion des conteneurs : https://linuxfr.org/news/gerer-les-containers-avec-docker
Tutoriel pour manipuler les conteneurs: https://linuxfr.org/news/docker-tutoriel-pour-manipuler-les-conteneurs
Quelques logiciels pour survivre avec : https://linuxfr.org/news/logiciels-pour-survivre-avec-docker , basé sur http://blog.adminrezo.fr/2014/04/logiciels-environnement-docker-lxc-linux-containers/

Cas pratiques

On peut s’en servir pour qualifier des technos rapidement, par exemple « LemonLDAP::NG » :
https://blog.savoirfairelinux.com/2015/tester-lemonldapng-en-5-minutes-avec-docker/

Faire de la composition de conteneur:
http://javaetmoi.com/2015/07/plateforme-lamp-docker-compose/

Et rêve de tout développeur, automatiser la chaîne de production grâce à l’intégration continue:
http://blog.xebialabs.com/2015/09/16/docker-container-delivery-vs-traditional-app-delivery-in-xl-deploy/

 

 

Ressources

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.