Skip to main content

Terraform info and installation

 

Rreferred from :Learnitguide.net - Learn Linux, DevOps and Cloud

SELVA - Tech & ITOps --> youtube

Infrastructure 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 





Consistency: we can create a single configuration file used in different environment like Dev , Test , stage and production 
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.


-->To create the infrastructure, we need to know the entire target system ( without knowing the manual process, you cannot create the automation one )
-->Terraform files should have an extension as .tf 


Terraform: Deploying Infrastructure

  • Write .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.

      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.

    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

    Popular posts from this blog

    Entity Relationship (ER) Diagram Model with DBMS Example

    Reference :   Entity Relationship (ER) Diagram Model with DBMS Example What is ER Diagram? ER Diagram  stands for Entity Relationship Diagram, also known as ERD is a diagram that displays the relationship of entity sets stored in a database. In other words, ER diagrams help to explain the logical structure of databases. ER diagrams are created based on three basic concepts: entities, attributes and relationships. ER Diagrams contain different symbols that use rectangles to represent entities, ovals to define attributes and diamond shapes to represent relationships. At first look, an ER diagram looks very similar to the flowchart. However, ER Diagram includes many specialized symbols, and its meanings make this model unique. The purpose of ER Diagram is to represent the entity framework infrastructure. Entity Relationship Diagram Example Table of Content: What is ER Diagram? What is ER Model? History of ER models Why use ER Diagrams? Facts about ER Diagram Model ER Diagram...

    SQL Joins and advanced joins and Subqueries

      Refernce :  Expert Guide to Advanced SQL Joins: What You Need to Know It's helpful to visualize how these different SQL joins work. Here's a breakdown in a table-like format, along with explanations: SQL Join Types Overview Join Type Description Key Characteristics Use Cases INNER JOIN Returns rows where there is a match in both tables. - Shows only matching records. - Excludes unmatched rows from both tables. - Retrieving related data that exists in both tables. - Finding records with corresponding entries in another table. LEFT OUTER JOIN (LEFT JOIN) Returns all rows from the left table, and the matched rows from the right table. - Includes all records from the left table. - Fills in NULL values for columns from the right table where there's no match. - Retrieving all records from one table and their related data from another, even if some records don't have matches. - Finding records in one table that don't have corresponding entries in another. RIGHT OUTER JO...

    GIT BASH

      Bash Shell: Git Bash uses the Bash (Bourne Again SHell) command-line interpreter. This means you can use many of the same commands you'd find in a Linux or macOS terminal. Git Integration: Git Bash is tightly integrated with Git, making it easy to execute Git commands Essential Commands: Navigation: pwd : Prints the current working directory. ls : Lists files and directories in the current directory. cd <directory> : Changes the current directory. cd .. : Moves to the parent directory. File Management: mkdir <directory> : Creates a new directory. touch <file> : Creates a new file. rm <file> : Removes a file. rmdir <directory> : Removes an empty directory. Git Commands: git init : Initializes a new Git repository. git clone <repository URL> : Clones an existing Git repository. git status : Displays the status of your working directory. git add <file> : Adds a file to the staging area. git commit -m "commit message" : Commits chan...