RousselTMLEARNING

Article · DevOps : de la découverte à l'expertise

Conteneurs, Kubernetes et cloud native

1. Pourquoi les conteneurs #

« Ça marche sur ma machine » ne suffit plus.

Les apports #

Pile cloud native
Les conteneurs standardisent l'artefact ; Kubernetes standardise l'exploitation.
  • Un artefact unique et reproductible qui contient l'application et ses dépendances.
  • La parité entre développement, test et production (12 facteurs, facteur X).
  • Un démarrage en secondes, adapté à la mise à l'échelle et aux déploiements progressifs.
  • Une interface commune pour tous les langages : le pipeline et la plateforme traitent toutes les applications de la même façon.

Une bonne image #

# Dockerfile multi-stage : image finale minimale, sans outils de build
FROM python:3.12-slim AS build
WORKDIR /app
COPY requirements.txt .
RUN pip wheel --no-cache-dir -r requirements.txt -w /wheels

FROM python:3.12-slim
RUN useradd -r -u 10001 app
WORKDIR /app
COPY --from=build /wheels /wheels
RUN pip install --no-cache-dir /wheels/* && rm -rf /wheels
COPY src/ .
USER app
EXPOSE 8080
HEALTHCHECK CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:8080/health')"
CMD ["gunicorn", "-b", "0.0.0.0:8080", "main:app"]
Bonne Pratique : Image de base minimale et épinglée, utilisateur non root, une seule application par conteneur, logs sur la sortie standard, configuration par variables d'environnement.

2. Kubernetes #

La plateforme d'exécution standard.

Ce qu'il apporte au DevOps #

BesoinRéponse Kubernetes
Déployer sans interruptionDeployment, rolling update, readiness probes
Se réparer seulredémarrage des conteneurs, replanification des pods
Absorber la chargeHorizontalPodAutoscaler
Décrire en codemanifestes YAML, Helm, Kustomize
Isoler les équipesnamespaces, quotas, RBAC, NetworkPolicies

Helm et Kustomize #

# Kustomize : une base et des surcouches par environnement
overlays/production/kustomization.yaml
resources: [../../base]
images:
  - name: shop-api
    newName: ghcr.io/mon-org/shop-api
    newTag: 3f9c2e1
replicas:
  - name: shop-api
    count: 6
kustomize build overlays/production | kubectl apply -f -
helm upgrade --install shop ./chart -f values-production.yaml --set image.tag=3f9c2e1 --atomic

3. Choisir son modèle d'exécution #

Pas de Kubernetes par défaut.

Comparaison #

ModèleQuandCharge d'exploitation
Machines virtuelles + Ansibleapplications historiques, besoins système spécifiquesélevée
Conteneurs sur un hôte (Compose)petite application, peu d'instancesfaible
Conteneurs managés (Cloud Run, ECS, Azure Container Apps)services web sans besoin d'orchestration finefaible
Kubernetesnombreux services, équipes multiples, plateforme interneélevée (ou managée : EKS, GKE, AKS)
Serverless (fonctions)événements, charge très variabletrès faible
À savoir : Les formations Docker et Kubernetes de RousselTM Learning détaillent la construction d'images, Compose, Swarm, l'orchestration et la sécurité des clusters.

📄 Conteneurs, Kubernetes et cloud native dans une démarche DevOps →

Mon suivi

  • ⏱ Durée estimée : ≈ 6 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

✉️ Poser une question

Glossaire de la formation

DevOps

Culture, mouvement et pratiques visant à unifier le développement logiciel (Dev) et l'administration des infrastructures informatiques (Ops).Découvrir...

DevSecOps

Intégration native de la sécurité (Security) dès la conception et tout au long du cycle de vie DevOps (approche "Shift-Left").Voir comment intégrer la...

AIOps (Artificial Intelligence for IT Operations)

Utilisation de l'intelligence artificielle et de l'apprentissage automatique pour automatiser et améliorer les opérations informatiques (ex: détection...

NoOps

Concept où l'environnement informatique est tellement automatisé et abstrait (ex: Serverless, PaaS) qu'il ne nécessite quasiment plus d'équipe opérati...

GitOps

Pratique de déploiement continu où un dépôt Git sert de source unique de vérité déclarative pour l'infrastructure et les applications.Maîtriser le dép...

FinOps (Financial Operations)

Culture de responsabilité financière du Cloud visant à maximiser la valeur métier en optimisant les coûts. Elle permet une collaboration étroite entre...

SRE (Site Reliability Engineering)

Discipline qui applique les principes de l'ingénierie logicielle aux problématiques d'exploitation. Le but est de créer des systèmes hautement scalabl...

Platform Engineering

Discipline consistant à concevoir et construire des chaînes d'outils et des flux de travail permettant aux développeurs de gérer leur infrastructure e...

Articles recommandés

Mur de la confusion

Le 'mur de la confusion' (ou 'wall of confusion') est une métaphore souvent utilisée dans le cont...

Soutien Logistique Intégré

Soutien Logistique Intégré (SLI) (L'Integrated Logistics Support (ILS) en anglais), est une appro...

Application 12 Facteurs

Un guide détaillé sur la méthodologie des 12 facteurs pour le développement d'applications modern...

Le framework CALMS : Les 5 piliers du DevOps

Découvrez le framework CALMS, le socle indispensable pour réussir votre transformation DevOps à t...

Bonnes pratiques DevOps : culture, CI/CD, infrastructure as code et mesure

Bonnes pratiques DevOps : culture et collaboration, intégration et livraison continues, trunk-bas...

Tests de charge avec Grafana k6 : pourquoi et quels types de tests

Pourquoi tester la performance avant la production, les types de tests (smoke, charge, stress, pi...

Écrire des scripts k6 : requêtes, vérifications, scénarios et exécuteurs

La structure d'un script k6 (init, setup, default, teardown), les requêtes HTTP, les checks, les ...

Seuils, métriques et résultats d'un test k6

Lire le résumé d'un test k6, comprendre les métriques intégrées (http_req_duration, http_req_fail...

Observer un test k6 : Prometheus, Grafana et corrélation avec le système testé

Envoyer les résultats de k6 dans Prometheus (remote write) ou en OpenTelemetry, les visualiser da...