SlideShare une entreprise Scribd logo
TERRAFORM - IAC - DE
TERRAFORM - IAC - DE
QUOI S'AGIT T'IL ?
QUOI S'AGIT T'IL ?
DOMINIQUE DUMONT
DOMINIQUE DUMONT
QUI SUIS-JE ?
QUI SUIS-JE ?
Dominique Dumont (@dod38fr)
Contributeur Open-Source depuis 1996
Debian Developer depuis 2011
Freelance devops depuis 2020
PROBLÈME À RÉSOUDRE
PROBLÈME À RÉSOUDRE
déployer une infra pour héberger une application
déployer plusieurs environments (dev prod…)
la faire évoluer
déroules un Plan de Reprise d'Activité (PRA ou
DRP)
PREMIÈRE APPROCHE
PREMIÈRE APPROCHE
LA CONSOLE
LA CONSOLE
ok pour apprendre dans un environnement de dev
LE PROBLÈME
LE PROBLÈME
Quant on veut faire l'environnement de prod, il faut:
avoir noté les détails de l'étape précédente
ne pas se tromper
COMPLICATION
COMPLICATION
En cas de catastrophe (PRA):
il faut rejouer l'installation
sous stress
gros risque d'erreurs
SOLUTION: INFRA AS CODE
SOLUTION: INFRA AS CODE
PRINCIPE
PRINCIPE
Décrire le résultat attendu
L'outil se débrouille pour déterminer les actions à
faire en fonction de l'état de l'infra et le résultat
attendu.
AVANTAGES
AVANTAGES
idempotence: on peut relancer la commande sans
soucis en cas de problème
immutabilité: une modif faite dans votre dos est
détectée et corrigée
facile de détruire l'infra (tests)
on peut archiver le code avec GIT
on peut appliquer les changements d'infra avec
une CI/CD
INCONVÉNIENTS
INCONVÉNIENTS
faut que l'infra offre une API (pas applicable sur
bare metal)
LES OUTILS D'IAC
LES OUTILS D'IAC
TERRAFORM - HCL
TERRAFORM - HCL
Pour décrire:
les ressources
les relations entre ces ressources
les paramètres d'entrée (e.g. env dev vs
prod)
resource "azurerm_servicebus_namespace" "default" {
name = local.cluster-name
location = var.location
resource_group_name = azurerm_resource_group.cluster.name
sku = "Basic"
}
TERRAFORM - COMMANDES
TERRAFORM - COMMANDES
terraform plan: vérifier ce qui ca se passer
terraform apply: appliquer les changements
terraform destroy: tout détruire
TERRAFORM - PROVIDERS
TERRAFORM - PROVIDERS
Interface entre Terraform et les ressources dans le
cloud
Beaucoup de : Azure, AWS, GitHub,
Kubernetes, OVH, CloudFlare,
providers
TERRAFORM - MODULES
TERRAFORM - MODULES
Abstraction qui englobe plusieurs ressources, un
peu comme une librairie
Beaucoup de modules disponibles
CLOUD FORMATION
CLOUD FORMATION
seulement pour AWS
YAML "enrichi" (exemple: !Sub !Join)
beaucoup moins souple que HCL
PolicyDocument:
Id: CrossAccessPolicy
Statement:
- Sid: CrossAccPolicyDoc
Action: "s3:ListBucket"
Resource: !Sub 'arn:aws:s3:::${S3BUCKET}'
Principal:
AWS: !Join ['', ["arn:aws:iam::", !Ref PublisherAccountID
AWS CDK
AWS CDK
permet de décrire les ressources avec
Python, Java, TypeScript…
Développé par AWS
Originellement disponible que pour AWS
Peut maintenant s'appuyer sur les providers de
Terraform
CDK
function = _lambda.Function(
self,
"lambda_function",
runtime=_lambda.Runtime.PYTHON_3_8,
handler="index.handler",
code=_lambda.Code.from_asset("lambda"),
layers=[layer]
)
RETOUR D'EXPÉRIENCE
RETOUR D'EXPÉRIENCE
TERRAFORM
TERRAFORM
permet de décliner assez facilement des
déploiements dev, pre-prod, prod…
pas trop de problèmes de compatiblité sur les
upgrades
tfstate un peu pénible à gérer et partager
AUTRES
AUTRES
CloudFormation
trop limité par YAML
extensions sur YAML difficiles à suivre
CONCLUSION
CONCLUSION
CloudFormation et CDK assez peu utilisés
Terraform est devenu un standard de facto
Beaucoup de postes ou de missions demandent
des compétences Terraform
Terraform - IAC - de quoi s'agit t'il ?.pdf

Contenu connexe

Similaire à Terraform - IAC - de quoi s'agit t'il ?.pdf

Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Ludovic Piot
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide
 
Architecture PHP 3 tier avec Zend en backend de Drupal
Architecture PHP 3 tier avec Zend en backend de DrupalArchitecture PHP 3 tier avec Zend en backend de Drupal
Architecture PHP 3 tier avec Zend en backend de Drupal
Thomas Delerm
 
20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif
Henri Gomez
 
Docker, ça mange quoi au printemps
Docker, ça mange quoi au printempsDocker, ça mange quoi au printemps
Docker, ça mange quoi au printemps
Julien Maitrehenry
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
Web à Québec
 
Webinar Smile : Comment industrialiser votre SI avec Ansible ?
Webinar Smile : Comment industrialiser votre SI avec Ansible ?Webinar Smile : Comment industrialiser votre SI avec Ansible ?
Webinar Smile : Comment industrialiser votre SI avec Ansible ?
Smile I.T is open
 
Démarrer avec Helm
Démarrer avec HelmDémarrer avec Helm
Démarrer avec Helm
Dominique Dumont
 
Intégration continue & Qualité logicielle
Intégration continue & Qualité logicielleIntégration continue & Qualité logicielle
Intégration continue & Qualité logicielleDavid Buros
 
20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif
Henri Gomez
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
Mouna Torjmen
 
DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant
 DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant
DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant
cluelessjoe
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
Jaouad Assabbour
 
Présentation Google Dataflow
Présentation Google DataflowPrésentation Google Dataflow
Présentation Google Dataflow
Geoffrey Garnotel
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
Amal Abid
 
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
cornnery
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
Romain Chalumeau
 
Hadoop MapReduce.docx
Hadoop  MapReduce.docxHadoop  MapReduce.docx
Hadoop MapReduce.docx
IssamHamdi
 
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
Ori Pekelman
 
Solr + Hadoop - Fouillez facilement dans votre système Big Data
Solr + Hadoop - Fouillez facilement dans votre système Big DataSolr + Hadoop - Fouillez facilement dans votre système Big Data
Solr + Hadoop - Fouillez facilement dans votre système Big Data
francelabs
 

Similaire à Terraform - IAC - de quoi s'agit t'il ?.pdf (20)

Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
Architecture PHP 3 tier avec Zend en backend de Drupal
Architecture PHP 3 tier avec Zend en backend de DrupalArchitecture PHP 3 tier avec Zend en backend de Drupal
Architecture PHP 3 tier avec Zend en backend de Drupal
 
20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif20120110 paris jug-packaging-natif
20120110 paris jug-packaging-natif
 
Docker, ça mange quoi au printemps
Docker, ça mange quoi au printempsDocker, ça mange quoi au printemps
Docker, ça mange quoi au printemps
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
 
Webinar Smile : Comment industrialiser votre SI avec Ansible ?
Webinar Smile : Comment industrialiser votre SI avec Ansible ?Webinar Smile : Comment industrialiser votre SI avec Ansible ?
Webinar Smile : Comment industrialiser votre SI avec Ansible ?
 
Démarrer avec Helm
Démarrer avec HelmDémarrer avec Helm
Démarrer avec Helm
 
Intégration continue & Qualité logicielle
Intégration continue & Qualité logicielleIntégration continue & Qualité logicielle
Intégration continue & Qualité logicielle
 
20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif20111220 lyon jug-packaging-natif
20111220 lyon jug-packaging-natif
 
Chapitre 2 hadoop
Chapitre 2 hadoopChapitre 2 hadoop
Chapitre 2 hadoop
 
DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant
 DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant
DDD, CQRS et Event Sourcing : quand coder propre n'est plus suffisant
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
 
Présentation Google Dataflow
Présentation Google DataflowPrésentation Google Dataflow
Présentation Google Dataflow
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
Plateforme De DéVeloppement En Php5 (Zend + Doctrine)
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
 
Hadoop MapReduce.docx
Hadoop  MapReduce.docxHadoop  MapReduce.docx
Hadoop MapReduce.docx
 
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
Construire Des Applications Cloud Natives - SymfonyLive Paris 2016
 
Solr + Hadoop - Fouillez facilement dans votre système Big Data
Solr + Hadoop - Fouillez facilement dans votre système Big DataSolr + Hadoop - Fouillez facilement dans votre système Big Data
Solr + Hadoop - Fouillez facilement dans votre système Big Data
 

Plus de Dominique Dumont

Comment contribuer à un projet open source ?
Comment contribuer à un projet open source ?Comment contribuer à un projet open source ?
Comment contribuer à un projet open source ?
Dominique Dumont
 
Cme: a tool to edit and validate configuration files
Cme: a tool to edit and validate configuration filesCme: a tool to edit and validate configuration files
Cme: a tool to edit and validate configuration files
Dominique Dumont
 
How to keep promises
How to keep promisesHow to keep promises
How to keep promises
Dominique Dumont
 
The reports of Perl's death have been greatly exaggerated
The reports of Perl's death have been greatly exaggeratedThe reports of Perl's death have been greatly exaggerated
The reports of Perl's death have been greatly exaggerated
Dominique Dumont
 
Magit
MagitMagit
kubernetes for beginners
kubernetes for beginnerskubernetes for beginners
kubernetes for beginners
Dominique Dumont
 

Plus de Dominique Dumont (6)

Comment contribuer à un projet open source ?
Comment contribuer à un projet open source ?Comment contribuer à un projet open source ?
Comment contribuer à un projet open source ?
 
Cme: a tool to edit and validate configuration files
Cme: a tool to edit and validate configuration filesCme: a tool to edit and validate configuration files
Cme: a tool to edit and validate configuration files
 
How to keep promises
How to keep promisesHow to keep promises
How to keep promises
 
The reports of Perl's death have been greatly exaggerated
The reports of Perl's death have been greatly exaggeratedThe reports of Perl's death have been greatly exaggerated
The reports of Perl's death have been greatly exaggerated
 
Magit
MagitMagit
Magit
 
kubernetes for beginners
kubernetes for beginnerskubernetes for beginners
kubernetes for beginners
 

Dernier

Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Institut de l'Elevage - Idele
 
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Institut de l'Elevage - Idele
 
Comment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptationComment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptation
Institut de l'Elevage - Idele
 
Alternative au Tramway de la ville de Quebec Rev 1 sml.pdf
Alternative au Tramway de la ville de Quebec Rev 1 sml.pdfAlternative au Tramway de la ville de Quebec Rev 1 sml.pdf
Alternative au Tramway de la ville de Quebec Rev 1 sml.pdf
Daniel Bedard
 
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
Institut de l'Elevage - Idele
 
Reconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la fermeReconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la ferme
Institut de l'Elevage - Idele
 
Presentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptxPresentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptx
imed53
 
Accompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de productionAccompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de production
Institut de l'Elevage - Idele
 
Accompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermièreAccompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermière
Institut de l'Elevage - Idele
 
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivoresCOUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
Institut de l'Elevage - Idele
 
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdfCOURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
sieousse95
 

Dernier (11)

Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...Leviers d’adaptation au changement climatique, qualité du lait et des produit...
Leviers d’adaptation au changement climatique, qualité du lait et des produit...
 
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
Quelles rotations dans les systèmes caprins de Nouvelle-Aquitaine et Pays de ...
 
Comment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptationComment aborder le changement climatique dans son métier, volet adaptation
Comment aborder le changement climatique dans son métier, volet adaptation
 
Alternative au Tramway de la ville de Quebec Rev 1 sml.pdf
Alternative au Tramway de la ville de Quebec Rev 1 sml.pdfAlternative au Tramway de la ville de Quebec Rev 1 sml.pdf
Alternative au Tramway de la ville de Quebec Rev 1 sml.pdf
 
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande1er webinaire INOSYS Réseaux d’élevage Ovins Viande
1er webinaire INOSYS Réseaux d’élevage Ovins Viande
 
Reconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la fermeReconquête de l’engraissement du chevreau à la ferme
Reconquête de l’engraissement du chevreau à la ferme
 
Presentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptxPresentation d'esquisse route juin 2023.pptx
Presentation d'esquisse route juin 2023.pptx
 
Accompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de productionAccompagner les éleveurs dans l'analyse de leurs coûts de production
Accompagner les éleveurs dans l'analyse de leurs coûts de production
 
Accompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermièreAccompagner les porteurs de projets en transformation fermière
Accompagner les porteurs de projets en transformation fermière
 
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivoresCOUPROD Une méthode nationale commune à l’ensemble des filières herbivores
COUPROD Une méthode nationale commune à l’ensemble des filières herbivores
 
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdfCOURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
COURS ANALYSE FINANCIERE-NOGLO Méthodes d’analyses financières.pdf
 

Terraform - IAC - de quoi s'agit t'il ?.pdf