1. Build and Test Cloud Infrastructure
using Terraform Modules
Pradeep Bhadani
Founder, Cloud Native Technologies
cntek.io
pbhadani.com
linkedin.com/in/pradeepbhadani
linkedin.com/company/cloudnativetech
22nd June 2022, MiniSPA Conference
2. About Me
IT Consultant with 10+ years of experience in Big Data, Cloud & DevOps
GDE (Google Developers Expert) - Cloud
Google Cloud Authorized Trainer
Google Cloud Innovator Champion
Blog: pbhadani.com
Cloud Native Technologies
cntek.io
3. Services
● Big Data Consultancy
● Cloud & DevOps Consultancy
● Tailored Training and Workshops
Cloud Native Technologies
cntek.io
5. Building & managing infrastructure using scripts, code with no-human or
minimal intervention
Infrastructure Automation
Cloud Native Technologies
cntek.io
Faster delivery Improved Reliability Reduced cost Collaboration
Terraform Chef Puppet Salt
6. An approach to manage Systems, Networks or any other Infrastructure objects
through source code
Infrastructure as Code (IAC)
Cloud Native Technologies
cntek.io
Consistent Repeatable Change Collaboration
7. Terraform
Terraform allows to build, change and version our infrastructure in an easy and
efficient way.
terraform.io
Cloud Native Technologies
cntek.io
8. Open Source
● Open Source and written in golang
github.com/hashicorp/terraform
Cloud Native Technologies
cntek.io
9. Terraform features
Cloud Native Technologies
cntek.io
Platform agnostic State management Infer dependencies
Execution plan Resource graph Parallel execution
11. Plugin to translate API interaction with the service
Authenticate Terraform against Service
Provider
Cloud Native Technologies
cntek.io
Provider Name
Attributes
15. Stores information about infrastructure created by Terraform code
○ Local: Stores on local filesystem
○ Remote: Stores on remote storage
■ GCS
■ S3
■ Consul
■ ….
State
Cloud Native Technologies
cntek.io
31. Terraform Modules
● Collection of different Terraform resources
● Allows to describe infrastructure architecture/blueprints
○ Easy to understand infrastructure
● Reusable - helps to avoid code duplication
● Collaborative development
● Helps to get started quickly
● Versioning
Cloud Native Technologies