DevOps Classroom notes 20/May/2025

Terraform

  • Terraform developed by Hashicorp is most widely infra provisioning tool.
  • Terraform is developed in Golang
  • Opentofu is a fork of Terraform

How Terraform works

  • Terraform is a single executable.
  • Terraform uses Providers to interact with specific cloud / hypervisors
  • Providers are not part of terraform installation, they are part of infra creation.
Provider Name Type Description / Use Case
AWS Public Cloud Amazon Web Services: Compute, storage, networking, etc.
Azure Public Cloud Microsoft Azure: IaaS, PaaS, SaaS services
Google Cloud Public Cloud Google Cloud Platform: Compute, storage, analytics
Alibaba Cloud Public Cloud Alibaba Cloud: Cloud computing and data services
DigitalOcean Public Cloud Developer-focused cloud infrastructure
VMware vSphere On-premises Virtualization platform for managing VMs
OpenStack On-premises Open-source cloud platform for private clouds
Kubernetes Hybrid/On-premises Container orchestration, can be on-prem or cloud
Helm Hybrid/On-premises Kubernetes package manager
Cloudflare SaaS/Edge CDN, DNS, and security services
Datadog SaaS Monitoring and analytics platform
GitHub SaaS Source code management and CI/CD
GitLab SaaS DevOps platform for CI/CD and SCM
Okta SaaS Identity and access management
Azure Active Directory SaaS Microsoft identity and access management
HashiCorp Vault Security Secrets management and data protection
HashiCorp Consul Networking Service discovery and configuration
F5 On-premises Application delivery networking
Palo Alto Networks On-premises Network security (PAN-OS)
Cisco On-premises Networking hardware and software
  • Every Provider will have
    • Resources: an infra element which we can manage from terraform
    • DataSources
  • Arguments: on a general note in terraform arguments are inputs
  • Attributes: on a general note in terraform attributes are outputs

  • To terraform we give a folder with .tf files as input
  • Example Terrafrom template
terraform {
  required_providers {
    aws = {
      source = "hashicorp/aws"
      version = "6.0.0-beta1"
    }
  }
}

provider "aws" {
  # Configuration options
  region = "ap-south-1"
}


resource "aws_vpc" "main" {
  cidr_block = "10.10.0.0/16"
  tags = {
    Name = "layered-network"
  }
}

Exercise

  • Findout documentation for the following
    • aws ec2 instance terraform aws ec2

    • azure storage account
    • gcp storage bucket
    • aws s3 bucket
    • aws eks
    • azure aks
    • Next Step:
    • Lets learn how to write terraform hashicorp configuration language
Published
Categorized as Uncategorized Tagged

By continuous learner

devops & cloud enthusiastic learner

Leave a ReplyCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Please turn AdBlock off
Social Media Icons Powered by Acurax Web Design Company

Discover more from Direct DevOps from Quality Thought

Subscribe now to keep reading and get access to the full archive.

Continue reading

Exit mobile version
%%footer%%