SlideShare a Scribd company logo
Terraform




Copyright thinkcloudly, All rights reserved 1
•Commandline tool (go) (OS X, Windows, Linux, …)

•Developed by Hashicorp (Vagrant, Packer, Consul, Nomad)

•Lets you describe and provision cloud infrastructure using
HCL formatted text files
•Servers, networks, load balancing, storage, containers
•Multi-provider (AWS, Azure, GC, Cloudstack, …)
Terraform
2
Copyright thinkcloudly, All rights reserved
•CloudStack @ Exoscale (Switzerland)

•Web servers (CentOS/Linux)
•Bastion host for management/provisioning

•SSH public/private key
•Run Apache httpd web server
•Domain name (DNS) (AWS)
3
Demo
Copyright thinkcloudly, All rights reserved
•A provider is used to connect to a cloud provider
•AWS, Azure, GC, Digital Ocean, Cloudstack, Openstack,
Heroku, CloudFoundry, Mailgun, easyDNS, CloudFlare…
•Providers know the APIs and expose available services
4
Provider (1)
Copyright thinkcloudly, All rights reserved
•A resource defines how to use a cloud resource/service
•VM, IP-address, load balancer, network, firewall, object
storage, DNS-record
•The name of the provider is used as a resource name prefix
•Resources have unique ids
•Combination of resource type and name
5
Resource (2)
Copyright thinkcloudly, All rights reserved
•A resource can depend on another resource

•Can determine the order of creation
6
Dependencies (3)
Copyright thinkcloudly, All rights reserved
•When manipulating resources, Terraform saves the current
state i a .tfstate file (or S3, Consul)
•Knows a resource's current state in the cloud
7
terraform show
terraform show
Copyright thinkcloudly, All rights reserved
8
•Variables
•Interpolation
•Functions (math, base64, join, lower, ...)
•Count
Syntax (4)
Copyright thinkcloudly, All rights reserved
9
•A provisioner lets you provision against the resource right
after creation
•chef
•remote-exec (script run on the server)
•local-exec (script run locally)
provisioner (5)
Copyright thinkcloudly, All rights reserved
•When resources have to be recreated from scratch, they
have to be tainted
terraform taint <resource_type>.<resource_id>
10
terraform taint
Copyright thinkcloudly, All rights reserved
11
•Connect to you web server through bastion host
•Limit access to bastion host to your IP range
•Use smart card to protect your private key
•E.g. yubikey as OpenPGP smartcard and gpg-agent
emulating ssh-agent
Security first! (6)
Copyright thinkcloudly, All rights reserved
12
Copyright thinkcloudly, All rights reserved
13
•Outputs lets you define values that will be output when
Terraform applies
•Can be queried easily:
terraform output [-json]
output (7)
Copyright thinkcloudly, All rights reserved
•Can connect resources from different cloud providers
•Unique feature in Terraform!
14
Multi-provider (8)
Copyright thinkcloudly, All rights reserved
Multi provider, multi datacenter,

multi technology (9)
15
•DNS using weighted record set
•Could have used latency / geolocation
•Health checks to determine data center (or service) outage
Copyright thinkcloudly, All rights reserved
•Dependency graphs can be generated dynamically
terraform graph | dot -Tpng | open -f -a Preview
16
Bonus: Dependency graph
Copyright thinkcloudly, All rights reserved
•Terraform is great for defining infrastructure as code
•Perform incremental changes to your infrastructure
•Can combine several cloud providers in your
17
Summary
Copyright thinkcloudly, All rights reserved

More Related Content

Similar to What Is Terraform

Troubleshooting Kerberos in Hadoop: Taming the Beast
Troubleshooting Kerberos in Hadoop: Taming the BeastTroubleshooting Kerberos in Hadoop: Taming the Beast
Troubleshooting Kerberos in Hadoop: Taming the Beast
DataWorks Summit
 
Burp suite
Burp suiteBurp suite
Burp suite
Yashar Shahinzadeh
 
Taking the open cloud to 11
Taking the open cloud to 11Taking the open cloud to 11
Taking the open cloud to 11
Joe Brockmeier
 
Docker Security
Docker SecurityDocker Security
Docker Security
antitree
 
Risk Management for Data: Secured and Governed
Risk Management for Data: Secured and GovernedRisk Management for Data: Secured and Governed
Risk Management for Data: Secured and Governed
Cloudera, Inc.
 
Apache CloudStack from API to UI
Apache CloudStack from API to UIApache CloudStack from API to UI
Apache CloudStack from API to UI
CloudStack - Open Source Cloud Computing Project
 
DevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed DeploymentsDevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed Deployments
ForgeRock
 
Spark+flume seattle
Spark+flume seattleSpark+flume seattle
Spark+flume seattle
Hari Shreedharan
 
Deploying and managing SolrCloud in the cloud using the Solr Scale Toolkit
Deploying and managing SolrCloud in the cloud using the Solr Scale ToolkitDeploying and managing SolrCloud in the cloud using the Solr Scale Toolkit
Deploying and managing SolrCloud in the cloud using the Solr Scale Toolkit
thelabdude
 
컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker
seungdon Choi
 
Cloudbreak - Technical Deep Dive
Cloudbreak - Technical Deep DiveCloudbreak - Technical Deep Dive
Cloudbreak - Technical Deep Dive
DataWorks Summit/Hadoop Summit
 
Chicago Hashicorp User Group - Terraform Public Module Registry
Chicago Hashicorp User Group - Terraform Public Module RegistryChicago Hashicorp User Group - Terraform Public Module Registry
Chicago Hashicorp User Group - Terraform Public Module Registry
Stenio Ferreira
 
Facing enterprise specific challenges – utility programming in hadoop
Facing enterprise specific challenges – utility programming in hadoopFacing enterprise specific challenges – utility programming in hadoop
Facing enterprise specific challenges – utility programming in hadoop
fann wu
 
Oracle RAC and Docker: The Why and How
Oracle RAC and Docker: The Why and HowOracle RAC and Docker: The Why and How
Oracle RAC and Docker: The Why and How
Seth Miller
 
Deployment of WebObjects applications on CentOS Linux
Deployment of WebObjects applications on CentOS LinuxDeployment of WebObjects applications on CentOS Linux
Deployment of WebObjects applications on CentOS Linux
WO Community
 
Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)
Joe Brockmeier
 
Docker, Atomic Host and Kubernetes.
Docker, Atomic Host and Kubernetes.Docker, Atomic Host and Kubernetes.
Docker, Atomic Host and Kubernetes.
Jooho Lee
 
Webinar - Getting Started With Ceph
Webinar - Getting Started With CephWebinar - Getting Started With Ceph
Webinar - Getting Started With Ceph
Ceph Community
 
Clocker - The Docker Cloud Maker
Clocker - The Docker Cloud MakerClocker - The Docker Cloud Maker
Clocker - The Docker Cloud Maker
Andrew Kennedy
 
On Docker and its use for LHC at CERN
On Docker and its use for LHC at CERNOn Docker and its use for LHC at CERN
On Docker and its use for LHC at CERN
Sebastien Goasguen
 

Similar to What Is Terraform (20)

Troubleshooting Kerberos in Hadoop: Taming the Beast
Troubleshooting Kerberos in Hadoop: Taming the BeastTroubleshooting Kerberos in Hadoop: Taming the Beast
Troubleshooting Kerberos in Hadoop: Taming the Beast
 
Burp suite
Burp suiteBurp suite
Burp suite
 
Taking the open cloud to 11
Taking the open cloud to 11Taking the open cloud to 11
Taking the open cloud to 11
 
Docker Security
Docker SecurityDocker Security
Docker Security
 
Risk Management for Data: Secured and Governed
Risk Management for Data: Secured and GovernedRisk Management for Data: Secured and Governed
Risk Management for Data: Secured and Governed
 
Apache CloudStack from API to UI
Apache CloudStack from API to UIApache CloudStack from API to UI
Apache CloudStack from API to UI
 
DevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed DeploymentsDevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed Deployments
 
Spark+flume seattle
Spark+flume seattleSpark+flume seattle
Spark+flume seattle
 
Deploying and managing SolrCloud in the cloud using the Solr Scale Toolkit
Deploying and managing SolrCloud in the cloud using the Solr Scale ToolkitDeploying and managing SolrCloud in the cloud using the Solr Scale Toolkit
Deploying and managing SolrCloud in the cloud using the Solr Scale Toolkit
 
컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker
 
Cloudbreak - Technical Deep Dive
Cloudbreak - Technical Deep DiveCloudbreak - Technical Deep Dive
Cloudbreak - Technical Deep Dive
 
Chicago Hashicorp User Group - Terraform Public Module Registry
Chicago Hashicorp User Group - Terraform Public Module RegistryChicago Hashicorp User Group - Terraform Public Module Registry
Chicago Hashicorp User Group - Terraform Public Module Registry
 
Facing enterprise specific challenges – utility programming in hadoop
Facing enterprise specific challenges – utility programming in hadoopFacing enterprise specific challenges – utility programming in hadoop
Facing enterprise specific challenges – utility programming in hadoop
 
Oracle RAC and Docker: The Why and How
Oracle RAC and Docker: The Why and HowOracle RAC and Docker: The Why and How
Oracle RAC and Docker: The Why and How
 
Deployment of WebObjects applications on CentOS Linux
Deployment of WebObjects applications on CentOS LinuxDeployment of WebObjects applications on CentOS Linux
Deployment of WebObjects applications on CentOS Linux
 
Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)Apache CloudStack: API to UI (STLLUG)
Apache CloudStack: API to UI (STLLUG)
 
Docker, Atomic Host and Kubernetes.
Docker, Atomic Host and Kubernetes.Docker, Atomic Host and Kubernetes.
Docker, Atomic Host and Kubernetes.
 
Webinar - Getting Started With Ceph
Webinar - Getting Started With CephWebinar - Getting Started With Ceph
Webinar - Getting Started With Ceph
 
Clocker - The Docker Cloud Maker
Clocker - The Docker Cloud MakerClocker - The Docker Cloud Maker
Clocker - The Docker Cloud Maker
 
On Docker and its use for LHC at CERN
On Docker and its use for LHC at CERNOn Docker and its use for LHC at CERN
On Docker and its use for LHC at CERN
 

More from AMELIAOLIVIA2

What Is Understanding AI vs ML vs DL
What Is Understanding AI vs ML vs DLWhat Is Understanding AI vs ML vs DL
What Is Understanding AI vs ML vs DL
AMELIAOLIVIA2
 
What Is Helm
 What Is Helm What Is Helm
What Is Helm
AMELIAOLIVIA2
 
What Is Skill Set
What Is Skill Set What Is Skill Set
What Is Skill Set
AMELIAOLIVIA2
 
How It Works ZIP
How It Works ZIPHow It Works ZIP
How It Works ZIP
AMELIAOLIVIA2
 
What Is SQL Injection
 What Is SQL Injection What Is SQL Injection
What Is SQL Injection
AMELIAOLIVIA2
 
What Is Deadlocks
 What Is Deadlocks What Is Deadlocks
What Is Deadlocks
AMELIAOLIVIA2
 
What Is DOM
What Is DOMWhat Is DOM
What Is DOM
AMELIAOLIVIA2
 
What Is AWS Elastic Kubernetes Service
 What Is AWS Elastic Kubernetes Service What Is AWS Elastic Kubernetes Service
What Is AWS Elastic Kubernetes Service
AMELIAOLIVIA2
 
AWS Vs Azure
AWS Vs AzureAWS Vs Azure
AWS Vs Azure
AMELIAOLIVIA2
 
What is DevOps
 What is DevOps What is DevOps
What is DevOps
AMELIAOLIVIA2
 
AWS Vs AZURE
AWS Vs AZUREAWS Vs AZURE
AWS Vs AZURE
AMELIAOLIVIA2
 
What Is NPM
What Is NPMWhat Is NPM
What Is NPM
AMELIAOLIVIA2
 
What is DJANGO
What is DJANGOWhat is DJANGO
What is DJANGO
AMELIAOLIVIA2
 
What is REST API
What is REST APIWhat is REST API
What is REST API
AMELIAOLIVIA2
 
What is WEB 3.0
What is WEB 3.0What is WEB 3.0
What is WEB 3.0
AMELIAOLIVIA2
 
What is docker
What is dockerWhat is docker
What is docker
AMELIAOLIVIA2
 
What Is CORS
 What Is CORS  What Is CORS
What Is CORS
AMELIAOLIVIA2
 
What is Coding Resources
  What is Coding Resources  What is Coding Resources
What is Coding Resources
AMELIAOLIVIA2
 
What is an Algorithm
What is an AlgorithmWhat is an Algorithm
What is an Algorithm
AMELIAOLIVIA2
 
What Is Blockchain
What Is Blockchain What Is Blockchain
What Is Blockchain
AMELIAOLIVIA2
 

More from AMELIAOLIVIA2 (20)

What Is Understanding AI vs ML vs DL
What Is Understanding AI vs ML vs DLWhat Is Understanding AI vs ML vs DL
What Is Understanding AI vs ML vs DL
 
What Is Helm
 What Is Helm What Is Helm
What Is Helm
 
What Is Skill Set
What Is Skill Set What Is Skill Set
What Is Skill Set
 
How It Works ZIP
How It Works ZIPHow It Works ZIP
How It Works ZIP
 
What Is SQL Injection
 What Is SQL Injection What Is SQL Injection
What Is SQL Injection
 
What Is Deadlocks
 What Is Deadlocks What Is Deadlocks
What Is Deadlocks
 
What Is DOM
What Is DOMWhat Is DOM
What Is DOM
 
What Is AWS Elastic Kubernetes Service
 What Is AWS Elastic Kubernetes Service What Is AWS Elastic Kubernetes Service
What Is AWS Elastic Kubernetes Service
 
AWS Vs Azure
AWS Vs AzureAWS Vs Azure
AWS Vs Azure
 
What is DevOps
 What is DevOps What is DevOps
What is DevOps
 
AWS Vs AZURE
AWS Vs AZUREAWS Vs AZURE
AWS Vs AZURE
 
What Is NPM
What Is NPMWhat Is NPM
What Is NPM
 
What is DJANGO
What is DJANGOWhat is DJANGO
What is DJANGO
 
What is REST API
What is REST APIWhat is REST API
What is REST API
 
What is WEB 3.0
What is WEB 3.0What is WEB 3.0
What is WEB 3.0
 
What is docker
What is dockerWhat is docker
What is docker
 
What Is CORS
 What Is CORS  What Is CORS
What Is CORS
 
What is Coding Resources
  What is Coding Resources  What is Coding Resources
What is Coding Resources
 
What is an Algorithm
What is an AlgorithmWhat is an Algorithm
What is an Algorithm
 
What Is Blockchain
What Is Blockchain What Is Blockchain
What Is Blockchain
 

Recently uploaded

Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
PedroFerreira53928
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
Tamralipta Mahavidyalaya
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
EduSkills OECD
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
Celine George
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
Excellence Foundation for South Sudan
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
MIRIAMSALINAS13
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
Nguyen Thanh Tu Collection
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
kaushalkr1407
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
GeoBlogs
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 

Recently uploaded (20)

Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......Ethnobotany and Ethnopharmacology ......
Ethnobotany and Ethnopharmacology ......
 
Basic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumersBasic phrases for greeting and assisting costumers
Basic phrases for greeting and assisting costumers
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
Home assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdfHome assignment II on Spectroscopy 2024 Answers.pdf
Home assignment II on Spectroscopy 2024 Answers.pdf
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxStudents, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptx
 
How to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS ModuleHow to Split Bills in the Odoo 17 POS Module
How to Split Bills in the Odoo 17 POS Module
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXXPhrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
Phrasal Verbs.XXXXXXXXXXXXXXXXXXXXXXXXXX
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI BUỔI 2) - TIẾNG ANH 8 GLOBAL SUCCESS (2 CỘT) N...
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
The Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdfThe Roman Empire A Historical Colossus.pdf
The Roman Empire A Historical Colossus.pdf
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 

What Is Terraform

  • 2. •Commandline tool (go) (OS X, Windows, Linux, …) •Developed by Hashicorp (Vagrant, Packer, Consul, Nomad) •Lets you describe and provision cloud infrastructure using HCL formatted text files •Servers, networks, load balancing, storage, containers •Multi-provider (AWS, Azure, GC, Cloudstack, …) Terraform 2 Copyright thinkcloudly, All rights reserved
  • 3. •CloudStack @ Exoscale (Switzerland) •Web servers (CentOS/Linux) •Bastion host for management/provisioning •SSH public/private key •Run Apache httpd web server •Domain name (DNS) (AWS) 3 Demo Copyright thinkcloudly, All rights reserved
  • 4. •A provider is used to connect to a cloud provider •AWS, Azure, GC, Digital Ocean, Cloudstack, Openstack, Heroku, CloudFoundry, Mailgun, easyDNS, CloudFlare… •Providers know the APIs and expose available services 4 Provider (1) Copyright thinkcloudly, All rights reserved
  • 5. •A resource defines how to use a cloud resource/service •VM, IP-address, load balancer, network, firewall, object storage, DNS-record •The name of the provider is used as a resource name prefix •Resources have unique ids •Combination of resource type and name 5 Resource (2) Copyright thinkcloudly, All rights reserved
  • 6. •A resource can depend on another resource •Can determine the order of creation 6 Dependencies (3) Copyright thinkcloudly, All rights reserved
  • 7. •When manipulating resources, Terraform saves the current state i a .tfstate file (or S3, Consul) •Knows a resource's current state in the cloud 7 terraform show terraform show Copyright thinkcloudly, All rights reserved
  • 8. 8 •Variables •Interpolation •Functions (math, base64, join, lower, ...) •Count Syntax (4) Copyright thinkcloudly, All rights reserved
  • 9. 9 •A provisioner lets you provision against the resource right after creation •chef •remote-exec (script run on the server) •local-exec (script run locally) provisioner (5) Copyright thinkcloudly, All rights reserved
  • 10. •When resources have to be recreated from scratch, they have to be tainted terraform taint <resource_type>.<resource_id> 10 terraform taint Copyright thinkcloudly, All rights reserved
  • 11. 11 •Connect to you web server through bastion host •Limit access to bastion host to your IP range •Use smart card to protect your private key •E.g. yubikey as OpenPGP smartcard and gpg-agent emulating ssh-agent Security first! (6) Copyright thinkcloudly, All rights reserved
  • 13. 13 •Outputs lets you define values that will be output when Terraform applies •Can be queried easily: terraform output [-json] output (7) Copyright thinkcloudly, All rights reserved
  • 14. •Can connect resources from different cloud providers •Unique feature in Terraform! 14 Multi-provider (8) Copyright thinkcloudly, All rights reserved
  • 15. Multi provider, multi datacenter, multi technology (9) 15 •DNS using weighted record set •Could have used latency / geolocation •Health checks to determine data center (or service) outage Copyright thinkcloudly, All rights reserved
  • 16. •Dependency graphs can be generated dynamically terraform graph | dot -Tpng | open -f -a Preview 16 Bonus: Dependency graph Copyright thinkcloudly, All rights reserved
  • 17. •Terraform is great for defining infrastructure as code •Perform incremental changes to your infrastructure •Can combine several cloud providers in your 17 Summary Copyright thinkcloudly, All rights reserved