DevOps·

Docker et Kubernetes : Le cœur des DevOps

Explorez comment Docker et Kubernetes révolutionnent le monde de la DevOps, offrant flexibilité, échelle et automatisation.
Docker et Kubernetes : Le cœur des DevOps

Docker et Kubernetes : pourquoi ce duo est au coeur de tous mes projets

En 15 ans de DevOps, j'ai vu des technologies aller et venir. Docker et Kubernetes sont de ceux qui restent, et pour de bonnes raisons. Voici ce que j'ai appris en les déployant sur des dizaines de projets, de la startup au secteur défense.

Docker : la portabilité comme superpouvoir

Le moment où Docker a changé ma façon de travailler, c'est quand j'ai réalisé qu'on pouvait éliminer définitivement le "ça marche sur ma machine". Chez Epiconcept, avant Docker, le déploiement d'une application de santé publique nécessitait 2 heures de configuration manuelle par serveur. Après la conteneurisation, c'est devenu un docker pull suivi d'un docker run. Chez TEKYN, chaque microservice e-commerce est un conteneur Docker avec un sidecar Nginx, déployé sur ECS Fargate. L'isolation est totale : chaque service a ses propres dépendances sans conflit possible.

Kubernetes : l'orchestration à l'échelle industrielle

Mon premier cluster Kubernetes de production, c'était chez Metronome sur OVH Cloud. Monté from scratch avec Terraform, orchestré avec Helm, monitoré avec Grafana/Prometheus/Loki. Depuis, j'ai déployé Kubernetes sur pratiquement tous les cloud providers du marché : EKS sur AWS (F2R2, Coopengo, Earny SA), GKE sur GCP (Okeiro), Kubernetes managé sur OVH (KNDS). Ce que Kubernetes apporte de fondamental, c'est la déclaration d'intention : vous décrivez l'état souhaité (3 réplicas, 512 Mo de RAM, une liveness probe sur /health), et Kubernetes s'assure que c'est toujours le cas. Si un conteneur meurt, il le redémarre. Si un node tombe, il redéploie les pods ailleurs.

Tests automatisés : Docker comme fondation

Les tests sont bien plus fiables dans des conteneurs Docker. Chez Bloomflow, les tests d'intégration tournent dans des conteneurs avec une base PostgreSQL éphémère : chaque test part d'un état propre, garanti identique à la production. Chez Coopengo, les tests en environnement HDS sur AWS utilisent le même pattern. Docker garantit que l'environnement de test ne dérive jamais de l'environnement de production, éliminant une catégorie entière de bugs.

L'intégration avec l'écosystème DevOps

Docker et Kubernetes ne vivent pas seuls. Chez KNDS, le cluster Kubernetes OVH Cloud est piloté par ArgoCD pour le déploiement GitOps, les secrets sont gérés via OKMS, et la sécurité repose sur des NetworkPolicies strictes et des profils seccomp. Chez F2R2, Terraform provisionne le cluster EKS, GitHub Actions build les images Docker, et ArgoCD déploie les manifestes Kubernetes. C'est cette intégration fluide avec Ansible, Terraform, GitHub Actions et ArgoCD qui transforme Docker et Kubernetes en une véritable plateforme de livraison continue.

Le Cloud Native, une réalité quotidienne

Docker et Kubernetes m'ont naturellement amené vers le Cloud Native. Chez Okeiro, l'application e-santé est déployée sur GKE Autopilot dans le cloud souverain S3NS (Thales x Google), avec un Helm Chart regroupant 4 composants FHIR et une gestion d'identité Workload Identity. Chez Bloomflow, la migration vers Outscale SecNumCloud pour la DGE a prouvé que les conteneurs sont véritablement portables : le même Helm Chart déploie l'application sur n'importe quel cloud Kubernetes-compatible, des hyperscalers aux clouds souverains.

Docker et Kubernetes : un investissement qui ne se déprécie pas

Les compétences Docker et Kubernetes sont transférables entre projets, providers et secteurs d'activité. C'est un investissement de carrière pour les ingénieurs et un investissement stratégique pour les entreprises. Après plus de 100 projets, je n'ai jamais regretté d'avoir standardisé ma stack autour de ce duo.


RDV