what is Terraform
Safia Khatoon
DevOps Engineer | LINUX | Git |AWS | DOCKER |TERRAFORM | JENKINS | KUBERNETES | ANSIBLE
Terraform is an infrastructure-as-code (IaC) tool that allows you to define and provision infrastructure resources using a declarative language. It simplifies the process of creating and managing infrastructure by providing a consistent and repeatable way to define your infrastructure as code.
Terraform uses a simple and easy-to-understand language called HashiCorp Configuration Language (HCL) or HashiCorp Language (HCL2). HCL is designed to be both human-readable and machine-friendly. It has a clean syntax that resembles JSON but is more concise and expressive.
To give you a real-time example, let's consider a scenario where you want to provision a virtual machine (VM) in a cloud provider, such as AWS. With Terraform, you can describe the desired state of your infrastructure in a Terraform configuration file (usually with a .tf extension). Here's an example of how you can provision an AWS EC2 instance using Terraform:
```hcl
# Define provider (AWS)
provider "aws" {
?access_key = "your-access-key"
?secret_access_key = "your-secret-access-key"
?region = "us-west-2"
}
# Define the resource (EC2 instance)
resource "aws_instance" "example" {
领英推荐
?ami??????= "ami-0c94855ba95c71c99"
?instance_type = "t2.micro"
?key_name???= "my-key-pair"
?security_group_ids = ["sg-0123456789abcdef0"]
??
?tags = {
??Name = "example-instance"
?}
}
```
In the above example, we define the AWS provider with the necessary credentials and region. Then, we declare an AWS EC2 instance resource using the `aws_instance` resource type. We specify the instance's AMI (Amazon Machine Image), instance type, key pair, security group, and assign a tag to the instance.
By running `terraform apply` in the directory containing this configuration file, Terraform will analyze the current state of your infrastructure, compare it to the desired state defined in the configuration, and make the necessary changes to provision or update the EC2 instance accordingly.
Terraform takes care of all the underlying API calls and complex interactions with the cloud provider. It helps you provision, modify, and manage infrastructure resources in a safe and consistent manner.
?? Assisting Early-Stage Startups with Organic Tech Content & Developer Relations Services
1 年Good one, just in case you are looking for terraform azure course checkout https://infrasity.com/p/devops-fundamentals-build-azure-infra-with-terraform
Senior Cloud Engineer - Nagarro | Google Cloud Certified {"CDI, ACE , PCA, PDE}|Cloud DevOps Specialist | 5x GCP , Azure Certified | Devops | Linux | Docker | Terraform | Jenkins CI/CD | Kubernetes
1 年Thanks for posting such amazing content
DevOps |AWS Cloud| Git| Docker| Jenkins |Kubernetes| Terraform| Ansible| Linux| Python| Mainframe
1 年Helpful!