FAQ - Questions fréquentes
Questions générales sur la formation
Quel est le niveau requis pour suivre cette formation ?
Niveau recommandé :
- Connaissances de base en développement logiciel
- Familiarité avec Git et les concepts de versioning
- Notions de base sur les systèmes Linux/Unix
- Expérience avec les lignes de commande
Prérequis techniques :
- Docker installé et fonctionnel
- Git configuré
- Éditeur de code (VS Code recommandé)
- 16GB RAM et 50GB d'espace disque libre
Puis-je suivre la formation sur Windows/macOS ?
Oui, absolument ! Cette formation a été conçue pour être cross-platform.
Windows :
- Utiliser WSL2 (Windows Subsystem for Linux) recommandé
- Docker Desktop for Windows
- Git Bash ou PowerShell
macOS :
- Homebrew pour l'installation des outils
- Docker Desktop for Mac
- Terminal natif
Linux :
- Environnement natif idéal
- Package managers (apt, yum, pacman)
- Docker Engine
Combien de temps faut-il prévoir pour maîtriser ces concepts ?
Formation initiale : 3 jours intensifs
Maîtrise pratique :
- Niveau opérationnel : 2-3 mois de pratique
- Niveau expert : 6-12 mois d'expérience continue
- Expertise avancée : 1-2 ans selon le domaine de spécialisation
Conseil : La pratique régulière est plus importante que la durée. 2h par semaine pendant 3 mois valent mieux que 20h d'affilée.
Questions techniques - Jour 1
Pourquoi utiliser Gitea plutôt que GitHub/GitLab ?
Avantages de Gitea :
- Self-hosted : Contrôle total de vos données
- Léger : Faible consommation de ressources
- Simple : Interface épurée et intuitive
- Open source : Code libre et transparence
- Économique : Pas de coûts de licence pour les équipes privées
Cas d'usage idéaux :
- Équipes qui veulent maîtriser leur infrastructure
- Environnements avec contraintes de sécurité/compliance
- Projets nécessitant des customisations spécifiques
- Budget limité pour les outils DevOps
Les actions Gitea sont-elles aussi puissantes que GitHub Actions ?
Fonctionnalités similaires :
- Syntaxe YAML compatible
- Déclencheurs sur événements Git
- Matrice de builds
- Secrets et variables d'environnement
- Actions marketplace (limitée)
Différences principales :
- Écosystème d'actions plus restreint
- Runners self-hosted uniquement
- Moins de templates prêts à l'emploi
- Performance dépendante de votre infrastructure
Verdict : Suffisant pour la plupart des besoins CI/CD, surtout en environnement contrôlé.
Comment gérer les secrets sensibles en sécurité ?
Niveaux de sécurité :
-
Repository secrets (Gitea/GitHub)
- Chiffrés au repos
- Accessibles aux workflows du repo
- Ne pas logger ou exposer
-
External secret managers
- HashiCorp Vault
- AWS Secrets Manager
- Azure Key Vault
- Google Secret Manager
-
Kubernetes secrets
- Base64 encodés (pas chiffrés !)
- Utiliser des operators comme External Secrets
Bonnes pratiques :
Code
Questions techniques - Jour 2
Kubernetes est-il vraiment nécessaire pour toutes les applications ?
Kubernetes est justifié quand :
- Applications multi-services (microservices)
- Besoins de haute disponibilité
- Scaling automatique requis
- Équipes multiples travaillant sur des services différents
- Environnements multi-cloud ou hybrid
Alternatives plus simples :
- Docker Compose : Parfait pour le développement et petites applications
- Docker Swarm : Orchestration simple
- Serverless : AWS Lambda, Google Functions
- Platform as a Service : Heroku, Railway, Fly.io
Coût vs bénéfice : Kubernetes apporte de la complexité. Ne l'utilisez que si vous avez vraiment besoin de ses capacités.
Comment choisir entre différentes stratégies de déploiement ?
Rolling Update (défaut)
Code
Blue/Green
Code
Canary
Code
Recreate
Code
Faut-il vraiment un Docker Registry privé ?
Registry privé recommandé si :
- Contraintes de sécurité/compliance
- Code propriétaire sensible
- Contrôle des coûts de bande passante
- Performance critique (latence)
- Personnalisations nécessaires
Registry public suffisant si :
- Projets open source
- Applications simples
- Budget limité
- Équipe réduite
Hybrid approach :
- Registry public pour les images de base
- Registry privé pour vos applications métier
Questions techniques - Jour 3
GitOps vs CI/CD traditionnel : quelle différence ?
CI/CD traditionnel (Push-based) :
Code
- Pipeline pousse les changements vers la production
- Accès direct aux clusters de production depuis CI/CD
- État désiré défini dans les outils CI/CD
GitOps (Pull-based) :
Code
- Agent dans le cluster tire les changements
- Aucun accès externe direct au cluster
- État désiré versionné dans Git
Avantages GitOps :
- Sécurité renforcée (pas d'accès externe)
- Auditabilité complète (tout dans Git)
- Rollback simple (git revert)
- Réconciliation continue
CDK8s vs Helm vs YAML brut : que choisir ?
YAML brut
Code
Helm
Code
CDK8s
Code
Kustomize
Code
Comment gérer les secrets dans GitOps ?
Problème : Les secrets ne peuvent pas être stockés en clair dans Git.
Solutions :
- External Secrets Operator
Code
- Sealed Secrets
Code
- SOPS (Secrets OPerationS)
Code
- Argo CD + Vault Plugin
Code
Questions de mise en production
Comment migrer une application existante vers ce stack ?
Approche progressive recommandée :
Phase 1 : Containerisation
- Dockeriser l'application existante
- Tester en local avec docker-compose
- Mettre en place le CI pour builder l'image
Phase 2 : Orchestration
- Déployer sur Kubernetes (1 environnement)
- Configurer les health checks
- Tester la résilience
Phase 3 : Pipeline
- Automatiser le déploiement CI/CD
- Ajouter les tests automatisés
- Multi-environnements
Phase 4 : GitOps
- Séparer code app et configuration
- Implémenter Argo CD
- Formation des équipes
Durée typique : 3-6 mois selon la complexité
Quels sont les coûts cachés de cette architecture ?
Coûts d'infrastructure :
- Cluster Kubernetes (maître + workers)
- Registry privé (stockage + bande passante)
- Monitoring (Prometheus + Grafana)
- Backup et disaster recovery
Coûts humains :
- Formation des équipes (2-3 mois)
- Maintenance quotidienne (0.5-1 FTE)
- Support et troubleshooting
- Veille technologique
Estimation typique :
- Petite équipe (5-10 devs) : 20-30k€/an
- Équipe moyenne (20-50 devs) : 50-80k€/an
- Grande équipe (100+ devs) : ROI positif après 6-12 mois
Comment assurer la sécurité en production ?
Sécurité de l'infrastructure :
Code
Sécurité des pipelines :
Code
Monitoring sécurité :
Code
Questions de performance
Comment optimiser les performances des pipelines ?
Build optimization :
Code
Cache strategies :
Code
Parallel execution :
Code
Comment scaler horizontalement cette architecture ?
Kubernetes scaling :
Code
Multi-cluster :
- Argo CD Application Sets
- Cluster API pour l'auto-provisioning
- Service mesh multi-cluster (Istio)
- GitOps avec cluster-specific configurations
Registry scaling :
- Registry cluster avec load balancer
- CDN pour la distribution d'images
- Registry par région géographique
- Garbage collection automatique
Questions sur l'équipe et l'organisation
Comment convaincre mon management d'adopter ces pratiques ?
Arguments business :
- Time to market : Déploiements plus rapides et fréquents
- Qualité : Réduction des bugs en production (-50%)
- Coûts : Réduction des incidents et du support
- Sécurité : Traçabilité et audit complets
- Talent : Attraction et rétention des développeurs
Approche progressive :
- Proof of Concept : Petit projet pilote
- Métriques : Mesurer les gains (lead time, MTTR)
- Formation : Équipe technique d'abord
- Scale : Expansion progressive
ROI typique :
- Investissement initial : 3-6 mois
- Break-even : 6-12 mois
- Gains long terme : 20-40% de productivité
Comment former une équipe à ces technologies ?
Plan de formation type :
Semaine 1-2 : Fondamentaux
- Docker et containerisation
- Git et workflows
- Concepts CI/CD
Semaine 3-4 : Orchestration
- Kubernetes basics
- kubectl et premiers déploiements
- Services et networking
Semaine 5-6 : Automation
- CI/CD pipelines
- GitOps concepts
- Infrastructure as Code
Semaine 7-8 : Production
- Monitoring et logging
- Sécurité
- Troubleshooting
Méthodes pédagogiques :
- Hands-on labs (70% du temps)
- Pair programming
- Brown bag sessions
- Mentoring senior/junior
Quels sont les rôles et responsabilités dans une équipe DevOps ?
DevOps Engineer
- Pipelines CI/CD
- Infrastructure automation
- Monitoring et alerting
- Support niveau 2
Platform Engineer
- Outils et plateformes internes
- Self-service pour les développeurs
- Standards et bonnes pratiques
- Architecture technique
SRE (Site Reliability Engineer)
- Reliability et performance
- SLI/SLO/Error budgets
- Incident response
- Capacity planning
Security Engineer
- DevSecOps integration
- Vulnerability management
- Compliance et audit
- Security policies
Évolution typique : Junior DevOps → DevOps → Senior DevOps → Staff Engineer / Manager
Troubleshooting et support
Où trouver de l'aide quand je suis bloqué ?
Documentation officielle :
- Kubernetes docs (excellente)
- Docker docs (complète)
- Argo CD docs (claire)
- CDK8s docs (exemples pratiques)
Communautés actives :
- CNCF Slack - #kubernetes-users, #gitops
- Reddit r/kubernetes
- Stack Overflow - Tags kubernetes, docker, devops
- Discord DevOps France
Support commercial :
- Red Hat OpenShift
- VMware Tanzu
- SUSE Rancher
- Google Cloud Run
Formation continue :
- KodeKloud - Labs pratiques
- A Cloud Guru - Formations vidéo
- Pluralsight - Paths DevOps
Comment rester à jour avec l'écosystème en évolution rapide ?
Veille technologique :
- Newsletters : DevOps Weekly, KubeWeekly, CNCF Newsletter
- Podcasts : Kubernetes Podcast, DevOps Chat, The New Stack
- Blogs : CNCF Blog, Kubernetes Blog, Docker Blog
- YouTube : CNCF, Docker, Google Cloud, AWS
Événements :
- KubeCon (2x/an) - Must attend
- DevOpsDays - Événements locaux
- Meetups - Networking et apprentissage
- Webinaires - Vendors et OSS projects
Expérimentation :
- Labs mensuels : Tester 1 nouveau tool/mois
- Side projects : Applications perso avec nouvelles techs
- Contribute OSS : Bug reports, documentation
- Blog/Share : Écrire consolide l'apprentissage
Cette FAQ sera mise à jour régulièrement avec de nouvelles questions. N'hésitez pas à poser vos questions spécifiques !