SlideShare a Scribd company logo
Automating AWS
Infrastructure Provisioning
Building a CI/CD pipeline with Concourse and
terraform
Cesar Rodriguez
What is terraform?
1.Code
2.Format
3.Init
4.Plan
5.Apply
Open Source Workflow
1. Code
2. Format
> terraform fmt
3. Init
> terraform init
4. Plan
> terraform plan
5. Apply
> terraform apply
Init
Plan
Apply
S3
DynamoDB
Remote
State files
State locking
Collaboration Features
1.Bottlenecks
2.Testing
3.Source of Truth
4.Credentials
5.Change Control
Workflow Challenges
concourse
What is Concourse?
Pipeline
Pipeline - Jobs
Build Test Provision
Pipeline - Resources
Build Test Provision
S3 S3
Pipeline - Tasks
Build Test Provision
fmt
init
plan scan apply
S3 S3
Terraform Pull-Request
Pipeline
DEMO
Terraform Commit
Pipeline
DEMO
Resources
• concourse-pipelines - Collection of concourse pipelines
including terraform-pr and terraform-commit pipeline
https://github.com/cesar-rodriguez/concourse-pipelines
• terrascan - Static code analysis of terraform templates.
https://github.com/cesar-rodriguez/terrascan
• hello-hug - Example terraform project that uses
concourse-pipelines
https://github.com/cesar-rodriguez/hello-hug

More Related Content

PDF
Working with Terraform on Azure
PDF
Course 102: Lecture 26: FileSystems in Linux (Part 1)
PDF
Kubernetes Application Deployment with Helm - A beginner Guide!
PDF
Let's talk about Failures with Kubernetes - Hamburg Meetup
PPTX
Helm.pptx
PDF
VMware Tanzu Service Mesh from the Developer’s Perspective
PDF
Docker and the Linux Kernel
PDF
KVM tools and enterprise usage
Working with Terraform on Azure
Course 102: Lecture 26: FileSystems in Linux (Part 1)
Kubernetes Application Deployment with Helm - A beginner Guide!
Let's talk about Failures with Kubernetes - Hamburg Meetup
Helm.pptx
VMware Tanzu Service Mesh from the Developer’s Perspective
Docker and the Linux Kernel
KVM tools and enterprise usage

What's hot (20)

PDF
주니어의 쿠버네티스 생태계에서 살아남기
PPTX
Hashicorp Terraform Open Source vs Enterprise
PPT
Linux memory
PPTX
Distributed Storage with IPFS and Python!
PDF
Advanced Terraform
PDF
Kubernetes 101
PDF
The Container Storage Interface (CSI)
PDF
Kubernetes: A Short Introduction (2019)
PDF
Docker & kubernetes
PPTX
DevOps with Kubernetes
PPTX
Off-heaping the Apache HBase Read Path
PDF
Helm - Application deployment management for Kubernetes
PPTX
Everything You Need To Know About Persistent Storage in Kubernetes
PDF
Kvm performance optimization for ubuntu
PDF
MySQL Space Management
PPTX
Terraform
PPTX
Kubernetes Introduction
PDF
Red Hat OpenShift on Bare Metal and Containerized Storage
PDF
Introduce to Terraform
PPTX
Kubernetes Probes (Liveness, Readyness, Startup) Introduction
주니어의 쿠버네티스 생태계에서 살아남기
Hashicorp Terraform Open Source vs Enterprise
Linux memory
Distributed Storage with IPFS and Python!
Advanced Terraform
Kubernetes 101
The Container Storage Interface (CSI)
Kubernetes: A Short Introduction (2019)
Docker & kubernetes
DevOps with Kubernetes
Off-heaping the Apache HBase Read Path
Helm - Application deployment management for Kubernetes
Everything You Need To Know About Persistent Storage in Kubernetes
Kvm performance optimization for ubuntu
MySQL Space Management
Terraform
Kubernetes Introduction
Red Hat OpenShift on Bare Metal and Containerized Storage
Introduce to Terraform
Kubernetes Probes (Liveness, Readyness, Startup) Introduction
Ad

Similar to Automating AWS Infrastructure Provisioning Using Concourse and Terraform (20)

PDF
My Hashitalk Indonesia April 2024 Presentation
PDF
Terraform modules and best-practices - September 2018
PPTX
20171122 aws usergrp_coretech-spn-cicd-aws-v01
PPTX
Terraform Best Practices for Infrastructure Scaling
PPTX
Transforming Infrastructure into Code - Importing existing cloud resources u...
PPTX
Plane Spotting
PDF
Concourse Workshop
PDF
Clocker: Managing Container Networking and Placement
PDF
CNCF London: Key Steps To a Good Quality Terraform Infrastructure Code
PDF
Clocker - The Docker Cloud Maker
PDF
Managing AWS Using Terraform AWS Atlanta 2018-07-18
PDF
Monitor Apache Spark 3 on Kubernetes using Metrics and Plugins
PPTX
Coap based application for android phones
PDF
Hands on with CoAP and Californium
PPTX
Infrastructure as Code Presentation v5.pptx
PPTX
Apache Airflow Introduction
PDF
20170831 - Greg Palmier: Terraform & AWS at Tempus
PPTX
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
PDF
Managing AWS Using Terraform AWS Chicago-Suburbs 2018-01-18
PPTX
CICD Azure DevOps
My Hashitalk Indonesia April 2024 Presentation
Terraform modules and best-practices - September 2018
20171122 aws usergrp_coretech-spn-cicd-aws-v01
Terraform Best Practices for Infrastructure Scaling
Transforming Infrastructure into Code - Importing existing cloud resources u...
Plane Spotting
Concourse Workshop
Clocker: Managing Container Networking and Placement
CNCF London: Key Steps To a Good Quality Terraform Infrastructure Code
Clocker - The Docker Cloud Maker
Managing AWS Using Terraform AWS Atlanta 2018-07-18
Monitor Apache Spark 3 on Kubernetes using Metrics and Plugins
Coap based application for android phones
Hands on with CoAP and Californium
Infrastructure as Code Presentation v5.pptx
Apache Airflow Introduction
20170831 - Greg Palmier: Terraform & AWS at Tempus
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
Managing AWS Using Terraform AWS Chicago-Suburbs 2018-01-18
CICD Azure DevOps
Ad

Recently uploaded (20)

DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Cloud computing and distributed systems.
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Electronic commerce courselecture one. Pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
cuic standard and advanced reporting.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Spectroscopy.pptx food analysis technology
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
KodekX | Application Modernization Development
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
The AUB Centre for AI in Media Proposal.docx
MYSQL Presentation for SQL database connectivity
Cloud computing and distributed systems.
Mobile App Security Testing_ A Comprehensive Guide.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Empathic Computing: Creating Shared Understanding
Electronic commerce courselecture one. Pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
cuic standard and advanced reporting.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Spectroscopy.pptx food analysis technology
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Chapter 3 Spatial Domain Image Processing.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Advanced methodologies resolving dimensionality complications for autism neur...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
KodekX | Application Modernization Development
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Reach Out and Touch Someone: Haptics and Empathic Computing

Automating AWS Infrastructure Provisioning Using Concourse and Terraform

Editor's Notes

  • #3: How many of you are familiar with terraform? - Declarative language. Describe what the target state and terraform figures API calls - Version control - Preview any changes - Consistent infrastructure across all environments
  • #4: Terraform workflow from your desktop
  • #6: Writes templates into a canonical format. Templates look clean and consistent.
  • #7: - Download terraform providers binaries - Downloads any modules - Terraform remote states
  • #8: Check terraform templates against your terraform state file and calculates any changes to resources in your templates.
  • #9: Execute any changes from the terraform plan into AWS.
  • #10: Collaboration challenges. Native features: Remote states State locking
  • #11: Challenges with native workflow: Reviewing Pull Requests No automated testing in this workflow, manual inspection. No guarantee that GitHub reflects what’s in production Credentials to AWS environments in our desktop No central place to verify testing was completed. No central audit trail
  • #12: What is Concourse? Declarative YAML templates to design pipelines UI to view the pipeline’s workflow Easy to extend its functionality to solve the challenges faced with terraform provisioning at scale. Docker container define tasks within your pipeline. Ensuring repeatability and consistency Integration with GitHub OAuth for authentication/authorization. You can limit access to your pipeline and its secrets only to members of your team in GitHub. Native integration with Hashicorp Vault for pipeline secrets. Secrets are only retrieved at time of use by Concourse and are never persisted.
  • #13: There are 4 different concepts within Concourse that define a pipeline. Pipeline - declarative YAML template where you define the inputs and outputs of your CI/CD tasks.
  • #14: Jobs - which are a collection of tasks that form our build plans. For terraform provisioning, we’ll have 3 different jobs. 1 for building our infrastructure, 1 for testing the terraform templates, and 1 for provisioning the resources into AWS.
  • #15: Resources - inputs and outputs to our jobs
  • #16: Tasks - single purpose Docker containers.