WHAT IS TERRAFORM IN DEVOPS - PowerPoint PPT Presentation

About This Presentation
Title:

WHAT IS TERRAFORM IN DEVOPS

Description:

WHAT IS TERRAFORM IN DEVOPS – PowerPoint PPT presentation

Number of Views:1415
Slides: 6
Provided by: devuni

less

Transcript and Presenter's Notes

Title: WHAT IS TERRAFORM IN DEVOPS


1
What is Terraform in DevOps? Terraform is a
platform-agnostic tool that allows you to build,
change, and version infrastructure securely and
efficiently. Terraform is an open-source tool and
a Hashicorp-developed multi- cloud,
infrastructure-as-code solution that uses the
declarative Hashicorp Configuration Language. It
aids in the management of established, well-known
service providers such as GCP and AWS and
specialized in-house solutions.
Terraform can manage both mainstream cloud
service providers and unique in-house solutions.
In addition, it collaborates with "providers" to
manage external resources (public cloud
infrastructure, private cloud infrastructure,
software as a service, network appliances, and
platform). Terraform - An Infrastructure as Code
Tool or IAC Tool Since its release, terraform
has grown in popularity as the first multi-cloud
"Infrastructure as Code" technology. Another
reason for its widespread use is the
straightforward syntax for ensuring modularity.
Terraform, classified as an IAC tool, works by
treating and managing infrastructure code in the
same way that software code is treated and
managed. How does Terraform work?
2
Terraform users may define their whole
infrastructure using only configuration files and
version control. Terraform parses the code and
transforms it into an application programming
interface or API call to the resource provider
when a command to deploy and execute a server,
database, or load balancer is delivered. In
addition, terraform is open source, meaning
developers can always add to its functionality by
writing new plugins or compiling different
versions of existing ones. Terraform Core and
Terraform Plugins are the two most significant
components of Terraform. The reading and
interpolation of resource plan implementations,
resource graphs, state management features, and
configuration files are handled by Terraform
Core. Compiled binaries built in the Go
programming language make up Core. In addition,
every compiled binary serves as a command-line
interface (CLI) for interacting with plugins via
remote procedure calls (RPC). Terraform Plugins
are in charge of determining resources for
certain Terraform services. This includes
establishing trust with infrastructure providers
and setting up the libraries used to make API
requests. Terraform Plugins are executable
binaries written in Go that may be used as a
specialized service or a provisioner.
(Provisioner plugins are used to run commands
against a specific resource.)
Features of Terraform
3
  • Terraform is capable of managing many
    environments.
  • It is pretty simple to manage external service
    providers.
  • To boost failure tolerance, it can manage
    numerous clouds.
  • For speedier development, it uses a Declarative
    technique.
  • It aids in presenting the generated model in a
    graphical and understandable format.
  • Its modular code contributes significantly to
    consistency, reusability, and collaboration.
  • Importance of Terraform
  • All changes in an environment are tracked in the
    Terraform state file.
  • It provides a fantastic way to bundle and reuse
    standard code using modules.
  • Its modules are similar to scripting or
    programming languages' functions or methods.
  • State files can also be used as a data source for
    other Terraform projects.
  • It helps to translate HCL code into JSON
  • It make incremental changes to resources
  • It imports current resources to a Terraform
    state, and
  • It provides support for software-defined
    networking
  • It supports multiple cloud platforms
  • It lock modules before applying state changes to
    assure that only one person can make changes at a
    time.

4
Important concepts about Terraform Providers-
Providers are in charge of developing and
managing resources. Terraform is built on a
plugin architecture. The provider binary will be
downloaded and installed using the 'init'
command. AWS, Azure, Docker, Kubernetes, and
others are examples. Resources- These are small
building pieces with one or more infrastructure
components, such as a virtual machine, a subnet,
or a load balancer. Because the resource name and
type server serve as an identification for a
specific resource, it must be unique. Modules-
Modules are used as containers for many resources
that may be utilized to organize configuration
code and make it reusable. At least one module,
known as the 'root' module, is present in every
Terraform configuration. Input variables- The
input variables are used to define your
infrastructure's configuration values. If it
needs to be modified, these values can be
utilized frequently without recalling every
occurrence. Output Variables- After the
infrastructure has been deployed, the output
variables are utilized to obtain information
about it. These can be used for providing
information to the server, such as IP addresses.
  • Terraform Remote- You can run Terraform in a
    remote environment with shared access to the
    state to share infrastructure responsibility. The
    remote backend' is the name for this capability.
  • Important Terraform Commands
  • Terraform version-This displays the Terraform
    version currently installed on the system. This
    might be useful for identifying problems or new
    methods to work with the current version.
  • Terraform plan- Generates a plan for executing
    Terraform. To ensure that the Terraform state is
    up-to-date, it reads the current state of any
    pre-existing remote objects. Then, the current
    state is compared to the previous state, and the
    differences are calculated.
  • A set of change actions is proposed to make the
    remote objects fit the configuration. The changes
    will not be implemented as a result of this.
  • If this proposal meets your expectations, it can
    be implemented later.
  • ?
  • Terraform fmt- This converts Terraform
    configuration files to a standard format. Because
    the
  • canonical format may differ slightly between
    Terraform versions, this command should be
    executed on modules after upgraded Terraform.

5
Terraform providers- These display information
about the configuration provider needs in the
current working directory. Terraform validate-
This command verifies that a configuration is
internally consistent and syntactically
correct. Terraform apply-The actions specified
in a Terraform plan are carried out using this
command. Terraform destroy-This command destroys
all remote objects handled by a Terraform
setup. Terraform import- Terraform may import
infrastructure that already exists. This command
enables us to put resources developed through
other means under Terraform's control. Terraform
show- Converts a state or plan file into a
human-readable format. This can be used to check
a plan to see if the planned operations are as
expected or to check the present
condition. Terraform output-The value of an
output variable is extracted from the state file
by Terraform output. The result will show all of
the root module's outcomes with no further
arguments.
Final Words Terraform is a fantastic and quickly
evolving IaC solution that will undoubtedly boost
the productivity of DevOps installations. Terrafo
rm has a lot of advantages for both developers
and enterprises. With the ability to interact
with all major cloud service providers, this
open-source solution can help you streamline your
business objectives and take your DevOps projects
to the next level of success.
Write a Comment
User Comments (0)
About PowerShow.com