Rreferred from :Learnitguide.net - Learn Linux, DevOps and Cloud
SELVA - Tech & ITOps --> youtubeInfrastructure as Code ( IaC):
IaC primarily manages the underlying infrastructure components that an application relies on. This includes:
- Virtual machines (VMs) (Virtualization is the process where all the physical components are abstracted into the abstraction of the software and provides the complete isolation from the host OS )
- Networks
- Storage
- Databases
- Load balancers(Load balancing is the process of distributing network traffic across multiple servers. This ensures no single server bears too much demand. By spreading the work evenly, load balancing improves application responsiveness. It also increases availability of applications and websites for users. Modern applications cannot run without load balancers)
IaC tools like Terraform enable you to:
Create: Provision and configure these infrastructure resources.
Use: Maintain and update the configuration of these resources.
Destroy: Decommission and remove these resources.
List of IaCs tool:
1. terraform
2. Arzue resource Manager
3.AWS Cloud foramtion
4. Google cloud Deployment Manager
5. Anisble
6.chef
7.Pappet
8. SaltStack
9.Vagrant
Terraform :( open-source tool )
we need to create the manifest file to provision, create, and manage the infrastructure.
uses the language HCL or optionally JSON
Iacs : It created as the purpose for so it can interconnect all the cloud resources and even the on-perm without any human related errors or syntax related errors
Automation: it will be easy to automata or to create any infrasture for any resources.
Version Control : it has the in-build version control as its saves the metadata of the code if is modified .
Collaboration: it can be easily collaborated within the team to create the infrasture .
Scalability : we can scale up or scale down depending upon the requirement of the project.
-->Terraform files should have an extension as .tf
Terraform: Deploying Infrastructure
.tf
files:
- Define your desired infrastructure as code.
terraform init
:
- Initialize the working directory and download necessary provider plugins.
terraform plan
:
- Preview the changes Terraform will make to your infrastructure.
terraform apply
:
- Execute the planned changes and deploy your infrastructure to the target system.
- Terraform Workflow:
- Plan & Apply:
- Developers define infrastructure in
.tf
files. terraform plan
previews the changes to be made (a "dry run").terraform apply
executes those changes on the target system.
- Developers define infrastructure in
Terraform Setup:
- Providers & Provisioners:
- The core requires provider and provisioner configurations when a Terraform project is initialized.
- Terraform automatically downloads the necessary provider APIs into the
.terraform
directory, enabling interaction with target systems.
- Plan & Apply:
Terraform installation :
Simply go to google, download terraform for Windows
then unzip the downloaded file go inside the folder it has only one exe file
set up the environment variables and run in Cd
or
Simply open the Docker, in Docker Hub search for the Terraform image and in the cmd
To pull the image of docker, docker pull hashicorp/terraform
To run the terraform , docker run hashicorp/terraform
Comments
Post a Comment