SlideShare a Scribd company logo
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
Infrastructure-as-Code (IaC) using TerraformInfrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using Terraform
Adin Ermie
 
Terraform
TerraformTerraform
Terraform modules and best-practices - September 2018
Terraform modules and best-practices - September 2018Terraform modules and best-practices - September 2018
Terraform modules and best-practices - September 2018
Anton Babenko
 
Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with Terraform
DevOps.com
 
Terraform
TerraformTerraform
Terraform
Diego Pacheco
 
Intro to Terraform
Intro to TerraformIntro to Terraform
Intro to Terraform
Josh Michielsen
 
Terraform modules restructured
Terraform modules restructuredTerraform modules restructured
Terraform modules restructured
Ami Mahloof
 
Effective terraform
Effective terraformEffective terraform
Effective terraform
Calvin French-Owen
 
Terraform Basics
Terraform BasicsTerraform Basics
Terraform Basics
Mohammed Fazuluddin
 
Comprehensive Terraform Training
Comprehensive Terraform TrainingComprehensive Terraform Training
Comprehensive Terraform Training
Yevgeniy Brikman
 
Terraform day1
Terraform day1Terraform day1
Terraform day1
Gourav Varma
 
Building infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowBuilding infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps Krakow
Anton Babenko
 
An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraform
Julien Pivotto
 
Terraform
TerraformTerraform
Terraform
Otto Jongerius
 
Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as Code
Martin Schütte
 
Terraform
TerraformTerraform
Creating AWS infrastructure using Terraform
Creating AWS infrastructure using TerraformCreating AWS infrastructure using Terraform
Creating AWS infrastructure using Terraform
Knoldus Inc.
 
Getting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeGetting Started with Infrastructure as Code
Getting Started with Infrastructure as Code
WinWire Technologies Inc
 
Introduction To Terraform
Introduction To TerraformIntroduction To Terraform
Introduction To Terraform
Sasitha Iresh
 
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
 

What's hot (20)

Infrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using TerraformInfrastructure-as-Code (IaC) using Terraform
Infrastructure-as-Code (IaC) using Terraform
 
Terraform
TerraformTerraform
Terraform
 
Terraform modules and best-practices - September 2018
Terraform modules and best-practices - September 2018Terraform modules and best-practices - September 2018
Terraform modules and best-practices - September 2018
 
Best Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with TerraformBest Practices of Infrastructure as Code with Terraform
Best Practices of Infrastructure as Code with Terraform
 
Terraform
TerraformTerraform
Terraform
 
Intro to Terraform
Intro to TerraformIntro to Terraform
Intro to Terraform
 
Terraform modules restructured
Terraform modules restructuredTerraform modules restructured
Terraform modules restructured
 
Effective terraform
Effective terraformEffective terraform
Effective terraform
 
Terraform Basics
Terraform BasicsTerraform Basics
Terraform Basics
 
Comprehensive Terraform Training
Comprehensive Terraform TrainingComprehensive Terraform Training
Comprehensive Terraform Training
 
Terraform day1
Terraform day1Terraform day1
Terraform day1
 
Building infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps KrakowBuilding infrastructure as code using Terraform - DevOps Krakow
Building infrastructure as code using Terraform - DevOps Krakow
 
An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraform
 
Terraform
TerraformTerraform
Terraform
 
Terraform -- Infrastructure as Code
Terraform -- Infrastructure as CodeTerraform -- Infrastructure as Code
Terraform -- Infrastructure as Code
 
Terraform
TerraformTerraform
Terraform
 
Creating AWS infrastructure using Terraform
Creating AWS infrastructure using TerraformCreating AWS infrastructure using Terraform
Creating AWS infrastructure using Terraform
 
Getting Started with Infrastructure as Code
Getting Started with Infrastructure as CodeGetting Started with Infrastructure as Code
Getting Started with Infrastructure as Code
 
Introduction To Terraform
Introduction To TerraformIntroduction To Terraform
Introduction To Terraform
 
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)
 

Similar to Introduce to Terraform

Terraform training 🎒 - Basic
Terraform training 🎒 - BasicTerraform training 🎒 - Basic
Terraform training 🎒 - Basic
StephaneBoghossian1
 
Terraform Modules Restructured
Terraform Modules RestructuredTerraform Modules Restructured
Terraform Modules Restructured
DoiT 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 Terraform
Thiwanon Chomcharoen
 
Introduction to IAC and Terraform
Introduction to IAC and Terraform Introduction to IAC and Terraform
Introduction to IAC and Terraform
Venkat NaveenKashyap Devulapally
 
OracleBeer_Terraform_soe.pdf
OracleBeer_Terraform_soe.pdfOracleBeer_Terraform_soe.pdf
OracleBeer_Terraform_soe.pdf
Stefan Oehrli
 
Terraform day 1
Terraform day 1Terraform day 1
Terraform day 1
Kalkey
 
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
AkwasiBoateng6
 
Terraform Abstractions for Safety and Power
Terraform Abstractions for Safety and PowerTerraform Abstractions for Safety and Power
Terraform Abstractions for Safety and Power
Calvin 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 practices
Anton Babenko
 
As novidades do C# 5.0
As novidades do C# 5.0As novidades do C# 5.0
As novidades do C# 5.0
pt_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 2013
Paulo 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 practices
Anton 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.0
Sanjay 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 pipeline
Mark 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
 
Getting Started with Terraform
Getting Started with TerraformGetting Started with Terraform
Getting Started with Terraform
Revelation Technologies
 
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 Terraform Devops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform
Devops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform
DevOpsColumbia
 
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
Drew Malone
 

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
 
Introduction to IAC and Terraform
Introduction to IAC and Terraform Introduction to IAC and Terraform
Introduction to IAC and 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
 
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 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 TerraformDevops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform
Devops Columbia October 2020 - Gabriel Alix: A Discussion on Terraform
 

Recently uploaded

Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
Edge AI and Vision Alliance
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 

Recently uploaded (20)

Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Artificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic WarfareArtificial Intelligence and Electronic Warfare
Artificial Intelligence and Electronic Warfare
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
“How Axelera AI Uses Digital Compute-in-memory to Deliver Fast and Energy-eff...
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 

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