SlideShare a Scribd company logo
1 of 69
Download to read offline
Introduction to Terraform: IaC
Jay Kim
Nov 28, 2019
class 101
101.1 What is Terraform?

101.2 Key Features of Terraform

101.3 Pros and Cons

101.4 Providers

101.5 Basic of Infrastructure

101.6 Getting Started
Samsung Electronics, Staff Engineer
Global Service Reliability Engineer
Jay Kim
class 101
class 101
101.1 What is Terraform?
class 101 101.1 What is Terraform?
Use Infrastructure as Code(IaC) to provision and manage any cloud, infrastructure, or service
class 101 101.1 What is Terraform?
Terraform
Infrastructure
creation
DEV
STG
Prod
Use Infrastructure as Code(IaC) to provision and manage any cloud, infrastructure, or service
class 101 101.1 What is Terraform?
Use Infrastructure as Code(IaC) to provision and manage any cloud, infrastructure, or service
class 101 101.1 What is Terraform?
HCL
(Hashicorp Configuration Language (HCL))
Use Infrastructure as Code(IaC) to provision and manage any cloud, infrastructure, or service
class 101 101.1 What is Terraform?
class 101 101.1 What is Terraform?
class 101 101.1 What is Terraform?
class 101 101.1 What is Terraform?
class 101 101.1 What is Terraform?
class 101 101.1 What is Terraform?
class 101 101.1 What is Terraform?
Armon Dadgar(24)
co-founder and CTO
Mitchell Hashimoto(26)
co-founder and CEO
class 101 101.1 What is Terraform?
Armon Dadgar(24)
co-founder and CTO
Mitchell Hashimoto(26)
co-founder and CEO
class 101 101.1 What is Terraform?
Armon Dadgar(24)
co-founder and CTO
http://mitchellh.com/automation-obsessed
Mitchell Hashimoto(26)
co-founder and CEO
class 101 101.1 What is Terraform?
Mitchell Hashimoto(26)
co-founder and CEO
http://mitchellh.com/automation-obsessed
class 101 101.1 What is Terraform?
Terraform is, the result of
“Engineering Thinking”
Do Coding For Everything
(Automation)
Summary
class 101
101.2 Key Features of Terraform
class 101 101.2 Key Features of Terraform
class 101 101.2 Key Features of Terraform
class 101 101.2 Key Features of Terraform
class 101 101.2 Key Features of Terraform
class 101 101.2 Key Features of Terraform
class 101 101.2 Key Features of Terraform
These features are very similar with
class 101 101.2 Key Features of Terraform
These features are very similar with React
class 101 101.2 Key Features of Terraform
Terraform is an infrastructure provisioning tool 

but the concepts aren’t only for SysOps Engineer.
class 101 101.2 Key Features of Terraform
*.examples of declarative
class 101
101.2 Key Features of Terraform
class 101 101.2 Key Features of Terraform
class 101 101.2 Key Features of Terraform
class 101 101.2 Key Features of Terraform
class 101 101.2 Key Features of Terraform
class 101 101.2 Key Features of Terraform
class 101 101.2 Key Features of Terraform
These features are very similar with
class 101 101.2 Key Features of Terraform
These features are very similar with React
class 101 101.2 Key Features of Terraform
Terraform is an infrastructure provisioning tool 

but the concepts aren’t only for SysOps Engineer.

Summary
class 101 101.2 Key Features of Terraform
*.examples of declarative
class 101
101.3 Pros and Cons
class 101 101.3 Pros and Cons
Pros Cons
Problem Solving

w/Engineer’s way

Reusable

Resources

Productivity

High Entry Barrier

(Especially, non-coder) 

Reduce

Human Error
Everyone

Should do Terraform

Difficult to train
Difficult to design
class 101
101.4 Providers
class 101
major cloud
101.4 Providers
class 101
major cloud
Infrastructure Software
VCS
Monitoring & System Management
101.4 Providers
class 101
Community
101.4 Providers
class 101 101.4 Providers Summary
Code For Everything
Not only for the infrastructure
class 101
101.5 Basic Infrastructure
class 101 101.5 Basic of Infrastructure
Customer
Mobile App
Web Browser
WebServer
Backend
LB
LB
LB
DB
VPC
class 101 101.5 Basic of Infrastructure
Customer
Mobile App
Web Browser
DB
WebServer
Backend
LB
LB
LB
Public Subnet Private Subnet DB Subnet
VPC
class 101 101.5 Basic of Infrastructure
Customer
Mobile App
Web Browser
DB
WebServer
Backend
LB
LB
LB
Public Subnet Private Subnet DB Subnet
IGW
NAT
Internet VPC
class 101
101.6 Getting Started
class 101 101.6 Getting Started
DEMO Public Subnet Private Subnet DB Subnet
IGW
NAT
Internet VPC
class 101 101.6 Getting Started
Terraform Install
https://www.terraform.io/downloads.html
After download the package,
$ mv terraform terraform_v0.12.0
$ mv terraform_v0.12.0 /usr/local/bin/terraform_v0.12.0
$ ln -s /usr/local/bin/terraform_v0.12.0 /usr/local/bin/tf
class 101 101.6 Getting Started
HCL(Hashicorp Configuration Language)
1. Providers

2. Resources

3. Input Variables. (TBD)

4. Output Values. (TBD)

5. Local Values

6. Modules. (TBD)

7. Data Sources (TBD)

8. Functions(Interpolation). (TBD)

9. State (TBD)

10.Backend (TBD)
Commands
1. Init

2. plan (w/target)

3. apply

4. destroy
class 101 101.6 Getting Started
DEMO Public Subnet Private Subnet DB Subnet
IGW
NAT
Internet VPC
class 101 101.6 Getting Started
2. AWS Profile Setup
1. AWS Programmable Key Creation
AWS Admin Console -> User -> Security Credentials -> Access Keys -> Create access key
$ vi ~/.aws/credentials
[dev]

aws_access_key_id={{ access_key }}

aws_secret_access_key={{ secret_access_key }}
DEMO
class 101 101.6 Getting Started
3. TF Demo Folder Creation
4. aws.tf file creation
5. Search “terraform was provider” in Google
DEMO
class 101 101.6 Getting Started
6. Copy & Paste
7. Add profile = “dev"
DEMO
class 101 101.6 Getting Started
8. “tf init”
DEMO
class 101 101.6 Getting Started
9. Search “terraform aws vpc” in google
DEMO
class 101 101.6 Getting Started
9. Search “terraform aws vpc” in google
DEMO
class 101 101.6 Getting Started
9. Search “terraform aws vpc” in google
DEMO
class 101 101.6 Getting Started
10. create “vpc.tf” file
DEMO
class 101 101.6 Getting Started
11. Execute “tf plan”
DEMO
class 101 101.6 Getting Started
DEMO
11. Execute “tf apply”
12. Checking “VPC Creation” in AWS Console
class 101 101.6 Getting Started
13. Change “Name” Tag Value & “tf plan” & “tf apply”
14. Checking the “VPC Name Change” on AWS Console
15. Add “local” variable
DEMO
class 101 101.6 Getting Started
16. Search “terraform aws subnet”
DEMO
17.Add “aws_subnet” “private”, “public”, “db” with cidrs
class 101 101.6 Getting Started
DEMO
17.Add “aws_subnet” “private”, “public”, “db” with cidrs
* Interpolation Warning
${aws_vpc.main.id}
Terraform Version < 0.12.x
aws_vpc.main.id
Terraform Version > 0.12.x
18.plan / apply
class 101 101.6 Getting Started
DEMO
19. igw, route table, nat, nat_eip
class 101 101.6 Getting Started
DEMO
19. igw, route table, nat, nat_eip

More Related Content

What's hot

Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)Adin Ermie
 
An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraformJulien Pivotto
 
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...Alex Cachia
 
Terraform Best Practices - DevOps Unicorns 2019
Terraform Best Practices - DevOps Unicorns 2019Terraform Best Practices - DevOps Unicorns 2019
Terraform Best Practices - DevOps Unicorns 2019Anton Babenko
 
Comprehensive Terraform Training
Comprehensive Terraform TrainingComprehensive Terraform Training
Comprehensive Terraform TrainingYevgeniy Brikman
 
Infrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using TerraformInfrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using TerraformAdin Ermie
 
Terraform introduction
Terraform introductionTerraform introduction
Terraform introductionJason Vance
 
Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeMartin Schütte
 
Terraform modules restructured
Terraform modules restructuredTerraform modules restructured
Terraform modules restructuredAmi Mahloof
 

What's hot (20)

Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
Infrastructure-as-Code (IaC) Using Terraform (Intermediate Edition)
 
Terraform
TerraformTerraform
Terraform
 
An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraform
 
Terraform
TerraformTerraform
Terraform
 
Terraform on Azure
Terraform on AzureTerraform on Azure
Terraform on Azure
 
Introduction to IAC and Terraform
Introduction to IAC and Terraform Introduction to IAC and Terraform
Introduction to IAC and Terraform
 
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
 
Terraform Basics
Terraform BasicsTerraform Basics
Terraform Basics
 
Terraform
TerraformTerraform
Terraform
 
Terraform
TerraformTerraform
Terraform
 
Terraform Best Practices - DevOps Unicorns 2019
Terraform Best Practices - DevOps Unicorns 2019Terraform Best Practices - DevOps Unicorns 2019
Terraform Best Practices - DevOps Unicorns 2019
 
Terraform
TerraformTerraform
Terraform
 
Intro to Terraform
Intro to TerraformIntro to Terraform
Intro to Terraform
 
Comprehensive Terraform Training
Comprehensive Terraform TrainingComprehensive Terraform Training
Comprehensive Terraform Training
 
Terraform
TerraformTerraform
Terraform
 
Infrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using TerraformInfrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using Terraform
 
Terraform introduction
Terraform introductionTerraform introduction
Terraform introduction
 
Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as Code
 
Final terraform
Final terraformFinal terraform
Final terraform
 
Terraform modules restructured
Terraform modules restructuredTerraform modules restructured
Terraform modules restructured
 

Similar to Introduce to Terraform

Terraform Modules Restructured
Terraform Modules RestructuredTerraform Modules Restructured
Terraform Modules RestructuredDoiT International
 
The benefits of Managing Helm with Terraform
The benefits of Managing Helm with TerraformThe benefits of Managing Helm with Terraform
The benefits of Managing Helm with TerraformThiwanon Chomcharoen
 
OracleBeer_Terraform_soe.pdf
OracleBeer_Terraform_soe.pdfOracleBeer_Terraform_soe.pdf
OracleBeer_Terraform_soe.pdfStefan Oehrli
 
Terraform day 1
Terraform day 1Terraform day 1
Terraform day 1Kalkey
 
Linode_eBook_Declarative_Cloud_Infrastructure_Management_with_Terraform.pptx
Linode_eBook_Declarative_Cloud_Infrastructure_Management_with_Terraform.pptxLinode_eBook_Declarative_Cloud_Infrastructure_Management_with_Terraform.pptx
Linode_eBook_Declarative_Cloud_Infrastructure_Management_with_Terraform.pptxAkwasiBoateng6
 
Terraform Abstractions for Safety and Power
Terraform Abstractions for Safety and PowerTerraform Abstractions for Safety and Power
Terraform Abstractions for Safety and PowerCalvin French-Owen
 
Terraform modules and (some of) best practices
Terraform modules and (some of) best practicesTerraform modules and (some of) best practices
Terraform modules and (some of) best practicesAnton Babenko
 
As novidades do C# 5.0
As novidades do C# 5.0As novidades do C# 5.0
As novidades do C# 5.0pt_programar
 
What's New In C# 5.0 - Programar 2013
What's New In C# 5.0 - Programar 2013What's New In C# 5.0 - Programar 2013
What's New In C# 5.0 - Programar 2013Paulo Morgado
 
Terraform modules and (some of) best practices
Terraform modules and (some of) best practicesTerraform modules and (some of) best practices
Terraform modules and (some of) best practicesAnton Babenko
 
Introduction tojavaandxml lc-slides01-fp2005-ver 1.0
Introduction tojavaandxml lc-slides01-fp2005-ver 1.0Introduction tojavaandxml lc-slides01-fp2005-ver 1.0
Introduction tojavaandxml lc-slides01-fp2005-ver 1.0Sanjay Yadav
 
Deploy resources on Azure using IaC (Azure Terraform)
Deploy  resources on Azure using IaC (Azure Terraform)Deploy  resources on Azure using IaC (Azure Terraform)
Deploy resources on Azure using IaC (Azure Terraform)George Grammatikos
 
Config Management Camp 2017 - If it moves, give it a pipeline
Config Management Camp 2017 - If it moves, give it a pipelineConfig Management Camp 2017 - If it moves, give it a pipeline
Config Management Camp 2017 - If it moves, give it a pipelineMark Rendell
 
How to test infrastructure code: automated testing for Terraform, Kubernetes,...
How to test infrastructure code: automated testing for Terraform, Kubernetes,...How to test infrastructure code: automated testing for Terraform, Kubernetes,...
How to test infrastructure code: automated testing for Terraform, Kubernetes,...Yevgeniy Brikman
 
KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...
KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...
KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...Chris Fregly
 
Devops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform
Devops Columbia October 2020 - Gabriel Alix: A Discussion on TerraformDevops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform
Devops Columbia October 2020 - Gabriel Alix: A Discussion on TerraformDrew Malone
 
Devops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform
Devops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform Devops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform
Devops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform DevOpsColumbia
 

Similar to Introduce to Terraform (20)

Terraform training 🎒 - Basic
Terraform training 🎒 - BasicTerraform training 🎒 - Basic
Terraform training 🎒 - Basic
 
Terraform Modules Restructured
Terraform Modules RestructuredTerraform Modules Restructured
Terraform Modules Restructured
 
The benefits of Managing Helm with Terraform
The benefits of Managing Helm with TerraformThe benefits of Managing Helm with Terraform
The benefits of Managing Helm with Terraform
 
OracleBeer_Terraform_soe.pdf
OracleBeer_Terraform_soe.pdfOracleBeer_Terraform_soe.pdf
OracleBeer_Terraform_soe.pdf
 
Terraform day 1
Terraform day 1Terraform day 1
Terraform day 1
 
Linode_eBook_Declarative_Cloud_Infrastructure_Management_with_Terraform.pptx
Linode_eBook_Declarative_Cloud_Infrastructure_Management_with_Terraform.pptxLinode_eBook_Declarative_Cloud_Infrastructure_Management_with_Terraform.pptx
Linode_eBook_Declarative_Cloud_Infrastructure_Management_with_Terraform.pptx
 
Terraform Abstractions for Safety and Power
Terraform Abstractions for Safety and PowerTerraform Abstractions for Safety and Power
Terraform Abstractions for Safety and Power
 
Terraform modules and (some of) best practices
Terraform modules and (some of) best practicesTerraform modules and (some of) best practices
Terraform modules and (some of) best practices
 
As novidades do C# 5.0
As novidades do C# 5.0As novidades do C# 5.0
As novidades do C# 5.0
 
What's New In C# 5.0 - Programar 2013
What's New In C# 5.0 - Programar 2013What's New In C# 5.0 - Programar 2013
What's New In C# 5.0 - Programar 2013
 
Terraform modules and (some of) best practices
Terraform modules and (some of) best practicesTerraform modules and (some of) best practices
Terraform modules and (some of) best practices
 
Introduction tojavaandxml lc-slides01-fp2005-ver 1.0
Introduction tojavaandxml lc-slides01-fp2005-ver 1.0Introduction tojavaandxml lc-slides01-fp2005-ver 1.0
Introduction tojavaandxml lc-slides01-fp2005-ver 1.0
 
Deploy resources on Azure using IaC (Azure Terraform)
Deploy  resources on Azure using IaC (Azure Terraform)Deploy  resources on Azure using IaC (Azure Terraform)
Deploy resources on Azure using IaC (Azure Terraform)
 
Config Management Camp 2017 - If it moves, give it a pipeline
Config Management Camp 2017 - If it moves, give it a pipelineConfig Management Camp 2017 - If it moves, give it a pipeline
Config Management Camp 2017 - If it moves, give it a pipeline
 
How to test infrastructure code: automated testing for Terraform, Kubernetes,...
How to test infrastructure code: automated testing for Terraform, Kubernetes,...How to test infrastructure code: automated testing for Terraform, Kubernetes,...
How to test infrastructure code: automated testing for Terraform, Kubernetes,...
 
Getting Started with Terraform
Getting Started with TerraformGetting Started with Terraform
Getting Started with Terraform
 
Effective terraform
Effective terraformEffective terraform
Effective terraform
 
KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...
KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...
KubeFlow + GPU + Keras/TensorFlow 2.0 + TF Extended (TFX) + Kubernetes + PyTo...
 
Devops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform
Devops Columbia October 2020 - Gabriel Alix: A Discussion on TerraformDevops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform
Devops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform
 
Devops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform
Devops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform Devops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform
Devops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform
 

Recently uploaded

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 

Recently uploaded (20)

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

Introduce to Terraform

  • 1. Introduction to Terraform: IaC Jay Kim Nov 28, 2019 class 101 101.1 What is Terraform? 101.2 Key Features of Terraform 101.3 Pros and Cons 101.4 Providers 101.5 Basic of Infrastructure 101.6 Getting Started
  • 2. Samsung Electronics, Staff Engineer Global Service Reliability Engineer Jay Kim class 101
  • 3. class 101 101.1 What is Terraform?
  • 4. class 101 101.1 What is Terraform? Use Infrastructure as Code(IaC) to provision and manage any cloud, infrastructure, or service
  • 5. class 101 101.1 What is Terraform? Terraform Infrastructure creation DEV STG Prod Use Infrastructure as Code(IaC) to provision and manage any cloud, infrastructure, or service
  • 6. class 101 101.1 What is Terraform? Use Infrastructure as Code(IaC) to provision and manage any cloud, infrastructure, or service
  • 7. class 101 101.1 What is Terraform? HCL (Hashicorp Configuration Language (HCL)) Use Infrastructure as Code(IaC) to provision and manage any cloud, infrastructure, or service
  • 8. class 101 101.1 What is Terraform?
  • 9. class 101 101.1 What is Terraform?
  • 10. class 101 101.1 What is Terraform?
  • 11. class 101 101.1 What is Terraform?
  • 12. class 101 101.1 What is Terraform?
  • 13. class 101 101.1 What is Terraform?
  • 14. class 101 101.1 What is Terraform? Armon Dadgar(24) co-founder and CTO Mitchell Hashimoto(26) co-founder and CEO
  • 15. class 101 101.1 What is Terraform? Armon Dadgar(24) co-founder and CTO Mitchell Hashimoto(26) co-founder and CEO
  • 16. class 101 101.1 What is Terraform? Armon Dadgar(24) co-founder and CTO http://mitchellh.com/automation-obsessed Mitchell Hashimoto(26) co-founder and CEO
  • 17. class 101 101.1 What is Terraform? Mitchell Hashimoto(26) co-founder and CEO http://mitchellh.com/automation-obsessed
  • 18. class 101 101.1 What is Terraform? Terraform is, the result of “Engineering Thinking” Do Coding For Everything (Automation) Summary
  • 19. class 101 101.2 Key Features of Terraform
  • 20. class 101 101.2 Key Features of Terraform
  • 21. class 101 101.2 Key Features of Terraform
  • 22. class 101 101.2 Key Features of Terraform
  • 23. class 101 101.2 Key Features of Terraform
  • 24. class 101 101.2 Key Features of Terraform
  • 25. class 101 101.2 Key Features of Terraform These features are very similar with
  • 26. class 101 101.2 Key Features of Terraform These features are very similar with React
  • 27. class 101 101.2 Key Features of Terraform Terraform is an infrastructure provisioning tool but the concepts aren’t only for SysOps Engineer.
  • 28. class 101 101.2 Key Features of Terraform *.examples of declarative
  • 29. class 101 101.2 Key Features of Terraform
  • 30. class 101 101.2 Key Features of Terraform
  • 31. class 101 101.2 Key Features of Terraform
  • 32. class 101 101.2 Key Features of Terraform
  • 33. class 101 101.2 Key Features of Terraform
  • 34. class 101 101.2 Key Features of Terraform
  • 35. class 101 101.2 Key Features of Terraform These features are very similar with
  • 36. class 101 101.2 Key Features of Terraform These features are very similar with React
  • 37. class 101 101.2 Key Features of Terraform Terraform is an infrastructure provisioning tool but the concepts aren’t only for SysOps Engineer. Summary
  • 38. class 101 101.2 Key Features of Terraform *.examples of declarative
  • 40. class 101 101.3 Pros and Cons Pros Cons Problem Solving w/Engineer’s way Reusable Resources Productivity High Entry Barrier (Especially, non-coder) Reduce Human Error Everyone Should do Terraform Difficult to train Difficult to design
  • 43. class 101 major cloud Infrastructure Software VCS Monitoring & System Management 101.4 Providers
  • 45. class 101 101.4 Providers Summary Code For Everything Not only for the infrastructure
  • 46. class 101 101.5 Basic Infrastructure
  • 47. class 101 101.5 Basic of Infrastructure Customer Mobile App Web Browser WebServer Backend LB LB LB DB VPC
  • 48. class 101 101.5 Basic of Infrastructure Customer Mobile App Web Browser DB WebServer Backend LB LB LB Public Subnet Private Subnet DB Subnet VPC
  • 49. class 101 101.5 Basic of Infrastructure Customer Mobile App Web Browser DB WebServer Backend LB LB LB Public Subnet Private Subnet DB Subnet IGW NAT Internet VPC
  • 51. class 101 101.6 Getting Started DEMO Public Subnet Private Subnet DB Subnet IGW NAT Internet VPC
  • 52. class 101 101.6 Getting Started Terraform Install https://www.terraform.io/downloads.html After download the package, $ mv terraform terraform_v0.12.0 $ mv terraform_v0.12.0 /usr/local/bin/terraform_v0.12.0 $ ln -s /usr/local/bin/terraform_v0.12.0 /usr/local/bin/tf
  • 53. class 101 101.6 Getting Started HCL(Hashicorp Configuration Language) 1. Providers 2. Resources 3. Input Variables. (TBD) 4. Output Values. (TBD) 5. Local Values 6. Modules. (TBD) 7. Data Sources (TBD) 8. Functions(Interpolation). (TBD) 9. State (TBD) 10.Backend (TBD) Commands 1. Init 2. plan (w/target) 3. apply 4. destroy
  • 54. class 101 101.6 Getting Started DEMO Public Subnet Private Subnet DB Subnet IGW NAT Internet VPC
  • 55. class 101 101.6 Getting Started 2. AWS Profile Setup 1. AWS Programmable Key Creation AWS Admin Console -> User -> Security Credentials -> Access Keys -> Create access key $ vi ~/.aws/credentials [dev] aws_access_key_id={{ access_key }} aws_secret_access_key={{ secret_access_key }} DEMO
  • 56. class 101 101.6 Getting Started 3. TF Demo Folder Creation 4. aws.tf file creation 5. Search “terraform was provider” in Google DEMO
  • 57. class 101 101.6 Getting Started 6. Copy & Paste 7. Add profile = “dev" DEMO
  • 58. class 101 101.6 Getting Started 8. “tf init” DEMO
  • 59. class 101 101.6 Getting Started 9. Search “terraform aws vpc” in google DEMO
  • 60. class 101 101.6 Getting Started 9. Search “terraform aws vpc” in google DEMO
  • 61. class 101 101.6 Getting Started 9. Search “terraform aws vpc” in google DEMO
  • 62. class 101 101.6 Getting Started 10. create “vpc.tf” file DEMO
  • 63. class 101 101.6 Getting Started 11. Execute “tf plan” DEMO
  • 64. class 101 101.6 Getting Started DEMO 11. Execute “tf apply” 12. Checking “VPC Creation” in AWS Console
  • 65. class 101 101.6 Getting Started 13. Change “Name” Tag Value & “tf plan” & “tf apply” 14. Checking the “VPC Name Change” on AWS Console 15. Add “local” variable DEMO
  • 66. class 101 101.6 Getting Started 16. Search “terraform aws subnet” DEMO 17.Add “aws_subnet” “private”, “public”, “db” with cidrs
  • 67. class 101 101.6 Getting Started DEMO 17.Add “aws_subnet” “private”, “public”, “db” with cidrs * Interpolation Warning ${aws_vpc.main.id} Terraform Version < 0.12.x aws_vpc.main.id Terraform Version > 0.12.x 18.plan / apply
  • 68. class 101 101.6 Getting Started DEMO 19. igw, route table, nat, nat_eip
  • 69. class 101 101.6 Getting Started DEMO 19. igw, route table, nat, nat_eip