Cleanup of the 'Terraform vs. Custom Solutions' section.
This commit is contained in:
parent
b52d323040
commit
280875774f
|
@ -7,11 +7,11 @@ sidebar_current: "vs-other-boto"
|
||||||
# Terraform vs. Boto, Fog, etc.
|
# Terraform vs. Boto, Fog, etc.
|
||||||
|
|
||||||
Libraries like Boto, Fog, etc. are used to provide native access
|
Libraries like Boto, Fog, etc. are used to provide native access
|
||||||
clients to cloud providers and services by using their APIs. Some
|
to cloud providers and services by using their APIs. Some
|
||||||
libraries are focused on specific clouds, while others attempt
|
libraries are focused on specific clouds, while others attempt
|
||||||
to bridge them all and mask the semantic differences. Using a client
|
to bridge them all and mask the semantic differences. Using a client
|
||||||
library only provides low-level access to APIs, requiring application
|
library only provides low-level access to APIs, requiring application
|
||||||
developers to build their own tooling to build and manage their infrastructure.
|
developers to create their own tooling to build and manage their infrastructure.
|
||||||
|
|
||||||
Terraform is not intended to give low-level programmatic access to
|
Terraform is not intended to give low-level programmatic access to
|
||||||
providers, but instead provides a high level syntax for describing
|
providers, but instead provides a high level syntax for describing
|
||||||
|
|
|
@ -6,11 +6,12 @@ sidebar_current: "vs-other-chef"
|
||||||
|
|
||||||
# Terraform vs. Chef, Puppet, etc.
|
# Terraform vs. Chef, Puppet, etc.
|
||||||
|
|
||||||
Configuration management tools install and manage tools on a machine
|
Configuration management tools install and manage software on a machine
|
||||||
that already exists. Terraform is not a configuration management tool,
|
that already exists. Terraform is not a configuration management tool,
|
||||||
and uses the existing tooling to do what they do best: bootstrap and initialize resources.
|
and it allows existing tooling to focus on their strengths: bootstrapping
|
||||||
|
and initializing resources.
|
||||||
|
|
||||||
Using provisioners, Terraform allows any configuration management tool
|
Using provisioners, Terraform enables any configuration management tool
|
||||||
to be used to setup a resource once it has been created. Terraform
|
to be used to setup a resource once it has been created. Terraform
|
||||||
focuses on the higher-level abstraction of the datacenter and associated
|
focuses on the higher-level abstraction of the datacenter and associated
|
||||||
services, without sacrificing the ability to use configuration management
|
services, without sacrificing the ability to use configuration management
|
||||||
|
|
|
@ -6,16 +6,16 @@ sidebar_current: "vs-other-cloudformation"
|
||||||
|
|
||||||
# Terraform vs. CloudFormation, Heat, etc.
|
# Terraform vs. CloudFormation, Heat, etc.
|
||||||
|
|
||||||
Tools like CloudFormation, Heat, etc allow the details of an infrastructure
|
Tools like CloudFormation, Heat, etc. allow the details of an infrastructure
|
||||||
to be codified into a configuration file. The configuration files allow
|
to be codified into a configuration file. The configuration files allow
|
||||||
the infrastructure to be elastically created, modified and destroyed. Terraform
|
the infrastructure to be elastically created, modified and destroyed. Terraform
|
||||||
is inspired by the problems they solve.
|
is inspired by the problems they solve.
|
||||||
|
|
||||||
Terraform similarly uses configuration files to detail the infrastructure
|
Terraform similarly uses configuration files to detail the infrastructure
|
||||||
setup, but it goes further, by being both cloud agnostic and enabling
|
setup, but it goes further by being both cloud-agnostic and enabling
|
||||||
multiple providers and services to be combined and composed. For example,
|
multiple providers and services to be combined and composed. For example,
|
||||||
Terraform can be used to orchestrate an AWS and OpenStack cluster simultaneously,
|
Terraform can be used to orchestrate an AWS and OpenStack cluster simultaneously,
|
||||||
while enabling 3rd party services like CloudFlare and DNSimple to be integrated
|
while enabling 3rd-party providers like CloudFlare and DNSimple to be integrated
|
||||||
to provide CDN and DNS services. This enables Terraform to represent and
|
to provide CDN and DNS services. This enables Terraform to represent and
|
||||||
manage the entire infrastructure with its supporting services, instead of
|
manage the entire infrastructure with its supporting services, instead of
|
||||||
only the subset that exists within a single provider. It provides a single
|
only the subset that exists within a single provider. It provides a single
|
||||||
|
@ -34,5 +34,5 @@ the actions in the plan. Other tools combine the planning and execution
|
||||||
phases, meaning operators are forced to mentally reason about the effects
|
phases, meaning operators are forced to mentally reason about the effects
|
||||||
of a change, which quickly becomes intractable in large infrastructures.
|
of a change, which quickly becomes intractable in large infrastructures.
|
||||||
Terraform lets operators apply changes with confidence, as they know exactly
|
Terraform lets operators apply changes with confidence, as they know exactly
|
||||||
what will happen before running.
|
what will happen beforehand.
|
||||||
|
|
||||||
|
|
|
@ -7,21 +7,21 @@ sidebar_current: "vs-other-custom"
|
||||||
# Terraform vs. Custom Solutions
|
# Terraform vs. Custom Solutions
|
||||||
|
|
||||||
Most organizations start by manually managing infrastructure through
|
Most organizations start by manually managing infrastructure through
|
||||||
simple scripts or web based interfaces. As the infrastructure grows,
|
simple scripts or web-based interfaces. As the infrastructure grows,
|
||||||
any manual approach to management becomes both error prone and tedious.
|
any manual approach to management becomes both error-prone and tedious,
|
||||||
As a result, many organizations begin to home-roll tooling to help
|
and many organizations begin to home-roll tooling to help
|
||||||
automate the mechanical processes involved.
|
automate the mechanical processes involved.
|
||||||
|
|
||||||
These tools require time and resources to build and maintain.
|
These tools require time and resources to build and maintain.
|
||||||
As tools of necessity, they represent the minimum viable
|
As tools of necessity, they represent the minimum viable
|
||||||
features needed by an organization, being built to handle only
|
features needed by an organization, being built to handle only
|
||||||
the immediate needs. As a result they are often hard
|
the immediate needs. As a result, they are often hard
|
||||||
to extend and difficult to maintain. Because the tooling must be
|
to extend and difficult to maintain. Because the tooling must be
|
||||||
updated in lock step with any new features or infrastructure,
|
updated in lockstep with any new features or infrastructure,
|
||||||
it becomes the limiting factor for how fast infrastructure
|
it becomes the limiting factor for how quickly the infrastructure
|
||||||
can evolve.
|
can evolve.
|
||||||
|
|
||||||
Terraform is designed to tackle these challenges. It provides a simple
|
Terraform is designed to tackle these challenges. It provides a simple,
|
||||||
unified syntax, allowing almost any resource to be managed without
|
unified syntax, allowing almost any resource to be managed without
|
||||||
learning new tooling. By capturing all the resources required, the
|
learning new tooling. By capturing all the resources required, the
|
||||||
dependencies between them can be resolved automatically so that operators
|
dependencies between them can be resolved automatically so that operators
|
||||||
|
@ -29,10 +29,10 @@ do not need to remember and reason about them. Removing the burden
|
||||||
of building the tool allows operators to focus on their infrastructure
|
of building the tool allows operators to focus on their infrastructure
|
||||||
and not the tooling.
|
and not the tooling.
|
||||||
|
|
||||||
Additionally, Terraform is an open source tool. In addition to
|
Furthermore, Terraform is an open source tool. In addition to
|
||||||
HashiCorp, the community around it helps to extend its features,
|
HashiCorp, the community around Terraform helps to extend its features,
|
||||||
fix bugs and document new use cases. Terraform helps solve a problem
|
fix bugs and document new use cases. Terraform helps solve a problem
|
||||||
that exists in every organization and provides a standard that can
|
that exists in every organization and provides a standard that can
|
||||||
be adopted to avoid re-inventing the wheel between and within organizations.
|
be adopted to avoid reinventing the wheel between and within organizations.
|
||||||
It's open source nature ensures it will be around in the long term.
|
Its open source nature ensures it will be around in the long term.
|
||||||
|
|
||||||
|
|
|
@ -7,13 +7,13 @@ sidebar_current: "vs-other"
|
||||||
# Terraform vs. Other Software
|
# Terraform vs. Other Software
|
||||||
|
|
||||||
Terraform provides a flexible abstraction of resources and providers. This model
|
Terraform provides a flexible abstraction of resources and providers. This model
|
||||||
allows for representing everything from physical hardware, virtual machines,
|
allows for representing everything from physical hardware, virtual machines, and
|
||||||
containers, to email and DNS providers. Because of this flexibility, Terraform
|
containers, to email and DNS providers. Because of this flexibility, Terraform
|
||||||
can be used to solve many different problems. This means there are a number of
|
can be used to solve many different problems. This means there are a number of
|
||||||
existing tools that overlap with the capabilities of Terraform. We compare Terraform
|
existing tools that overlap with the capabilities of Terraform. We compare Terraform
|
||||||
to a number of these tools, but it should be noted that Terraform is not mutual
|
to a number of these tools, but it should be noted that Terraform is not mutually
|
||||||
exclusive with other systems. It can be used to manage a single application, or the
|
exclusive with other systems. It can be used to manage a single application, or the
|
||||||
entire datacenter.
|
entire datacenter.
|
||||||
|
|
||||||
Use the navigation to the left to read the comparison of Terraform to specific
|
Use the navigation on the left to read comparisons of Terraform versus other
|
||||||
systems.
|
specific systems.
|
||||||
|
|
Loading…
Reference in New Issue