SlideShare une entreprise Scribd logo
1  sur  15
Terraform
• Outil d’IaC (Infrastructure as
Code) cross-cloud
• Configuration écrite en HCL (*.tf)
ou JSON (*.tf.json)
• Provisionne l’infrastructure
grâce aux APIs fournit par les
cloud provider, outil SaaS, …
Terraform : Ressource
• Représente un élément de
l’infrastructure : storage,
compute instance, virtual
network, …
Terraform : Variable/Input/Ouput
Terraform : Data Sources
• Permet d’utiliser des
informations définies à
l’extérieur d’un projet terraform
• Différentes sources de données :
configuration terraform externe,
données exposées par le cloud
provider, …
Terraform : Provider
• Plugin qui permet d’interagir
avec une API fournit par : un
cloud provider, un outil SaaS, …
• Un provider expose les types de
ressources et data sources qu’il
peux gérer
• Ils sont exposés via Terraform
Registery
Terraform : Module
• Permet de packager et réutiliser
une configuration
• Ensemble de fichier *.tf ou
*.tf.json
• Exposé via Terraform Registery
ou des repository (Github,
Gitlab, …)
Terraform : State
• Fichier json *.tfstate
• Mapping entre la config et ce qui existe réellement sur la plateform
ciblée, notamment les identifiants des ressources
• Metadata : dépendances entre les ressources, résultat des
datasources, …
Terraform : Backend
• Configuration de l’emplacement de stockage du state
• Par défaut en local (non recommandé)
• Supporte plusieurs mode de stockage : azure blob storage, amazon
s3 bucket, google cloud storage, client rest, …
CDKTF
• Basé sur AWS CDK
• Permet d’écrire la configuration
terraform avec différent langage
de programmation : TypeScript,
Python, Java, C# et GO
• GA depuis Aout 2022
CDKTF : workflow
CDKTF : Architecture
CDKTF : Construct
• Class qui représente un ou
plusieurs élément de
l’infrastructure
• Un programme CDK peut être vu
comme un arbre de Construct
• Plusieurs avantages comparé aux
modules : testable, validation
des paramètres et type check, …
CDKTF : module et provider
• Nécessite des bindings pour pouvoir être utilisé avec le langage
choisie
• Certains sont déjà pré-package, pour les autre il faut générer les
binding à l’aide de la commande : CDKTF Get
CDKTF : Aspect
• Permet d’appliqué une opération
sur l’ensemble des Construct
dans un scope définit.

Contenu connexe

Similaire à typescript_cdktf.pptx

20170706 Terraform, Rancher et AWS EFS
20170706 Terraform, Rancher et AWS EFS20170706 Terraform, Rancher et AWS EFS
20170706 Terraform, Rancher et AWS EFSAlexis Ducastel
 
Pourquoi Terraform n'est pas le bon outil pour les déploiements automatisés d...
Pourquoi Terraform n'est pas le bon outil pour les déploiements automatisés d...Pourquoi Terraform n'est pas le bon outil pour les déploiements automatisés d...
Pourquoi Terraform n'est pas le bon outil pour les déploiements automatisés d...Duyhai Doan
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...MSDEVMTL
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?GreenIvory
 
Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Julien Maitrehenry
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesChristophe Furmaniak
 
Pachyderm big data de l'ère docker
Pachyderm big data de l'ère dockerPachyderm big data de l'ère docker
Pachyderm big data de l'ère dockerEnguerran Delahaie
 
Cloud computing cours in power point chap
Cloud computing cours in power point chapCloud computing cours in power point chap
Cloud computing cours in power point chapaichafarahsouelmi
 
1h chrono pour créer votre infrastructure virtuelle avec l’interface Visual C...
1h chrono pour créer votre infrastructure virtuelle avec l’interface Visual C...1h chrono pour créer votre infrastructure virtuelle avec l’interface Visual C...
1h chrono pour créer votre infrastructure virtuelle avec l’interface Visual C...Microsoft
 
Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022Laurent Guérin
 
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...sebastienmoreno
 
20180404 Lyon JUG - AWS IaaS Terraform
20180404 Lyon JUG - AWS IaaS Terraform20180404 Lyon JUG - AWS IaaS Terraform
20180404 Lyon JUG - AWS IaaS TerraformGuillaume Darmont
 
Découvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLDécouvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLpprem
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaMicrosoft
 
Devoxx: Tribulation d'un développeur sur le Cloud
Devoxx: Tribulation d'un développeur sur le CloudDevoxx: Tribulation d'un développeur sur le Cloud
Devoxx: Tribulation d'un développeur sur le CloudTugdual Grall
 
Cloud Computing presentation
Cloud Computing presentationCloud Computing presentation
Cloud Computing presentationSeif Ben Hammouda
 

Similaire à typescript_cdktf.pptx (20)

20170706 Terraform, Rancher et AWS EFS
20170706 Terraform, Rancher et AWS EFS20170706 Terraform, Rancher et AWS EFS
20170706 Terraform, Rancher et AWS EFS
 
Pourquoi Terraform n'est pas le bon outil pour les déploiements automatisés d...
Pourquoi Terraform n'est pas le bon outil pour les déploiements automatisés d...Pourquoi Terraform n'est pas le bon outil pour les déploiements automatisés d...
Pourquoi Terraform n'est pas le bon outil pour les déploiements automatisés d...
 
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
 
Infrastructure as code drupal
Infrastructure as code drupalInfrastructure as code drupal
Infrastructure as code drupal
 
Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?Flex, une techno RIA incontournable pour les futures app web ?
Flex, une techno RIA incontournable pour les futures app web ?
 
Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
Pachyderm big data de l'ère docker
Pachyderm big data de l'ère dockerPachyderm big data de l'ère docker
Pachyderm big data de l'ère docker
 
Cloud computing cours in power point chap
Cloud computing cours in power point chapCloud computing cours in power point chap
Cloud computing cours in power point chap
 
1h chrono pour créer votre infrastructure virtuelle avec l’interface Visual C...
1h chrono pour créer votre infrastructure virtuelle avec l’interface Visual C...1h chrono pour créer votre infrastructure virtuelle avec l’interface Visual C...
1h chrono pour créer votre infrastructure virtuelle avec l’interface Visual C...
 
Openstack framework Iaas
Openstack framework IaasOpenstack framework Iaas
Openstack framework Iaas
 
Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022Microservices-DDD-Telosys-Devoxx-FR-2022
Microservices-DDD-Telosys-Devoxx-FR-2022
 
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
Lost in serverless AWS Lambda, Google Cloud Function, Azure Function quelle s...
 
20180404 Lyon JUG - AWS IaaS Terraform
20180404 Lyon JUG - AWS IaaS Terraform20180404 Lyon JUG - AWS IaaS Terraform
20180404 Lyon JUG - AWS IaaS Terraform
 
Découvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLDécouvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCL
 
12-Factor
12-Factor12-Factor
12-Factor
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 
Devoxx: Tribulation d'un développeur sur le Cloud
Devoxx: Tribulation d'un développeur sur le CloudDevoxx: Tribulation d'un développeur sur le Cloud
Devoxx: Tribulation d'un développeur sur le Cloud
 
Cloud Computing presentation
Cloud Computing presentationCloud Computing presentation
Cloud Computing presentation
 

Plus de felixbillon

Un problème 10 solutions : Azure Fighter
Un problème 10 solutions : Azure FighterUn problème 10 solutions : Azure Fighter
Un problème 10 solutions : Azure Fighterfelixbillon
 
TypeScript Best Practices
TypeScript Best PracticesTypeScript Best Practices
TypeScript Best Practicesfelixbillon
 
Présentation et dernières nouveautés Microsoft Bot
Présentation et dernières nouveautés Microsoft BotPrésentation et dernières nouveautés Microsoft Bot
Présentation et dernières nouveautés Microsoft Botfelixbillon
 
Global Azure Bootcamp 2018 - Microsoft Bot
Global Azure Bootcamp 2018 - Microsoft BotGlobal Azure Bootcamp 2018 - Microsoft Bot
Global Azure Bootcamp 2018 - Microsoft Botfelixbillon
 
Présentation Google Cloud Vision API
Présentation Google Cloud Vision APIPrésentation Google Cloud Vision API
Présentation Google Cloud Vision APIfelixbillon
 
Typescript + Graphql = <3
Typescript + Graphql = <3Typescript + Graphql = <3
Typescript + Graphql = <3felixbillon
 
Service cognitifs : vue d'ensemble
Service cognitifs : vue d'ensembleService cognitifs : vue d'ensemble
Service cognitifs : vue d'ensemblefelixbillon
 
Introduction TypeScript
Introduction TypeScriptIntroduction TypeScript
Introduction TypeScriptfelixbillon
 

Plus de felixbillon (8)

Un problème 10 solutions : Azure Fighter
Un problème 10 solutions : Azure FighterUn problème 10 solutions : Azure Fighter
Un problème 10 solutions : Azure Fighter
 
TypeScript Best Practices
TypeScript Best PracticesTypeScript Best Practices
TypeScript Best Practices
 
Présentation et dernières nouveautés Microsoft Bot
Présentation et dernières nouveautés Microsoft BotPrésentation et dernières nouveautés Microsoft Bot
Présentation et dernières nouveautés Microsoft Bot
 
Global Azure Bootcamp 2018 - Microsoft Bot
Global Azure Bootcamp 2018 - Microsoft BotGlobal Azure Bootcamp 2018 - Microsoft Bot
Global Azure Bootcamp 2018 - Microsoft Bot
 
Présentation Google Cloud Vision API
Présentation Google Cloud Vision APIPrésentation Google Cloud Vision API
Présentation Google Cloud Vision API
 
Typescript + Graphql = <3
Typescript + Graphql = <3Typescript + Graphql = <3
Typescript + Graphql = <3
 
Service cognitifs : vue d'ensemble
Service cognitifs : vue d'ensembleService cognitifs : vue d'ensemble
Service cognitifs : vue d'ensemble
 
Introduction TypeScript
Introduction TypeScriptIntroduction TypeScript
Introduction TypeScript
 

typescript_cdktf.pptx

  • 1.
  • 2. Terraform • Outil d’IaC (Infrastructure as Code) cross-cloud • Configuration écrite en HCL (*.tf) ou JSON (*.tf.json) • Provisionne l’infrastructure grâce aux APIs fournit par les cloud provider, outil SaaS, …
  • 3. Terraform : Ressource • Représente un élément de l’infrastructure : storage, compute instance, virtual network, …
  • 5. Terraform : Data Sources • Permet d’utiliser des informations définies à l’extérieur d’un projet terraform • Différentes sources de données : configuration terraform externe, données exposées par le cloud provider, …
  • 6. Terraform : Provider • Plugin qui permet d’interagir avec une API fournit par : un cloud provider, un outil SaaS, … • Un provider expose les types de ressources et data sources qu’il peux gérer • Ils sont exposés via Terraform Registery
  • 7. Terraform : Module • Permet de packager et réutiliser une configuration • Ensemble de fichier *.tf ou *.tf.json • Exposé via Terraform Registery ou des repository (Github, Gitlab, …)
  • 8. Terraform : State • Fichier json *.tfstate • Mapping entre la config et ce qui existe réellement sur la plateform ciblée, notamment les identifiants des ressources • Metadata : dépendances entre les ressources, résultat des datasources, …
  • 9. Terraform : Backend • Configuration de l’emplacement de stockage du state • Par défaut en local (non recommandé) • Supporte plusieurs mode de stockage : azure blob storage, amazon s3 bucket, google cloud storage, client rest, …
  • 10. CDKTF • Basé sur AWS CDK • Permet d’écrire la configuration terraform avec différent langage de programmation : TypeScript, Python, Java, C# et GO • GA depuis Aout 2022
  • 13. CDKTF : Construct • Class qui représente un ou plusieurs élément de l’infrastructure • Un programme CDK peut être vu comme un arbre de Construct • Plusieurs avantages comparé aux modules : testable, validation des paramètres et type check, …
  • 14. CDKTF : module et provider • Nécessite des bindings pour pouvoir être utilisé avec le langage choisie • Certains sont déjà pré-package, pour les autre il faut générer les binding à l’aide de la commande : CDKTF Get
  • 15. CDKTF : Aspect • Permet d’appliqué une opération sur l’ensemble des Construct dans un scope définit.