Docker
Pour une meilleure expérience de développement et de production
Docker est un logiciel libre permettant la conteneurisation de composants applicatifs.
Docker, dès son arrivée, s'est très vite imposé comme la solution de conteneurisation principale. Bien que la technologie sous-jacente de conteneurisation, LXC, existait depuis longtemps dans le noyau Linux, Docker a permis la démocratisation de cette technologie par l'intermédiaire d'une API de haut niveau très facile d'accès.
Un must-have
Pouvoir packager son application et toutes les dépendences de son environnement dans des conteneurs, être en mesure de composer plusieurs conteneurs et leur inter-connexion via docker-compose, s'avère être un ensemble de fonctionnalités intéressantes et pratiques pour le développement : on ne pollue pas son environnement global, on peut tester plus facilement des cas particuliers, on isole chacune de nos dépendances pour plus de sécurité, et surtout, un simple docker-compose up
suffit pour le bootstrap d'une application. Le déploiement en production se voit aussi simplifié et optimisé : on a un ensemble d'images déterministes qui ont moins de risque de présenter des disparités difficilement déboguables en production.
Mon expérience
Pour ces raisons, j'utilise Docker au quotidien, pour le développement comme pour la production. Pour des besoins propres à l'embarqué, j'ai par exemple eu l'occasion de créer Docker Crossarch, un système de build automatique quotidien permettant de compiler des images Docker cross-architecture (armhf, amd64, etc.) à partir d'un Dockerfile
unifié. De cette façon, la même image peut-être utilisée sur des ordinateurs « classiques » (amd64), ou sur des Raspberry Pi (armhf), par exemple, ce qui était un de mes besoins pour mes projets domotiques.
Je considère avoir un niveau intermédiaire en Docker. En effet, je maîtrise docker dans son utilisation quotidienne, mais mes compétences en terme d'orchestration se limitent à docker-compose. J'envisage, si le besoin se présente, de me former sur des technologies d'orchestration plus poussées, comme Kubernetes.
Envie de discuter ?
Vous pouvez me contacter par e-mail à bonjour+web@marvinroger.fr.
Vous trouverez également mon numéro de téléphone sur mon C.V.