Aller au contenu principal

2-10 Cadre de travail pour déployer du code applicatif et d'infrastructure

Objectifs

  • Savoir utiliser Terraform pour des pratiques CI/CD

Intégrer Terraform dans le CI/CD

Il n'existe pas de solution universelle pour le CI/CD et Terraform, tant le choix d'outils et de plateformes est vaste.

Les grandes lignes de plateformes actuelles sont :

  • Classique : les outils agnostiques ex: Jenkins
  • Moderne : les SASS ex: Github
  • Futur les outils GitOps ex: ArgoCD

L'aspect essentiel que vous aurez à gérer sur toutes ces plateformes est le passage de secrets.

Une fois encore, chaque solution a ses choix qui ont leurs avantages et leurs inconvénients.

  • Indépendants ex: Vault
  • Services managés Ex: Aws Secrets Manager
  • Orchestrateur Ex: Kubernetes

Les bonnes pratiques

Utiliser des labels ou des tags sur les ressources générées

Chercher dans une masse de ressources est une perte de temps à terme.

Obligez les équipes à fournir des indicateurs :

  • Environnement
  • Équipe
  • Application
  1. Entreprise
  2. Service / Équipe
  3. Région / Zone
  4. Environnment
  5. Nom / App / Service

provider "aws" {
region = "us-east-2"

# Tags to apply to all AWS resources by default
default_tags {
tags = {
Owner = "team-foo"
ManagedBy = "Terraform"
}
}
}

Rappel des objectifs

  • Savoir utiliser Terraform pour des pratiques CI/CD