Commencer avec DevOps
Table des matières
- Par où commencer ?
- Les premiers pas techniques
- Construire votre lab
- Roadmap d'apprentissage
- Ressources recommandées
1 - Par où commencer ?
Évaluer votre point de départ
Checklist des prérequis
| Compétence | Niveau requis | Priorité |
|---|---|---|
| Linux basics | Intermédiaire | Haute |
| Ligne de commande | Confortable | Haute |
| Git | Fondamentaux | Haute |
| Scripting (Bash/Python) | Basique | Moyenne |
| Networking basics | Fondamentaux | Moyenne |
| Cloud concepts | Notions | Moyenne |
Auto-évaluation
Évaluez-vous de 1 (débutant) à 5 (expert) :
| Domaine | Score |
|---|---|
| Linux/Unix | ? |
| Git | ? |
| Scripting | ? |
| Containers | ? |
| Cloud | ? |
| CI/CD | ? |
| IaC | ? |
astuce
Concentrez-vous d'abord sur vos lacunes les plus critiques (Linux, Git, scripting) avant de passer aux outils avancés.
🔝 Retour à la table des matières
2 - Les premiers pas techniques
Étape 1 : Maîtriser les fondamentaux Linux
Compétences essentielles :
# Navigation et fichiers
ls, cd, pwd, mkdir, rm, cp, mv
# Visualisation
cat, less, head, tail, grep
# Permissions
chmod, chown, sudo
# Processus
ps, top, kill, systemctl
# Réseau
ping, curl, netstat, ss
Étape 2 : Git et GitHub
Commandes à maîtriser :
git init,git clonegit add,git commit,git push,git pullgit branch,git checkout,git mergegit log,git diff,git status
Étape 3 : Scripting
Bash pour l'automatisation système :
#!/bin/bash
# Exemple: Script de backup
DATE=$(date +%Y%m%d)
tar -czf backup_$DATE.tar.gz /path/to/data
echo "Backup completed: backup_$DATE.tar.gz"
Python pour des scripts plus complexes :
#!/usr/bin/env python3
import os
import subprocess
def check_service(service_name):
result = subprocess.run(
['systemctl', 'is-active', service_name],
capture_output=True, text=True
)
return result.stdout.strip() == 'active'
services = ['nginx', 'docker', 'postgresql']
for svc in services:
status = "UP" if check_service(svc) else "DOWN"
print(f"{svc}: {status}")
Étape 4 : Docker
Commandes essentielles :
# Images
docker pull nginx
docker build -t myapp .
docker images
# Containers
docker run -d -p 80:80 nginx
docker ps
docker logs <container>
docker exec -it <container> bash
docker stop <container>
# Cleanup
docker rm <container>
docker rmi <image>
Étape 5 : Premier pipeline CI/CD
Exemple GitHub Actions :
name: CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: echo "Building..."
- name: Test
run: echo "Testing..."
🔝 Retour à la table des matières
3 - Construire votre lab
Option 1 : Lab local avec Vagrant/VirtualBox
# Vagrantfile
Vagrant.configure("2") do |config|
config.vm.define "devops-lab" do |lab|
lab.vm.box = "ubuntu/jammy64"
lab.vm.network "private_network", ip: "192.168.56.10"
lab.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
vb.cpus = 2
end
end
end
Option 2 : Docker Desktop
# docker-compose.yml pour un lab DevOps
version: '3.8'
services:
jenkins:
image: jenkins/jenkins:lts
ports:
- "8080:8080"
volumes:
- jenkins_data:/var/jenkins_home
gitlab:
image: gitlab/gitlab-ce:latest
ports:
- "80:80"
- "443:443"
volumes:
- gitlab_data:/var/opt/gitlab
volumes:
jenkins_data:
gitlab_data:
Option 3 : Cloud gratuit
| Provider | Offre gratuite |
|---|---|
| AWS | Free tier 12 mois |
| Azure | 200$ crédits + services gratuits |
| GCP | 300$ crédits + always free |
| Oracle Cloud | Always free tier généreux |
remarque
Commencez par un lab local pour apprendre sans frais, puis passez au cloud pour des projets plus réalistes.
Projets pratiques recommandés
| Projet | Compétences développées |
|---|---|
| Site web avec CI/CD | Git, GitHub Actions, Docker |
| Infrastructure AWS avec Terraform | IaC, Cloud |
| Monitoring stack | Prometheus, Grafana |
| Cluster Kubernetes local | K8s, containers |
🔝 Retour à la table des matières
4 - Roadmap d'apprentissage
Roadmap 12 mois
Par niveau
Mois 1-3 : Fondamentaux
- Linux administration
- Git et GitHub
- Bash scripting
- Python basics
Mois 4-6 : Conteneurisation et CI/CD
- Docker
- Docker Compose
- GitHub Actions ou GitLab CI
- Tests automatisés
Mois 7-9 : Cloud et IaC
- AWS ou Azure fundamentals
- Terraform
- Ansible basics
Mois 10-12 : Orchestration et Monitoring
- Kubernetes basics
- Prometheus + Grafana
- ELK Stack
attention
N'essayez pas d'apprendre tout en même temps. Maîtrisez chaque niveau avant de passer au suivant.
🔝 Retour à la table des matières
5 - Ressources recommandées
Livres
| Titre | Auteur | Niveau |
|---|---|---|
| The Phoenix Project | Gene Kim | Débutant |
| The DevOps Handbook | Gene Kim et al. | Intermédiaire |
| Site Reliability Engineering | Avancé | |
| Kubernetes in Action | Marko Lukša | Intermédiaire |
Plateformes d'apprentissage
| Plateforme | Type | Prix |
|---|---|---|
| Linux Foundation | Certifications | Payant |
| KodeKloud | Labs interactifs | Freemium |
| A Cloud Guru | Vidéos + Labs | Payant |
| freeCodeCamp | Gratuit | Gratuit |
| Udemy | Vidéos | Payant (promos fréquentes) |
Labs en ligne gratuits
| Ressource | Description |
|---|---|
| Play with Docker | Lab Docker temporaire |
| Play with Kubernetes | Lab K8s temporaire |
| Katacoda | Scénarios interactifs |
| GitHub Learning Lab | Apprendre Git/GitHub |
Communautés
| Communauté | Plateforme |
|---|---|
| DevOps subreddit | |
| Docker Community | Slack |
| CNCF | Slack |
| DevOpsDays | Conférences |
| Meetups locaux | Meetup.com |
Certifications (optionnelles mais utiles)
🔝 Retour à la table des matières
Plan d'action concret
Semaine 1
- Installer un environnement Linux (WSL, VM ou dual boot)
- Créer un compte GitHub
- Suivre un tutoriel Git basique
- Écrire votre premier script Bash
Semaine 2-4
- Compléter un cours Linux basics
- Maîtriser les commandes Git essentielles
- Créer votre premier repository et README
Mois 2
- Installer Docker
- Conteneuriser une application simple
- Créer votre premier docker-compose.yml
Mois 3
- Configurer votre premier pipeline CI/CD
- Automatiser les tests
- Déployer automatiquement
🔝 Retour à la table des matières
Points clés à retenir
- Évaluez votre niveau avant de commencer
- Les fondamentaux (Linux, Git, scripting) sont essentiels
- Construisez un lab pratique pour expérimenter
- Suivez une roadmap progressive sur 12 mois
- La pratique est plus importante que la théorie
- Rejoignez des communautés pour apprendre des autres