SlideShare a Scribd company logo
DEVOPS INDONESIA
Manage, Maintain and Automate Infrastructure as code using
Terraform
Location : Traveloka
Wisma 77 Tower 2 Lt 2, Jl. S Parman Kav. 77 Slipi
Jakarta, Indonesia
Big Event DevOps Day Jakarta 2018
The 1st
DevOpsDays in Indonesia
DevOps Indonesia is also the community Sponsor in DevOps Day Jakarta 2018
DevOpsDays is a 2-day conference & workshop that will be held in Jakarta on April 26th
and 27th, 2018. This conference, which is now happening frequently around the globe,
is the conference for bridging the gap between development and operations. DevOpsDays is
a grassroots event for connecting professionals in the field allowing them to share
experiences, advice, ideas, and tools relating to DevOps. It is organised by people who care
about DevOps, for people who care about collaboration, automation, measurement, and
improvement
What is DevOps Day?
The Venue
Menara BTPN, #27-01, Jl. Dr. Ide Anak Agung Gde Agung Kav 5.5 - 5.6, Kuningan Timur
Stay Connected
@devopsindonesia
http://www.devopsindonesia.com
https://t.me/joinchat/AAAAAFIN3xeiD8b8JBy8XA
DevOps Indonesia
Alone We are smart, together We are brilliant
THANK YOU !
Quote by Steve Anderson
Manage, Maintain and Automate
Infrastructure as code using
Terraform
About Me
- DevOps, Release, Infrastructure Engineer @Traveloka
- E-mail: amal.syahreza@traveloka.com
- Twitter: @amalsyahreza
- Infrastructure as a code design.
- Comparison of Infrastructure as a Code Tooling (Ansible, CloudFormation,
Terraform).
- Immutable Deployment with Terraform.
- Conclusion + Q&A
Agenda
Infrastructure as A Code Design
Patterns
Why Codify Your Infrastructure
● Automate provisioning and deployment process.
○ Faster and reliable deployment process.
○ Prevent human error in the execution process.
● Clear state of infrastructure.
● Validate the infrastructure change.
● Documented the change of infrastructure.
Technology
continuously to
evolve, but the goal
stay same.
What is a Good
Design?
Unix Philosophy #1
Make each program do one thing
well. To do a new job, build afresh
rather than complicate old
programs by adding new
"features".
Unless you can be like this man...
How to Create a
Good Design?
KEEP
CALM
AND
LEAVE YOUR
EGO
Empower the
People
Review the Design
Ansible vs CloudFormation Vs
Terraform in Infrastructure
Orchestration
Ansible CloudFormation Terraform
Code Open source Closed source Open source
Community Support Yes No Yes
Cloud Support Any AWS Any
Type Config management Infrastructure
Orchestration
Infrastructure
Orchestration
Language Style Procedural Declarative Declarative
General Comparison
Ansible CloudFormation Terraform
- ec2:
count: 2
image: ami-v1
instance_type: t2.micro
Ec2Instance01:
Type:
"AWS::EC2::Instance"
Properties:
ImageId: "ami-v1"
InstanceType:
“t2.micro”
Ec2Instance02:
Type:
"AWS::EC2::Instance"
Properties:
ImageId: "ami-v1"
InstanceType:
“t2.micro”
resource "aws_instance"
"example" {
count = 2
ami = "ami-v1"
instance_type = "t2.micro"
}
Example: Creating 2 EC2 Instances
Ansible x
CloudFormation x
Terraform Demo
Procedural vs Declarative
Ansible CloudFormation Terraform
- ec2:
count: 4
image: ami-v2
instance_type: t2.micro
Ec2Instance01:
Type: "AWS::EC2::Instance"
Properties:
ImageId: "ami-v2"
InstanceType: “t2.micro”
Ec2Instance02:
Type: "AWS::EC2::Instance"
Properties:
ImageId: "ami-v2"
InstanceType: “t2.micro”
Ec2Instance03:
Type: "AWS::EC2::Instance"
Properties:
ImageId: "ami-v2"
InstanceType: “t2.micro”
Ec2Instance04:
Type: "AWS::EC2::Instance"
Properties:
ImageId: "ami-v2"
InstanceType: “t2.micro”
resource "aws_instance" "example" {
count = 4
ami = "ami-v2"
instance_type = "t2.micro"
}
Introduction to Terraform
Terraform Module
# modules/ec2/main.tf
variable “count” {}
variable “env” {}
variable “ami” {}
variable “instance_type” {}
resource "aws_instance" "instance" {
count = “${var.count}”
env = “${var.env}”
ami = “${var.ami}”
instance_type = “${var.instance_type}”
}
# stg/app_demo/main.tf
module “ec2” {
source = “modules/ec2”
Count = 1
env = “stg”
ami = “ami_v1”
Instance_type = “t2.micro”
}
# prod/app_demo/main.tf
module “ec2” {
source = “modules/ec2”
count = 2
env = “prod”
ami = “ami_v1”
Instance_type = “m4.large”
}
Example:
Immutable
Deployment with
Terraform
Immutable Infrastructure
Image Source: https://www.oreilly.com/ideas/an-introduction-to-immutable-infrastructure
How Can we
Achieve This
● Configuration Management.
● Infrastructure Orchestration.
● AWS Image Creator
Crate AMI ( Packer
+ Ansible)
Preparing an Instance: Classic way
AMI Base Deployment
Infrastructure
Orchestration.
Q & A

More Related Content

What's hot

DevOps indonesia (Online) Meetup #44 - Announcement
DevOps indonesia (Online) Meetup #44 - AnnouncementDevOps indonesia (Online) Meetup #44 - Announcement
DevOps indonesia (Online) Meetup #44 - Announcement
DevOps Indonesia
 
DevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia (online) meetup 45 - AnnouncementDevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia
 
DevOps Indonesia #10 - Making DevOps Practice Real
DevOps Indonesia #10 - Making DevOps Practice Real DevOps Indonesia #10 - Making DevOps Practice Real
DevOps Indonesia #10 - Making DevOps Practice Real
DevOps Indonesia
 
DevOps indonesia meetup #40 (online) DevOps and DevSecOps - announcement
DevOps indonesia meetup #40 (online) DevOps and DevSecOps - announcementDevOps indonesia meetup #40 (online) DevOps and DevSecOps - announcement
DevOps indonesia meetup #40 (online) DevOps and DevSecOps - announcement
DevOps Indonesia
 
Service mesh with istio
Service mesh with istioService mesh with istio
Service mesh with istio
WisnuPrabowo20
 
DevOps Indonesia Announcement at Home Credit Indonesia
DevOps Indonesia Announcement at Home Credit IndonesiaDevOps Indonesia Announcement at Home Credit Indonesia
DevOps Indonesia Announcement at Home Credit Indonesia
DevOps Indonesia
 
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...
DevOps Indonesia
 
The Learning loop of Devops in Enterprise
The Learning loop of Devops in EnterpriseThe Learning loop of Devops in Enterprise
The Learning loop of Devops in Enterprise
R. Gesit Prasasti Alam, PSM®
 
DevOps Indonesia #12 - Adopting DevOps as culture using Azure DevOps
DevOps Indonesia #12 - Adopting DevOps as culture using Azure DevOpsDevOps Indonesia #12 - Adopting DevOps as culture using Azure DevOps
DevOps Indonesia #12 - Adopting DevOps as culture using Azure DevOps
DevOps Indonesia
 
DevOps Indonesia #13 - annoucement
DevOps Indonesia #13 - annoucementDevOps Indonesia #13 - annoucement
DevOps Indonesia #13 - annoucement
DevOps Indonesia
 
Feature Scoring in Green Field Application Development and DevOps
Feature Scoring in Green Field Application Development and DevOpsFeature Scoring in Green Field Application Development and DevOps
Feature Scoring in Green Field Application Development and DevOps
DevOps Indonesia
 
[Online] How DevOps Tranforming Service Operation and Platform
[Online] How DevOps Tranforming Service Operation and Platform[Online] How DevOps Tranforming Service Operation and Platform
[Online] How DevOps Tranforming Service Operation and Platform
DevOps Indonesia
 
Announcement DevOps indonesia meetup @shopee
Announcement DevOps indonesia meetup @shopeeAnnouncement DevOps indonesia meetup @shopee
Announcement DevOps indonesia meetup @shopee
WisnuPrabowo20
 
The Way We Start Our Transformation Journey
The Way We Start Our Transformation JourneyThe Way We Start Our Transformation Journey
The Way We Start Our Transformation Journey
DevOps Indonesia
 
DevOps Transformation Journey with XL Axiata and Maybank
DevOps Transformation Journey with XL Axiata and MaybankDevOps Transformation Journey with XL Axiata and Maybank
DevOps Transformation Journey with XL Axiata and Maybank
DevOps Indonesia
 
DevOps Indonesia Meetup [ONLINE] - Secure your container within 30 minutes - ...
DevOps Indonesia Meetup [ONLINE] - Secure your container within 30 minutes - ...DevOps Indonesia Meetup [ONLINE] - Secure your container within 30 minutes - ...
DevOps Indonesia Meetup [ONLINE] - Secure your container within 30 minutes - ...
DevOps Indonesia
 
DevOps Transformation and Vault Secret Engines - announcement
DevOps Transformation and Vault Secret Engines - announcementDevOps Transformation and Vault Secret Engines - announcement
DevOps Transformation and Vault Secret Engines - announcement
DevOps Indonesia
 
Slack Platform Community Launch Bengaluru
Slack Platform Community Launch BengaluruSlack Platform Community Launch Bengaluru
Slack Platform Community Launch Bengaluru
Ujjwal Grover
 
Getty/IO - Business Presentation 2017
Getty/IO - Business Presentation 2017Getty/IO - Business Presentation 2017
Getty/IO - Business Presentation 2017
Diogenes Buarque Ianakiara
 

What's hot (19)

DevOps indonesia (Online) Meetup #44 - Announcement
DevOps indonesia (Online) Meetup #44 - AnnouncementDevOps indonesia (Online) Meetup #44 - Announcement
DevOps indonesia (Online) Meetup #44 - Announcement
 
DevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia (online) meetup 45 - AnnouncementDevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia (online) meetup 45 - Announcement
 
DevOps Indonesia #10 - Making DevOps Practice Real
DevOps Indonesia #10 - Making DevOps Practice Real DevOps Indonesia #10 - Making DevOps Practice Real
DevOps Indonesia #10 - Making DevOps Practice Real
 
DevOps indonesia meetup #40 (online) DevOps and DevSecOps - announcement
DevOps indonesia meetup #40 (online) DevOps and DevSecOps - announcementDevOps indonesia meetup #40 (online) DevOps and DevSecOps - announcement
DevOps indonesia meetup #40 (online) DevOps and DevSecOps - announcement
 
Service mesh with istio
Service mesh with istioService mesh with istio
Service mesh with istio
 
DevOps Indonesia Announcement at Home Credit Indonesia
DevOps Indonesia Announcement at Home Credit IndonesiaDevOps Indonesia Announcement at Home Credit Indonesia
DevOps Indonesia Announcement at Home Credit Indonesia
 
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...
Securing a Great Developer Experience - DevOps Indonesia Meetup by Stefan Str...
 
The Learning loop of Devops in Enterprise
The Learning loop of Devops in EnterpriseThe Learning loop of Devops in Enterprise
The Learning loop of Devops in Enterprise
 
DevOps Indonesia #12 - Adopting DevOps as culture using Azure DevOps
DevOps Indonesia #12 - Adopting DevOps as culture using Azure DevOpsDevOps Indonesia #12 - Adopting DevOps as culture using Azure DevOps
DevOps Indonesia #12 - Adopting DevOps as culture using Azure DevOps
 
DevOps Indonesia #13 - annoucement
DevOps Indonesia #13 - annoucementDevOps Indonesia #13 - annoucement
DevOps Indonesia #13 - annoucement
 
Feature Scoring in Green Field Application Development and DevOps
Feature Scoring in Green Field Application Development and DevOpsFeature Scoring in Green Field Application Development and DevOps
Feature Scoring in Green Field Application Development and DevOps
 
[Online] How DevOps Tranforming Service Operation and Platform
[Online] How DevOps Tranforming Service Operation and Platform[Online] How DevOps Tranforming Service Operation and Platform
[Online] How DevOps Tranforming Service Operation and Platform
 
Announcement DevOps indonesia meetup @shopee
Announcement DevOps indonesia meetup @shopeeAnnouncement DevOps indonesia meetup @shopee
Announcement DevOps indonesia meetup @shopee
 
The Way We Start Our Transformation Journey
The Way We Start Our Transformation JourneyThe Way We Start Our Transformation Journey
The Way We Start Our Transformation Journey
 
DevOps Transformation Journey with XL Axiata and Maybank
DevOps Transformation Journey with XL Axiata and MaybankDevOps Transformation Journey with XL Axiata and Maybank
DevOps Transformation Journey with XL Axiata and Maybank
 
DevOps Indonesia Meetup [ONLINE] - Secure your container within 30 minutes - ...
DevOps Indonesia Meetup [ONLINE] - Secure your container within 30 minutes - ...DevOps Indonesia Meetup [ONLINE] - Secure your container within 30 minutes - ...
DevOps Indonesia Meetup [ONLINE] - Secure your container within 30 minutes - ...
 
DevOps Transformation and Vault Secret Engines - announcement
DevOps Transformation and Vault Secret Engines - announcementDevOps Transformation and Vault Secret Engines - announcement
DevOps Transformation and Vault Secret Engines - announcement
 
Slack Platform Community Launch Bengaluru
Slack Platform Community Launch BengaluruSlack Platform Community Launch Bengaluru
Slack Platform Community Launch Bengaluru
 
Getty/IO - Business Presentation 2017
Getty/IO - Business Presentation 2017Getty/IO - Business Presentation 2017
Getty/IO - Business Presentation 2017
 

Similar to DevOps Indonesia #3 - Infrastructure as Code using Terraform

Scaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for EnterpriseScaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for Enterprise
Opsta
 
Who can be a DevOps Engineer.docx
Who can be a DevOps Engineer.docxWho can be a DevOps Engineer.docx
Who can be a DevOps Engineer.docx
NivedithaRambhajan
 
Top 5 DevOps Tools You Should Know In 2022.pdf
Top 5 DevOps Tools You Should Know In 2022.pdfTop 5 DevOps Tools You Should Know In 2022.pdf
Top 5 DevOps Tools You Should Know In 2022.pdf
mithranmithran1
 
About DevOps in simple steps
About DevOps in simple stepsAbout DevOps in simple steps
About DevOps in simple steps
Ihor Odynets
 
DevOps at scale: what we did, what we learned at Societe Generale
DevOps at scale: what we did, what we learned at Societe GeneraleDevOps at scale: what we did, what we learned at Societe Generale
DevOps at scale: what we did, what we learned at Societe Generale
Adrien Blind
 
The Enterprise Case for Node.js
The Enterprise Case for Node.jsThe Enterprise Case for Node.js
The Enterprise Case for Node.js
NodejsFoundation
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
Marco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
NaLUG
 
Docker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to Docker
Docker, Inc.
 
Optimizing the Ops in DevOps
Optimizing the Ops in DevOpsOptimizing the Ops in DevOps
Optimizing the Ops in DevOps
Gordon Haff
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
Alex Vranceanu
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
Hendri Karisma
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: Keynote
Docker-Hanoi
 
Balaji Resume
Balaji ResumeBalaji Resume
Balaji Resume
Balaji Ommudali
 
Containers: DevOp Enablers of Technical Solutions
Containers: DevOp Enablers of Technical SolutionsContainers: DevOp Enablers of Technical Solutions
Containers: DevOp Enablers of Technical Solutions
Jules Pierre-Louis
 
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
PROIDEA
 
Build and automate your machine learning application with docker and jenkins
Build and automate your machine learning application with docker and jenkinsBuild and automate your machine learning application with docker and jenkins
Build and automate your machine learning application with docker and jenkins
Knoldus Inc.
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Ravindu Fernando
 
Java Day Brochure
Java Day BrochureJava Day Brochure
Java Day Brochure
Altuğ Bilgin Altıntaş
 
DEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONS
DEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONSDEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONS
DEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONS
Sprintzeal
 

Similar to DevOps Indonesia #3 - Infrastructure as Code using Terraform (20)

Scaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for EnterpriseScaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for Enterprise
 
Who can be a DevOps Engineer.docx
Who can be a DevOps Engineer.docxWho can be a DevOps Engineer.docx
Who can be a DevOps Engineer.docx
 
Top 5 DevOps Tools You Should Know In 2022.pdf
Top 5 DevOps Tools You Should Know In 2022.pdfTop 5 DevOps Tools You Should Know In 2022.pdf
Top 5 DevOps Tools You Should Know In 2022.pdf
 
About DevOps in simple steps
About DevOps in simple stepsAbout DevOps in simple steps
About DevOps in simple steps
 
DevOps at scale: what we did, what we learned at Societe Generale
DevOps at scale: what we did, what we learned at Societe GeneraleDevOps at scale: what we did, what we learned at Societe Generale
DevOps at scale: what we did, what we learned at Societe Generale
 
The Enterprise Case for Node.js
The Enterprise Case for Node.jsThe Enterprise Case for Node.js
The Enterprise Case for Node.js
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
Docker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to DockerDocker Bday #5, SF Edition: Introduction to Docker
Docker Bday #5, SF Edition: Introduction to Docker
 
Optimizing the Ops in DevOps
Optimizing the Ops in DevOpsOptimizing the Ops in DevOps
Optimizing the Ops in DevOps
 
Docker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - PresentationDocker Birthday #5 Meetup Cluj - Presentation
Docker Birthday #5 Meetup Cluj - Presentation
 
Slide DevSecOps Microservices
Slide DevSecOps Microservices Slide DevSecOps Microservices
Slide DevSecOps Microservices
 
DockerDay2015: Keynote
DockerDay2015: KeynoteDockerDay2015: Keynote
DockerDay2015: Keynote
 
Balaji Resume
Balaji ResumeBalaji Resume
Balaji Resume
 
Containers: DevOp Enablers of Technical Solutions
Containers: DevOp Enablers of Technical SolutionsContainers: DevOp Enablers of Technical Solutions
Containers: DevOp Enablers of Technical Solutions
 
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
Containers, Serverless, Polyglot Development World, And Others…10 trends resh...
 
Build and automate your machine learning application with docker and jenkins
Build and automate your machine learning application with docker and jenkinsBuild and automate your machine learning application with docker and jenkins
Build and automate your machine learning application with docker and jenkins
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Java Day Brochure
Java Day BrochureJava Day Brochure
Java Day Brochure
 
DEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONS
DEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONSDEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONS
DEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONS
 

More from DevOps Indonesia

DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation Journey
DevOps Indonesia
 
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia
 
Securing an NGINX deployment for K8s
Securing an NGINX deployment for K8sSecuring an NGINX deployment for K8s
Securing an NGINX deployment for K8s
DevOps Indonesia
 
DevOps Indonesia Meetup #52 - announcement
DevOps Indonesia Meetup #52 - announcementDevOps Indonesia Meetup #52 - announcement
DevOps Indonesia Meetup #52 - announcement
DevOps Indonesia
 
Dev ops meetup 51 : Securing DevOps Lifecycle - Announcement
Dev ops meetup 51 : Securing DevOps Lifecycle - AnnouncementDev ops meetup 51 : Securing DevOps Lifecycle - Announcement
Dev ops meetup 51 : Securing DevOps Lifecycle - Announcement
DevOps Indonesia
 
Securing DevOps Lifecycle
Securing DevOps LifecycleSecuring DevOps Lifecycle
Securing DevOps Lifecycle
DevOps Indonesia
 
DevOps Meetup 50 : Securing your Application - Announcement
DevOps Meetup 50 : Securing your Application - AnnouncementDevOps Meetup 50 : Securing your Application - Announcement
DevOps Meetup 50 : Securing your Application - Announcement
DevOps Indonesia
 
Secure your Application with Google cloud armor
Secure your Application with Google cloud armorSecure your Application with Google cloud armor
Secure your Application with Google cloud armor
DevOps Indonesia
 
DevOps Meetup 49 Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Meetup 49  Aws Copilot and Gitops - announcement by DevOps IndonesiaDevOps Meetup 49  Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Meetup 49 Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Indonesia
 
Operate Containers with AWS Copilot
Operate Containers with AWS CopilotOperate Containers with AWS Copilot
Operate Containers with AWS Copilot
DevOps Indonesia
 
Continuously Deploy Your CDK Application by Petra novandi barus
Continuously  Deploy Your CDK Application by Petra novandi barusContinuously  Deploy Your CDK Application by Petra novandi barus
Continuously Deploy Your CDK Application by Petra novandi barus
DevOps Indonesia
 
DevOps indonesia (online) meetup 46 aws with payfazz in devops indonesia - a...
DevOps indonesia (online) meetup 46  aws with payfazz in devops indonesia - a...DevOps indonesia (online) meetup 46  aws with payfazz in devops indonesia - a...
DevOps indonesia (online) meetup 46 aws with payfazz in devops indonesia - a...
DevOps Indonesia
 
Securing Your Database Dynamic DB Credentials
Securing Your Database  Dynamic DB CredentialsSecuring Your Database  Dynamic DB Credentials
Securing Your Database Dynamic DB Credentials
DevOps Indonesia
 
API Security Webinar - Credential Stuffing
API Security Webinar - Credential StuffingAPI Security Webinar - Credential Stuffing
API Security Webinar - Credential Stuffing
DevOps Indonesia
 
API Security Webinar - Security Guidelines for Providing and Consuming APIs
API Security Webinar - Security Guidelines for Providing and Consuming APIsAPI Security Webinar - Security Guidelines for Providing and Consuming APIs
API Security Webinar - Security Guidelines for Providing and Consuming APIs
DevOps Indonesia
 
API Security Webinar - Hendra Tanto
API Security Webinar - Hendra TantoAPI Security Webinar - Hendra Tanto
API Security Webinar - Hendra Tanto
DevOps Indonesia
 
API Security Webinar : Credential Stuffing
API Security Webinar : Credential StuffingAPI Security Webinar : Credential Stuffing
API Security Webinar : Credential Stuffing
DevOps Indonesia
 
API Security Webinar : Security Guidelines for Providing and Consuming APIs
API Security Webinar : Security Guidelines for Providing and Consuming APIsAPI Security Webinar : Security Guidelines for Providing and Consuming APIs
API Security Webinar : Security Guidelines for Providing and Consuming APIs
DevOps Indonesia
 
Introduction to SaltStack (An Event-Based Configuration Management)
Introduction to SaltStack (An Event-Based Configuration Management)Introduction to SaltStack (An Event-Based Configuration Management)
Introduction to SaltStack (An Event-Based Configuration Management)
DevOps Indonesia
 
DevOps indonesia (online) meetup 43 - Introduction to SaltStack (Announcement)
DevOps indonesia (online) meetup 43 - Introduction to SaltStack (Announcement)DevOps indonesia (online) meetup 43 - Introduction to SaltStack (Announcement)
DevOps indonesia (online) meetup 43 - Introduction to SaltStack (Announcement)
DevOps Indonesia
 

More from DevOps Indonesia (20)

DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation Journey
 
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
 
Securing an NGINX deployment for K8s
Securing an NGINX deployment for K8sSecuring an NGINX deployment for K8s
Securing an NGINX deployment for K8s
 
DevOps Indonesia Meetup #52 - announcement
DevOps Indonesia Meetup #52 - announcementDevOps Indonesia Meetup #52 - announcement
DevOps Indonesia Meetup #52 - announcement
 
Dev ops meetup 51 : Securing DevOps Lifecycle - Announcement
Dev ops meetup 51 : Securing DevOps Lifecycle - AnnouncementDev ops meetup 51 : Securing DevOps Lifecycle - Announcement
Dev ops meetup 51 : Securing DevOps Lifecycle - Announcement
 
Securing DevOps Lifecycle
Securing DevOps LifecycleSecuring DevOps Lifecycle
Securing DevOps Lifecycle
 
DevOps Meetup 50 : Securing your Application - Announcement
DevOps Meetup 50 : Securing your Application - AnnouncementDevOps Meetup 50 : Securing your Application - Announcement
DevOps Meetup 50 : Securing your Application - Announcement
 
Secure your Application with Google cloud armor
Secure your Application with Google cloud armorSecure your Application with Google cloud armor
Secure your Application with Google cloud armor
 
DevOps Meetup 49 Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Meetup 49  Aws Copilot and Gitops - announcement by DevOps IndonesiaDevOps Meetup 49  Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Meetup 49 Aws Copilot and Gitops - announcement by DevOps Indonesia
 
Operate Containers with AWS Copilot
Operate Containers with AWS CopilotOperate Containers with AWS Copilot
Operate Containers with AWS Copilot
 
Continuously Deploy Your CDK Application by Petra novandi barus
Continuously  Deploy Your CDK Application by Petra novandi barusContinuously  Deploy Your CDK Application by Petra novandi barus
Continuously Deploy Your CDK Application by Petra novandi barus
 
DevOps indonesia (online) meetup 46 aws with payfazz in devops indonesia - a...
DevOps indonesia (online) meetup 46  aws with payfazz in devops indonesia - a...DevOps indonesia (online) meetup 46  aws with payfazz in devops indonesia - a...
DevOps indonesia (online) meetup 46 aws with payfazz in devops indonesia - a...
 
Securing Your Database Dynamic DB Credentials
Securing Your Database  Dynamic DB CredentialsSecuring Your Database  Dynamic DB Credentials
Securing Your Database Dynamic DB Credentials
 
API Security Webinar - Credential Stuffing
API Security Webinar - Credential StuffingAPI Security Webinar - Credential Stuffing
API Security Webinar - Credential Stuffing
 
API Security Webinar - Security Guidelines for Providing and Consuming APIs
API Security Webinar - Security Guidelines for Providing and Consuming APIsAPI Security Webinar - Security Guidelines for Providing and Consuming APIs
API Security Webinar - Security Guidelines for Providing and Consuming APIs
 
API Security Webinar - Hendra Tanto
API Security Webinar - Hendra TantoAPI Security Webinar - Hendra Tanto
API Security Webinar - Hendra Tanto
 
API Security Webinar : Credential Stuffing
API Security Webinar : Credential StuffingAPI Security Webinar : Credential Stuffing
API Security Webinar : Credential Stuffing
 
API Security Webinar : Security Guidelines for Providing and Consuming APIs
API Security Webinar : Security Guidelines for Providing and Consuming APIsAPI Security Webinar : Security Guidelines for Providing and Consuming APIs
API Security Webinar : Security Guidelines for Providing and Consuming APIs
 
Introduction to SaltStack (An Event-Based Configuration Management)
Introduction to SaltStack (An Event-Based Configuration Management)Introduction to SaltStack (An Event-Based Configuration Management)
Introduction to SaltStack (An Event-Based Configuration Management)
 
DevOps indonesia (online) meetup 43 - Introduction to SaltStack (Announcement)
DevOps indonesia (online) meetup 43 - Introduction to SaltStack (Announcement)DevOps indonesia (online) meetup 43 - Introduction to SaltStack (Announcement)
DevOps indonesia (online) meetup 43 - Introduction to SaltStack (Announcement)
 

Recently uploaded

Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
Kamal Acharya
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
ChristineTorrepenida1
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
Online aptitude test management system project report.pdf
Online aptitude test management system project report.pdfOnline aptitude test management system project report.pdf
Online aptitude test management system project report.pdf
Kamal Acharya
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.pptPROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
bhadouriyakaku
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
Victor Morales
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
dxobcob
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
thanhdowork
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
symbo111
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
zwunae
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
yokeleetan1
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
heavyhaig
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
ClaraZara1
 
Self-Control of Emotions by Slidesgo.pptx
Self-Control of Emotions by Slidesgo.pptxSelf-Control of Emotions by Slidesgo.pptx
Self-Control of Emotions by Slidesgo.pptx
iemerc2024
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
Divyam548318
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Soumen Santra
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 

Recently uploaded (20)

Water billing management system project report.pdf
Water billing management system project report.pdfWater billing management system project report.pdf
Water billing management system project report.pdf
 
Unbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptxUnbalanced Three Phase Systems and circuits.pptx
Unbalanced Three Phase Systems and circuits.pptx
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
Online aptitude test management system project report.pdf
Online aptitude test management system project report.pdfOnline aptitude test management system project report.pdf
Online aptitude test management system project report.pdf
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.pptPROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
PROJECT FORMAT FOR EVS AMITY UNIVERSITY GWALIOR.ppt
 
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsKuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressions
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
一比一原版(Otago毕业证)奥塔哥大学毕业证成绩单如何办理
 
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
RAT: Retrieval Augmented Thoughts Elicit Context-Aware Reasoning in Long-Hori...
 
Building Electrical System Design & Installation
Building Electrical System Design & InstallationBuilding Electrical System Design & Installation
Building Electrical System Design & Installation
 
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证成绩单专业办理
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
 
Self-Control of Emotions by Slidesgo.pptx
Self-Control of Emotions by Slidesgo.pptxSelf-Control of Emotions by Slidesgo.pptx
Self-Control of Emotions by Slidesgo.pptx
 
bank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdfbank management system in java and mysql report1.pdf
bank management system in java and mysql report1.pdf
 
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTSHeap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
Heap Sort (SS).ppt FOR ENGINEERING GRADUATES, BCA, MCA, MTECH, BSC STUDENTS
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 

DevOps Indonesia #3 - Infrastructure as Code using Terraform

  • 1. DEVOPS INDONESIA Manage, Maintain and Automate Infrastructure as code using Terraform Location : Traveloka Wisma 77 Tower 2 Lt 2, Jl. S Parman Kav. 77 Slipi Jakarta, Indonesia
  • 2. Big Event DevOps Day Jakarta 2018 The 1st DevOpsDays in Indonesia DevOps Indonesia is also the community Sponsor in DevOps Day Jakarta 2018 DevOpsDays is a 2-day conference & workshop that will be held in Jakarta on April 26th and 27th, 2018. This conference, which is now happening frequently around the globe, is the conference for bridging the gap between development and operations. DevOpsDays is a grassroots event for connecting professionals in the field allowing them to share experiences, advice, ideas, and tools relating to DevOps. It is organised by people who care about DevOps, for people who care about collaboration, automation, measurement, and improvement What is DevOps Day? The Venue Menara BTPN, #27-01, Jl. Dr. Ide Anak Agung Gde Agung Kav 5.5 - 5.6, Kuningan Timur
  • 4. Alone We are smart, together We are brilliant THANK YOU ! Quote by Steve Anderson
  • 5. Manage, Maintain and Automate Infrastructure as code using Terraform
  • 6. About Me - DevOps, Release, Infrastructure Engineer @Traveloka - E-mail: amal.syahreza@traveloka.com - Twitter: @amalsyahreza
  • 7. - Infrastructure as a code design. - Comparison of Infrastructure as a Code Tooling (Ansible, CloudFormation, Terraform). - Immutable Deployment with Terraform. - Conclusion + Q&A Agenda
  • 8. Infrastructure as A Code Design Patterns
  • 9. Why Codify Your Infrastructure ● Automate provisioning and deployment process. ○ Faster and reliable deployment process. ○ Prevent human error in the execution process. ● Clear state of infrastructure. ● Validate the infrastructure change. ● Documented the change of infrastructure.
  • 11.
  • 12. What is a Good Design?
  • 13. Unix Philosophy #1 Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new "features".
  • 14. Unless you can be like this man...
  • 15. How to Create a Good Design?
  • 19. Ansible vs CloudFormation Vs Terraform in Infrastructure Orchestration
  • 20. Ansible CloudFormation Terraform Code Open source Closed source Open source Community Support Yes No Yes Cloud Support Any AWS Any Type Config management Infrastructure Orchestration Infrastructure Orchestration Language Style Procedural Declarative Declarative General Comparison
  • 21. Ansible CloudFormation Terraform - ec2: count: 2 image: ami-v1 instance_type: t2.micro Ec2Instance01: Type: "AWS::EC2::Instance" Properties: ImageId: "ami-v1" InstanceType: “t2.micro” Ec2Instance02: Type: "AWS::EC2::Instance" Properties: ImageId: "ami-v1" InstanceType: “t2.micro” resource "aws_instance" "example" { count = 2 ami = "ami-v1" instance_type = "t2.micro" } Example: Creating 2 EC2 Instances
  • 23. Procedural vs Declarative Ansible CloudFormation Terraform - ec2: count: 4 image: ami-v2 instance_type: t2.micro Ec2Instance01: Type: "AWS::EC2::Instance" Properties: ImageId: "ami-v2" InstanceType: “t2.micro” Ec2Instance02: Type: "AWS::EC2::Instance" Properties: ImageId: "ami-v2" InstanceType: “t2.micro” Ec2Instance03: Type: "AWS::EC2::Instance" Properties: ImageId: "ami-v2" InstanceType: “t2.micro” Ec2Instance04: Type: "AWS::EC2::Instance" Properties: ImageId: "ami-v2" InstanceType: “t2.micro” resource "aws_instance" "example" { count = 4 ami = "ami-v2" instance_type = "t2.micro" }
  • 25. Terraform Module # modules/ec2/main.tf variable “count” {} variable “env” {} variable “ami” {} variable “instance_type” {} resource "aws_instance" "instance" { count = “${var.count}” env = “${var.env}” ami = “${var.ami}” instance_type = “${var.instance_type}” } # stg/app_demo/main.tf module “ec2” { source = “modules/ec2” Count = 1 env = “stg” ami = “ami_v1” Instance_type = “t2.micro” } # prod/app_demo/main.tf module “ec2” { source = “modules/ec2” count = 2 env = “prod” ami = “ami_v1” Instance_type = “m4.large” }
  • 27. Immutable Infrastructure Image Source: https://www.oreilly.com/ideas/an-introduction-to-immutable-infrastructure
  • 28.
  • 29. How Can we Achieve This ● Configuration Management. ● Infrastructure Orchestration. ● AWS Image Creator
  • 30. Crate AMI ( Packer + Ansible)
  • 31. Preparing an Instance: Classic way
  • 34. Q & A