Introduction au DevOps 22 min de lecture

Les pratiques fondamentales

CI/CD : Integration et Deploiement Continus

Workflow CI/CD typique :

  git push
     |
     v
  +------------------+
  | Integration      |     Build, tests unitaires,
  | Continue (CI)    |     analyse de code, securite
  +------------------+
     |
     v
  +------------------+
  | Livraison        |     Image Docker construite,
  | Continue (CD)    |     stockee dans un registry
  +------------------+
     |
     v
  +------------------+
  | Deploiement      |     Deploy sur staging puis
  | Continu          |     production (Kubernetes)
  +------------------+

Infrastructure as Code (IaC)

L'infrastructure est decrite dans des fichiers versionnes, pas configuree manuellement.

# Terraform : creer l'infrastructure
resource "aws_instance" "web" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t3.medium"
  tags = {
    Name = "web-server"
  }
}

# Ansible : configurer les serveurs
- hosts: web_servers
  tasks:
    - name: Installer nginx
      apt:
        name: nginx
        state: present

Conteneurisation et Orchestration

Docker empaquete les applications, Kubernetes les orchestre en production.

# Docker : creer une image reproductible
FROM node:18-alpine
COPY . /app
RUN npm install
CMD ["npm", "start"]

# Kubernetes : deployer et scaler
kubectl apply -f deployment.yaml
kubectl scale deployment web --replicas=5

Monitoring et Observabilite

Les trois piliers de l'observabilite :

  • Metriques : Prometheus collecte les donnees numeriques (CPU, requetes/s, erreurs)
  • Logs : Centralises avec Loki ou ELK Stack
  • Traces : Jaeger ou Tempo pour suivre les requetes entre microservices
Principe cle : "Si ce n'est pas automatise, ca n'existe pas." En DevOps, tout doit etre reproductible et versionne.