Skip to content

Architecture Cloud

Une infrastructure cloud bien conçue repose sur quatre axes :

  1. Immuabilité — les serveurs ne sont jamais modifiés en place, ils sont reconstruits
  2. Infrastructure as Code — toute ressource est déclarée, versionnée et auditée
  3. Moindre privilège — chaque service n’a que les droits strictement nécessaires
  4. Observabilité by design — logs, métriques et traces dès la conception
Organisation
└── Dossier prod
├── Projet réseau (VPC partagé)
├── Projet données
└── Projet applicatif
└── Dossier staging
└── ...

Un VPC partagé (Shared VPC) centralise le routage et les règles de firewall tout en permettant à chaque projet d’évoluer indépendamment.

Pour les projets GCP, nous utilisons Terraform avec Terragrunt pour gérer la duplication entre environnements :

# terragrunt.hcl (racine)
generate "provider" {
path = "provider.tf"
if_exists = "overwrite"
contents = <<EOF
provider "google" {
project = var.project_id
region = var.region
}
EOF
}

Pour les charges de travail nécessitant une reproductibilité totale, NixOS permet de décrire l’état complet d’un serveur dans un fichier .nix versionné, et de le déployer atomiquement via Colmena.

PatternQuand l’utiliser
Multi-zone (même région)Applications standard, coût maîtrisé
Multi-région active/passiveRPO < 1h, données répliquées
Multi-région active/activeRPO ≈ 0, latence globale critique

Pour les architectures microservices, GKE Autopilot réduit la charge opérationnelle en gérant automatiquement le sizing des nœuds. Les points d’attention principaux :

  • Resource requests/limits bien calibrés pour éviter l’over-provisioning
  • PodDisruptionBudget sur tous les déploiements critiques
  • Secrets gérés via Secret Manager (jamais dans le code ou les ConfigMaps)