From 60f240f8cf49c0c409a705cfed53c3736e5145be Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Mon, 28 Jun 2021 11:33:06 -0400
Subject: [PATCH 01/21] Update description and edit for concision and clarity
---
website/intro/index.html.markdown | 65 ++++++++-----------------------
1 file changed, 17 insertions(+), 48 deletions(-)
diff --git a/website/intro/index.html.markdown b/website/intro/index.html.markdown
index 3d5a64c70..ca6a40289 100644
--- a/website/intro/index.html.markdown
+++ b/website/intro/index.html.markdown
@@ -3,79 +3,48 @@ layout: "intro"
page_title: "Introduction"
sidebar_current: "what"
description: |-
- Welcome to the intro guide to Terraform! This guide is the best place to start with Terraform. We cover what Terraform is, what problems it can solve, how it compares to existing software, and contains a quick start for using Terraform.
+ This guide explains what Terraform is, what problems it can solve, and how it compares to existing software.
---
# Introduction to Terraform
-Welcome to the intro guide to Terraform! This guide is the best
-place to start with Terraform. We cover what Terraform is, what
-problems it can solve, how it compares to existing software,
-and contains a quick start for using Terraform.
-
-If you are already familiar with the basics of Terraform, the
-[documentation](/docs/index.html) provides a better reference
-guide for all available features as well as internals.
-
-> **Hands-on:** Try the [Get Started](https://learn.hashicorp.com/tutorials/terraform/infrastructure-as-code) tutorials on HashiCorp Learn.
-
## What is Terraform?
Terraform is a tool for building, changing, and versioning infrastructure
-safely and efficiently. Terraform can manage existing and popular service
-providers as well as custom in-house solutions.
+safely and efficiently. Terraform can manage both low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc.
-Configuration files describe to Terraform the components needed to
-run a single application or your entire datacenter.
-Terraform generates an execution plan describing
-what it will do to reach the desired state, and then executes it to build the
-described infrastructure. As the configuration changes, Terraform is able
-to determine what changed and create incremental execution plans which
-can be applied.
+Terraform configuration files describe the components needed to run a single application or your entire datacenter. Terraform reads these configuration files, generates an execution plan describing what it will do to reach the desired state, and then executes that plan to build the described infrastructure. As the configuration changes, Terraform can determine what changed and implement changes in the right order to respect dependencies.
-The infrastructure Terraform can manage includes
-low-level components such as
-compute instances, storage, and networking, as well as high-level
-components such as DNS entries, SaaS features, etc.
+Below, HashiCorp co-founder and CTO Armon Dadgar describes Terraform and its uses in more depth.
-Examples work best to showcase Terraform. Please see the
-[use cases](/intro/use-cases.html).
-The key features of Terraform are:
+
+## Key Features
### Infrastructure as Code
-Infrastructure is described using a high-level configuration syntax. This allows
-a blueprint of your datacenter to be versioned and treated as you would any
-other code. Additionally, infrastructure can be shared and re-used.
+Infrastructure is described using a high-level [configuration language](/docs/language/index.html). This allows a blueprint of your datacenter to be versioned and treated as you would any other code. Additionally, infrastructure can be shared and re-used.
### Execution Plans
-Terraform has a "planning" step where it generates an _execution plan_. The
-execution plan shows what Terraform will do when you call apply. This lets you
-avoid any surprises when Terraform manipulates infrastructure.
+Terraform generates an _execution plan_ and asks for your approval before creating or destroying infrastructure. This allows you to review changes before they are applied.
### Resource Graph
-Terraform builds a graph of all your resources, and parallelizes the creation
-and modification of any non-dependent resources. Because of this, Terraform
-builds infrastructure as efficiently as possible, and operators get insight into
-dependencies in their infrastructure.
+Terraform builds a graph of all your resources and parallelizes the creation
+and modification of any non-dependent resources. This allows Terraform to
+build infrastructure as efficiently as possible and gives operators greater insight into their infrastructure.
### Change Automation
-Complex changesets can be applied to your infrastructure with minimal human
-interaction. With the previously mentioned execution plan and resource graph,
-you know exactly what Terraform will change and in what order, avoiding many
-possible human errors.
+Apply complex changesets to your infrastructure with minimal human interaction.
+
+
## Next Steps
-- Learn about common [Terraform use cases](/intro/use-cases.html) to find multiple
-ways you can use Terraform.
-- Learn [how Terraform compares to other infrastructure tools](/intro/vs/index.html).
-- Try the [Terraform: Get
- Started](https://learn.hashicorp.com/collections/terraform/aws-get-started)
- tutorials on HashiCorp Learn to use Terraform to manage real infrastructure.
+- Learn about common [Terraform use cases](/intro/use-cases.html).
+- Learn [how Terraform compares to other infrastructure tools](/intro/vs/index.html).
+- Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started) tutorials on HashiCorp Learn to install Terraform and learn how to use Terraform to manage real infrastructure.
From e92f030662ca2539429188114a706662f16adb85 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Mon, 28 Jun 2021 11:38:21 -0400
Subject: [PATCH 02/21] Make get started bullet more concise
---
website/intro/index.html.markdown | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/website/intro/index.html.markdown b/website/intro/index.html.markdown
index ca6a40289..5ddbe8927 100644
--- a/website/intro/index.html.markdown
+++ b/website/intro/index.html.markdown
@@ -41,10 +41,10 @@ build infrastructure as efficiently as possible and gives operators greater insi
Apply complex changesets to your infrastructure with minimal human interaction.
-
+
## Next Steps
- Learn about common [Terraform use cases](/intro/use-cases.html).
- Learn [how Terraform compares to other infrastructure tools](/intro/vs/index.html).
-- Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started) tutorials on HashiCorp Learn to install Terraform and learn how to use Terraform to manage real infrastructure.
+- Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started) tutorials on HashiCorp Learn to learn how to use Terraform to manage real infrastructure.
From 0ab2012d77cd8353e791cfff7760a7d2233a2bbd Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Mon, 28 Jun 2021 15:59:36 -0400
Subject: [PATCH 03/21] Update page description metadata
---
website/intro/use-cases.html.markdown | 42 +++++++--------------------
1 file changed, 10 insertions(+), 32 deletions(-)
diff --git a/website/intro/use-cases.html.markdown b/website/intro/use-cases.html.markdown
index e2d3f26fd..b484caee7 100644
--- a/website/intro/use-cases.html.markdown
+++ b/website/intro/use-cases.html.markdown
@@ -3,7 +3,7 @@ layout: "intro"
page_title: "Use Cases"
sidebar_current: "use-cases"
description: |-
- Before understanding use cases, it's useful to know what Terraform is. This page lists some concrete use cases for Terraform, but the possible use cases are much broader than what we cover. Due to its extensible nature, providers and provisioners can be added to further extend Terraform's ability to manipulate resources.
+ Learn common use cases for Terraform including Heroku apps, self-service clusters, and multi-cloud deployment.
---
# Use Cases
@@ -15,16 +15,11 @@ can be added to further extend Terraform's ability to manipulate resources.
## Heroku App Setup
-Heroku is a popular PaaS for hosting web apps. Developers create an app, and then
-attach add-ons, such as a database, or email provider. One of the best features is
+Heroku is a popular PaaS for hosting web apps. Developers create an app, and then attach add-ons, such as a database, or email provider. One of the best features is
the ability to elastically scale the number of dynos or workers. However, most
non-trivial applications quickly need many add-ons and external services.
-Terraform can be used to codify the setup required for a Heroku application, ensuring
-that all the required add-ons are available, but it can go even further: configuring
-DNSimple to set a CNAME, or setting up Cloudflare as a CDN for the
-app. Best of all, Terraform can do all of this in under 30 seconds without
-using a web interface.
+Terraform can be used to codify the setup required for a Heroku application, ensuring that all the required add-ons are available, but it can go even further: configuring DNSimple to set a CNAME, or setting up Cloudflare as a CDN for the app. Best of all, Terraform can do all of this in under 30 seconds without using a web interface.
## Multi-Tier Applications
@@ -33,12 +28,7 @@ a pool of web servers that use a database tier. Additional tiers get added for A
caching servers, routing meshes, etc. This pattern is used because the tiers can be scaled
independently and provide a separation of concerns.
-Terraform is an ideal tool for building and managing these infrastructures. Each tier can
-be described as a collection of resources, and the dependencies between each tier are handled
-automatically; Terraform will ensure the database tier is available before the web servers
-are started and that the load balancers are aware of the web nodes. Each tier can then be
-scaled easily using Terraform by modifying a single `count` configuration value. Because
-the creation and provisioning of a resource is codified and automated, elastically scaling
+Terraform is an ideal tool for building and managing these infrastructures. Each tier can be described as a collection of resources, and the dependencies between each tier are handled automatically; Terraform will ensure the database tier is available before the web servers are started and that the load balancers are aware of the web nodes. Each tier can then be scaled easily using Terraform by modifying a single `count` configuration value. Because the creation and provisioning of a resource is codified and automated, elastically scaling
with load becomes trivial.
## Self-Service Clusters
@@ -48,10 +38,7 @@ operations team to manage a large and growing infrastructure. Instead it becomes
more attractive to make "self-serve" infrastructure, allowing product teams to
manage their own infrastructure using tooling provided by the central operations team.
-Using Terraform, the knowledge of how to build and scale a service can be codified
-in a configuration. Terraform configurations can be shared within an organization
-enabling customer teams to use the configuration as a black box and use Terraform as
-a tool to manage their services.
+Using Terraform, the knowledge of how to build and scale a service can be codified in a configuration. Terraform configurations can be shared within an organization enabling customer teams to use the configuration as a black box and use Terraform as a tool to manage their services.
## Software Demos
@@ -61,9 +48,7 @@ for demos, it is still very challenging to demo software on real infrastructure
which more closely matches production environments.
Software writers can provide a Terraform configuration to create, provision and
-bootstrap a demo on cloud providers like AWS. This allows end users to easily demo
-the software on their own infrastructure, and even enables tweaking parameters like
-cluster size to more rigorously test tools at any scale.
+bootstrap a demo on cloud providers like AWS. This allows end users to easily demo the software on their own infrastructure, and even enables tweaking parameters like cluster size to more rigorously test tools at any scale.
## Disposable Environments
@@ -87,11 +72,8 @@ allows the network to better support the applications running on top. Most SDN
implementations have a control layer and infrastructure layer.
Terraform can be used to codify the configuration for software defined networks.
-This configuration can then be used by Terraform to automatically setup and modify
-settings by interfacing with the control layer. This allows configuration to be
-versioned and changes to be automated. As an example, [AWS VPC](https://aws.amazon.com/vpc/)
-is one of the most commonly used SDN implementations, and [can be configured by
-Terraform](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc).
+This configuration can then be used by Terraform to automatically setup and modify settings by interfacing with the control layer. This allows configuration to be
+versioned and changes to be automated. As an example, [AWS VPC](https://aws.amazon.com/vpc/) is one of the most commonly used SDN implementations, and [can be configured by Terraform](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc).
## Resource Schedulers
@@ -108,13 +90,9 @@ running the schedulers as well as provisioning onto the scheduled grid.
## Multi-Cloud Deployment
-It's often attractive to spread infrastructure across multiple clouds to increase
-fault-tolerance. By using only a single region or cloud provider, fault tolerance
-is limited by the availability of that provider. Having a multi-cloud deployment
-allows for more graceful recovery of the loss of a region or entire provider.
+It's often attractive to spread infrastructure across multiple clouds to increase fault-tolerance. By using only a single region or cloud provider, fault tolerance is limited by the availability of that provider. Having a multi-cloud deployment allows for more graceful recovery of the loss of a region or entire provider.
Realizing multi-cloud deployments can be very challenging as many existing tools
for infrastructure management are cloud-specific. Terraform is cloud-agnostic
and allows a single configuration to be used to manage multiple providers, and
-to even handle cross-cloud dependencies. This simplifies management and orchestration,
-helping operators build large-scale multi-cloud infrastructures.
+to even handle cross-cloud dependencies. This simplifies management and orchestration, helping operators build large-scale multi-cloud infrastructures.
From 5344ba0fa5cfe39e589c18286b3590f121ae812b Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Mon, 28 Jun 2021 16:00:16 -0400
Subject: [PATCH 04/21] Update page description metadata
---
website/guides/core-workflow.html.md | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/website/guides/core-workflow.html.md b/website/guides/core-workflow.html.md
index eb3112a1f..2cd010ee5 100644
--- a/website/guides/core-workflow.html.md
+++ b/website/guides/core-workflow.html.md
@@ -3,9 +3,7 @@ layout: "intro"
page_title: "The Core Terraform Workflow - Guides"
sidebar_current: "guides-core-workflow"
description: |-
- This guide provides an overview of the core Terraform workflow and how it
- applies in individual, team, and organization contexts across Terraform open
- source and Terraform Cloud.
+ An overview of how individuals, teams, and organizations can use Terraform.
---
# The Core Terraform Workflow
From 4111b1298dd81c63711ff1fed03068ccaf66822e Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Mon, 28 Jun 2021 16:47:37 -0400
Subject: [PATCH 05/21] Update page description metadata
---
website/intro/vs/index.html.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/website/intro/vs/index.html.markdown b/website/intro/vs/index.html.markdown
index 472fefcbc..462e326fb 100644
--- a/website/intro/vs/index.html.markdown
+++ b/website/intro/vs/index.html.markdown
@@ -3,7 +3,7 @@ layout: "intro"
page_title: "Terraform vs. Other Software"
sidebar_current: "vs-other"
description: |-
- Terraform provides a flexible abstraction of resources and providers. This model allows for representing everything from physical hardware, virtual machines, and 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 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 mutually exclusive with other systems. It can be used to manage a single application, or the entire datacenter.
+ An overview of how Terraform compares to other software and tools.
---
# Terraform vs. Other Software
From 2f67c788216c4feff0629df0f1eee9c8b2acbe28 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Mon, 28 Jun 2021 16:50:37 -0400
Subject: [PATCH 06/21] Update page description metadata
---
website/intro/vs/chef-puppet.html.markdown | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/website/intro/vs/chef-puppet.html.markdown b/website/intro/vs/chef-puppet.html.markdown
index dd2c5cb47..28f020c8b 100644
--- a/website/intro/vs/chef-puppet.html.markdown
+++ b/website/intro/vs/chef-puppet.html.markdown
@@ -3,7 +3,7 @@ layout: "intro"
page_title: "Terraform vs. Chef, Puppet, etc."
sidebar_current: "vs-other-chef"
description: |-
- Configuration management tools install and manage software on a machine that already exists. Terraform is not a configuration management tool, and it allows existing tooling to focus on their strengths: bootstrapping and initializing resources.
+ An overview of how Terraform is different from configuration management tools.
---
# Terraform vs. Chef, Puppet, etc.
@@ -22,4 +22,3 @@ If you are using traditional configuration management within your compute
instances, you can use Terraform to configure bootstrapping software like
cloud-init to activate your configuration management software on first
system boot.
-
From fc772aec86360e6ee17e49918fdf4ea8abf88941 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Mon, 28 Jun 2021 17:03:30 -0400
Subject: [PATCH 07/21] Update page content for clarity, concision, and flow
---
website/intro/index.html.markdown | 24 ++++++++++--------------
1 file changed, 10 insertions(+), 14 deletions(-)
diff --git a/website/intro/index.html.markdown b/website/intro/index.html.markdown
index 5ddbe8927..71973a630 100644
--- a/website/intro/index.html.markdown
+++ b/website/intro/index.html.markdown
@@ -3,19 +3,16 @@ layout: "intro"
page_title: "Introduction"
sidebar_current: "what"
description: |-
- This guide explains what Terraform is, what problems it can solve, and how it compares to existing software.
+ Learn what Terraform is, what problems it can solve, and how it compares to existing software.
---
# Introduction to Terraform
## What is Terraform?
-Terraform is a tool for building, changing, and versioning infrastructure
-safely and efficiently. Terraform can manage both low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc.
+Terraform is an infrastructure as code (IaC) tool that allows you to build, change, and version infrastructure safely and efficiently. Terraform can manage both low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc.
-Terraform configuration files describe the components needed to run a single application or your entire datacenter. Terraform reads these configuration files, generates an execution plan describing what it will do to reach the desired state, and then executes that plan to build the described infrastructure. As the configuration changes, Terraform can determine what changed and implement changes in the right order to respect dependencies.
-
-Below, HashiCorp co-founder and CTO Armon Dadgar describes Terraform and its uses in more depth.
+Below, HashiCorp co-founder and CTO Armon Dadgar describes how Terraform can help solve common infrastructure challenges.
@@ -25,26 +22,25 @@ Below, HashiCorp co-founder and CTO Armon Dadgar describes Terraform and its use
### Infrastructure as Code
-Infrastructure is described using a high-level [configuration language](/docs/language/index.html). This allows a blueprint of your datacenter to be versioned and treated as you would any other code. Additionally, infrastructure can be shared and re-used.
+Infrastructure is described using a high-level [configuration language](/docs/language/index.html) in human-readable, declarative configuration files. This allows you to create a blueprint that can be versioned, shared, and reused.
### Execution Plans
-Terraform generates an _execution plan_ and asks for your approval before creating or destroying infrastructure. This allows you to review changes before they are applied.
+Terraform generates an _execution plan_ describing what it will do and asks for your approval before creating, updating, or destroying infrastructure. This allows you to review changes before they are applied.
### Resource Graph
-Terraform builds a graph of all your resources and parallelizes the creation
-and modification of any non-dependent resources. This allows Terraform to
-build infrastructure as efficiently as possible and gives operators greater insight into their infrastructure.
+Terraform builds a resource graph and parallelizes the creation and modification of any non-dependent resources. This allows Terraform to
+build resources as efficiently as possible and gives operators greater insight into their infrastructure.
### Change Automation
-Apply complex changesets to your infrastructure with minimal human interaction.
+Terraform can apply complex changesets to your infrastructure with minimal human interaction.
## Next Steps
- Learn about common [Terraform use cases](/intro/use-cases.html).
-- Learn [how Terraform compares to other infrastructure tools](/intro/vs/index.html).
-- Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started) tutorials on HashiCorp Learn to learn how to use Terraform to manage real infrastructure.
+- Learn [how Terraform compares to and complements other tools](/intro/vs/index.html).
+- Try the [Terraform: Get Started](https://learn.hashicorp.com/collections/terraform/aws-get-started) tutorials on HashiCorp Learn.
From 908ceec8c15c5c6f3a765d9d9d98f5fef7e29426 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Mon, 28 Jun 2021 17:06:50 -0400
Subject: [PATCH 08/21] Update page description metadata
---
website/intro/vs/cloudformation.html.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/website/intro/vs/cloudformation.html.markdown b/website/intro/vs/cloudformation.html.markdown
index abb312843..d41a6820f 100644
--- a/website/intro/vs/cloudformation.html.markdown
+++ b/website/intro/vs/cloudformation.html.markdown
@@ -3,7 +3,7 @@ layout: "intro"
page_title: "Terraform vs. CloudFormation, Heat, etc."
sidebar_current: "vs-other-cloudformation"
description: |-
- Tools like CloudFormation, Heat, etc. allow the details of an infrastructure to be codified into a configuration file. The configuration files allow the infrastructure to be elastically created, modified and destroyed. Terraform is inspired by the problems they solve.
+ How Terraform compares to other infrastructure as code tools.
---
# Terraform vs. CloudFormation, Heat, etc.
From 5e89ac590e04e10a2c7178ef6e11df939166bb59 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Mon, 28 Jun 2021 17:10:11 -0400
Subject: [PATCH 09/21] Update page description metadata
---
website/intro/vs/boto.html.markdown | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/website/intro/vs/boto.html.markdown b/website/intro/vs/boto.html.markdown
index f6a2912d6..dd94e2020 100644
--- a/website/intro/vs/boto.html.markdown
+++ b/website/intro/vs/boto.html.markdown
@@ -3,7 +3,7 @@ layout: "intro"
page_title: "Terraform vs. Boto, Fog, etc."
sidebar_current: "vs-other-boto"
description: |-
- Libraries like Boto, Fog, etc. are used to provide native access to cloud providers and services by using their APIs. Some libraries are focused on specific clouds, while others attempt to bridge them all and mask the semantic differences. Using a client library only provides low-level access to APIs, requiring application developers to create their own tooling to build and manage their infrastructure.
+ How Terraform compares to cloud provider client libraries.
---
# Terraform vs. Boto, Fog, etc.
@@ -21,4 +21,3 @@ how cloud resources and services should be created, provisioned, and
combined. Terraform is very flexible, using a plugin-based model to
support providers and provisioners, giving it the ability to support
almost any service that exposes APIs.
-
From f526e6eadcdacafc30609dd325f27b7244878948 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Mon, 28 Jun 2021 17:14:34 -0400
Subject: [PATCH 10/21] Update page description metadata
---
website/intro/vs/custom.html.markdown | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/website/intro/vs/custom.html.markdown b/website/intro/vs/custom.html.markdown
index 4962bdba0..94b25a2fe 100644
--- a/website/intro/vs/custom.html.markdown
+++ b/website/intro/vs/custom.html.markdown
@@ -3,7 +3,7 @@ layout: "intro"
page_title: "Terraform vs. Custom Solutions"
sidebar_current: "vs-other-custom"
description: |-
- Most organizations start by manually managing infrastructure through simple scripts or web-based interfaces. As the infrastructure grows, any manual approach to management becomes both error-prone and tedious, and many organizations begin to home-roll tooling to help automate the mechanical processes involved.
+ Why Terraform is easier to use and maintain than custom, internal infrastructure solutions.
---
# Terraform vs. Custom Solutions
@@ -37,4 +37,3 @@ fix bugs and document new use cases. Terraform helps solve a problem
that exists in every organization and provides a standard that can
be adopted to avoid reinventing the wheel between and within organizations.
Its open source nature ensures it will be around in the long term.
-
From 46708ea4bcc23646191913369d15ed385d851bda Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Tue, 29 Jun 2021 08:44:53 -0400
Subject: [PATCH 11/21] Update website/intro/vs/chef-puppet.html.markdown
Co-authored-by: Tu Nguyen
---
website/intro/vs/chef-puppet.html.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/website/intro/vs/chef-puppet.html.markdown b/website/intro/vs/chef-puppet.html.markdown
index 28f020c8b..644747b49 100644
--- a/website/intro/vs/chef-puppet.html.markdown
+++ b/website/intro/vs/chef-puppet.html.markdown
@@ -3,7 +3,7 @@ layout: "intro"
page_title: "Terraform vs. Chef, Puppet, etc."
sidebar_current: "vs-other-chef"
description: |-
- An overview of how Terraform is different from configuration management tools.
+ How Terraform compares to configuration management tools.
---
# Terraform vs. Chef, Puppet, etc.
From 7cb7d641b7fd26a5ed29bf0a1694eff953e716f3 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Tue, 29 Jun 2021 08:56:04 -0400
Subject: [PATCH 12/21] Remove top header and add provider language
---
website/intro/index.html.markdown | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/website/intro/index.html.markdown b/website/intro/index.html.markdown
index 71973a630..df90c140d 100644
--- a/website/intro/index.html.markdown
+++ b/website/intro/index.html.markdown
@@ -8,9 +8,7 @@ description: |-
# Introduction to Terraform
-## What is Terraform?
-
-Terraform is an infrastructure as code (IaC) tool that allows you to build, change, and version infrastructure safely and efficiently. Terraform can manage both low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc.
+Terraform is an infrastructure as code (IaC) tool that allows you to build, change, and version infrastructure safely and efficiently. This includes low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc. Terraform can manage both existing service providers and custom in-house solutions.
Below, HashiCorp co-founder and CTO Armon Dadgar describes how Terraform can help solve common infrastructure challenges.
From 16bea6a949734091b2b5d566c523d0dc5d9534a5 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Tue, 29 Jun 2021 09:01:13 -0400
Subject: [PATCH 13/21] Update website/intro/use-cases.html.markdown
Co-authored-by: Tu Nguyen
---
website/intro/use-cases.html.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/website/intro/use-cases.html.markdown b/website/intro/use-cases.html.markdown
index b484caee7..5e78faf73 100644
--- a/website/intro/use-cases.html.markdown
+++ b/website/intro/use-cases.html.markdown
@@ -38,7 +38,7 @@ operations team to manage a large and growing infrastructure. Instead it becomes
more attractive to make "self-serve" infrastructure, allowing product teams to
manage their own infrastructure using tooling provided by the central operations team.
-Using Terraform, the knowledge of how to build and scale a service can be codified in a configuration. Terraform configurations can be shared within an organization enabling customer teams to use the configuration as a black box and use Terraform as a tool to manage their services.
+You can use Terraform configuration to codify the knowledge of how to build and scale a service. You can then share these configurations throughout your organization, enabling customer teams to use Terraform to manage their services.
## Software Demos
From 2cb8bbaacd4578550a94b5fc49f91de661bc33e0 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Tue, 29 Jun 2021 09:01:25 -0400
Subject: [PATCH 14/21] Update website/intro/use-cases.html.markdown
Co-authored-by: Tu Nguyen
---
website/intro/use-cases.html.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/website/intro/use-cases.html.markdown b/website/intro/use-cases.html.markdown
index 5e78faf73..ec732768d 100644
--- a/website/intro/use-cases.html.markdown
+++ b/website/intro/use-cases.html.markdown
@@ -28,7 +28,7 @@ a pool of web servers that use a database tier. Additional tiers get added for A
caching servers, routing meshes, etc. This pattern is used because the tiers can be scaled
independently and provide a separation of concerns.
-Terraform is an ideal tool for building and managing these infrastructures. Each tier can be described as a collection of resources, and the dependencies between each tier are handled automatically; Terraform will ensure the database tier is available before the web servers are started and that the load balancers are aware of the web nodes. Each tier can then be scaled easily using Terraform by modifying a single `count` configuration value. Because the creation and provisioning of a resource is codified and automated, elastically scaling
+Terraform is an ideal tool for building and managing these infrastructures. You can group resources in each tier together, and Terraform will automatically handle the dependencies between each tier. For example, Terraform will ensure the database tier is available before provisioning the web servers and that the load balancers are connected to the web nodes. You can then use Terraform to easily scale each tier by modifying the `count` configuration value. Because resource creation and provisioning is codified and automated, elastically scaling
with load becomes trivial.
## Self-Service Clusters
From 740343cfd23734b69b1aa8b5d5a42db8398dfd85 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Tue, 29 Jun 2021 09:02:02 -0400
Subject: [PATCH 15/21] Update website/intro/use-cases.html.markdown
Co-authored-by: Tu Nguyen
---
website/intro/use-cases.html.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/website/intro/use-cases.html.markdown b/website/intro/use-cases.html.markdown
index ec732768d..28b47ec29 100644
--- a/website/intro/use-cases.html.markdown
+++ b/website/intro/use-cases.html.markdown
@@ -19,7 +19,7 @@ Heroku is a popular PaaS for hosting web apps. Developers create an app, and the
the ability to elastically scale the number of dynos or workers. However, most
non-trivial applications quickly need many add-ons and external services.
-Terraform can be used to codify the setup required for a Heroku application, ensuring that all the required add-ons are available, but it can go even further: configuring DNSimple to set a CNAME, or setting up Cloudflare as a CDN for the app. Best of all, Terraform can do all of this in under 30 seconds without using a web interface.
+You can use Terraform to codify the setup required for a Heroku application, ensuring that all the required add-ons are available, but it can go even further: configuring DNSimple to set a CNAME, or setting up Cloudflare as a CDN for the app. Best of all, Terraform can do all of this in under 30 seconds without using a web interface.
## Multi-Tier Applications
From a2cab95dac97f3b180cc2658382d97efb28be352 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Tue, 29 Jun 2021 09:15:01 -0400
Subject: [PATCH 16/21] Update copy for active voice and concision
---
website/intro/use-cases.html.markdown | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/website/intro/use-cases.html.markdown b/website/intro/use-cases.html.markdown
index 28b47ec29..eefdf043d 100644
--- a/website/intro/use-cases.html.markdown
+++ b/website/intro/use-cases.html.markdown
@@ -8,9 +8,7 @@ description: |-
# Use Cases
-Before understanding use cases, it's useful to know [what Terraform is](/intro/index.html).
-This page lists some concrete use cases for Terraform, but the possible use cases are
-much broader than what we cover. Due to its extensible nature, providers and provisioners
+This page lists a subset of use cases for [Terraform](/intro/index.html). Due to its extensible nature, providers and provisioners
can be added to further extend Terraform's ability to manipulate resources.
## Heroku App Setup
@@ -71,9 +69,9 @@ datacenter, as it provides more control to operators and developers and
allows the network to better support the applications running on top. Most SDN
implementations have a control layer and infrastructure layer.
-Terraform can be used to codify the configuration for software defined networks.
-This configuration can then be used by Terraform to automatically setup and modify settings by interfacing with the control layer. This allows configuration to be
-versioned and changes to be automated. As an example, [AWS VPC](https://aws.amazon.com/vpc/) is one of the most commonly used SDN implementations, and [can be configured by Terraform](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc).
+You can use Terraform to codify the configuration for software defined networks.
+Terraform can then use this configuration to automatically set up and modify settings by interfacing with the control layer. This allows the configuration to be
+versioned and changes to be automated. For example, you can [use Terraform to configure AWS VPC](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/vpc).
## Resource Schedulers
@@ -90,7 +88,7 @@ running the schedulers as well as provisioning onto the scheduled grid.
## Multi-Cloud Deployment
-It's often attractive to spread infrastructure across multiple clouds to increase fault-tolerance. By using only a single region or cloud provider, fault tolerance is limited by the availability of that provider. Having a multi-cloud deployment allows for more graceful recovery of the loss of a region or entire provider.
+It's often attractive to spread infrastructure across multiple clouds to increase fault-tolerance. By using only a single region or cloud provider, fault tolerance is limited by the availability of that provider. Multi-cloud deployment allows for more graceful recovery of the loss of a region or entire provider.
Realizing multi-cloud deployments can be very challenging as many existing tools
for infrastructure management are cloud-specific. Terraform is cloud-agnostic
From a9e09a3ed9dc87fc065a9d29dbb8cc4408dfc250 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Thu, 1 Jul 2021 10:34:41 -0400
Subject: [PATCH 17/21] Edit copy to address PR comments
---
website/intro/index.html.markdown | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/website/intro/index.html.markdown b/website/intro/index.html.markdown
index df90c140d..8327f5e10 100644
--- a/website/intro/index.html.markdown
+++ b/website/intro/index.html.markdown
@@ -8,7 +8,7 @@ description: |-
# Introduction to Terraform
-Terraform is an infrastructure as code (IaC) tool that allows you to build, change, and version infrastructure safely and efficiently. This includes low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc. Terraform can manage both existing service providers and custom in-house solutions.
+Terraform is an infrastructure as code (IaC) tool that allows you to build, change, and version infrastructure safely and efficiently. This includes low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc. Terraform can manage both existing service providers and custom in-house solutions.
Below, HashiCorp co-founder and CTO Armon Dadgar describes how Terraform can help solve common infrastructure challenges.
@@ -20,20 +20,19 @@ Below, HashiCorp co-founder and CTO Armon Dadgar describes how Terraform can hel
### Infrastructure as Code
-Infrastructure is described using a high-level [configuration language](/docs/language/index.html) in human-readable, declarative configuration files. This allows you to create a blueprint that can be versioned, shared, and reused.
+You describe your infrastructure using Terraform's high-level [configuration language](/docs/language/index.html) in human-readable, declarative configuration files. This allows you to create a blueprint that you can version, share, and reuse.
### Execution Plans
-Terraform generates an _execution plan_ describing what it will do and asks for your approval before creating, updating, or destroying infrastructure. This allows you to review changes before they are applied.
+Terraform generates an _execution plan_ describing what it will do and asks for your approval before making any infrastructure changes. This allows you to review changes before Terraform creates, updates, or destroys infrastructure.
### Resource Graph
-Terraform builds a resource graph and parallelizes the creation and modification of any non-dependent resources. This allows Terraform to
-build resources as efficiently as possible and gives operators greater insight into their infrastructure.
+Terraform builds a resource graph and creates or modifies non-dependent resources in parallel. This allows Terraform to build resources as efficiently as possible and gives you greater insight into your infrastructure.
### Change Automation
-Terraform can apply complex changesets to your infrastructure with minimal human interaction.
+Terraform can apply complex changesets to your infrastructure with minimal human interaction. When you update configuration files, Terraform determines what changed and creates incremental execution plans that respect dependencies.
From 04385bb9fc5c2713dd5edb053276948528a4a603 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Thu, 1 Jul 2021 10:39:15 -0400
Subject: [PATCH 18/21] Update website/intro/use-cases.html.markdown
Co-authored-by: Judith Malnick
---
website/intro/use-cases.html.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/website/intro/use-cases.html.markdown b/website/intro/use-cases.html.markdown
index eefdf043d..cfe1798c6 100644
--- a/website/intro/use-cases.html.markdown
+++ b/website/intro/use-cases.html.markdown
@@ -3,7 +3,7 @@ layout: "intro"
page_title: "Use Cases"
sidebar_current: "use-cases"
description: |-
- Learn common use cases for Terraform including Heroku apps, self-service clusters, and multi-cloud deployment.
+ Learn common use cases for Terraform including managing Heroku apps, self-service clusters, and multi-cloud deployments.
---
# Use Cases
From 09c79994f5518855d6a81fc4eb47e8fe356431bc Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Thu, 1 Jul 2021 10:43:24 -0400
Subject: [PATCH 19/21] Update use cases page for PR comments
---
website/intro/use-cases.html.markdown | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/website/intro/use-cases.html.markdown b/website/intro/use-cases.html.markdown
index cfe1798c6..d041c912e 100644
--- a/website/intro/use-cases.html.markdown
+++ b/website/intro/use-cases.html.markdown
@@ -3,19 +3,16 @@ layout: "intro"
page_title: "Use Cases"
sidebar_current: "use-cases"
description: |-
- Learn common use cases for Terraform including managing Heroku apps, self-service clusters, and multi-cloud deployments.
+ Learn common use cases for Terraform including managing Heroku apps, self-service clusters, and multi-cloud deployments.
---
# Use Cases
-This page lists a subset of use cases for [Terraform](/intro/index.html). Due to its extensible nature, providers and provisioners
-can be added to further extend Terraform's ability to manipulate resources.
+This page lists a subset of use cases for [Terraform](/intro/index.html).
## Heroku App Setup
-Heroku is a popular PaaS for hosting web apps. Developers create an app, and then attach add-ons, such as a database, or email provider. One of the best features is
-the ability to elastically scale the number of dynos or workers. However, most
-non-trivial applications quickly need many add-ons and external services.
+Heroku is a popular PaaS for hosting web apps. Developers create an app, and then attach add-ons, such as a database, or email provider. One of the best features is the ability to elastically scale the number of dynos or workers. However, most non-trivial applications quickly need many add-ons and external services.
You can use Terraform to codify the setup required for a Heroku application, ensuring that all the required add-ons are available, but it can go even further: configuring DNSimple to set a CNAME, or setting up Cloudflare as a CDN for the app. Best of all, Terraform can do all of this in under 30 seconds without using a web interface.
From ab9b9a445f2bf6eac78e67e8e433b329ac3ac951 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Thu, 1 Jul 2021 11:01:21 -0400
Subject: [PATCH 20/21] Update vs pages to address PR comments
---
website/intro/vs/boto.html.markdown | 2 +-
website/intro/vs/chef-puppet.html.markdown | 2 +-
website/intro/vs/cloudformation.html.markdown | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/website/intro/vs/boto.html.markdown b/website/intro/vs/boto.html.markdown
index dd94e2020..524893fef 100644
--- a/website/intro/vs/boto.html.markdown
+++ b/website/intro/vs/boto.html.markdown
@@ -3,7 +3,7 @@ layout: "intro"
page_title: "Terraform vs. Boto, Fog, etc."
sidebar_current: "vs-other-boto"
description: |-
- How Terraform compares to cloud provider client libraries.
+ How Terraform compares to cloud provider client libraries like Boto and Fog.
---
# Terraform vs. Boto, Fog, etc.
diff --git a/website/intro/vs/chef-puppet.html.markdown b/website/intro/vs/chef-puppet.html.markdown
index 644747b49..128ceac47 100644
--- a/website/intro/vs/chef-puppet.html.markdown
+++ b/website/intro/vs/chef-puppet.html.markdown
@@ -3,7 +3,7 @@ layout: "intro"
page_title: "Terraform vs. Chef, Puppet, etc."
sidebar_current: "vs-other-chef"
description: |-
- How Terraform compares to configuration management tools.
+ How Terraform compares to configuration management tools like Chef and Puppet.
---
# Terraform vs. Chef, Puppet, etc.
diff --git a/website/intro/vs/cloudformation.html.markdown b/website/intro/vs/cloudformation.html.markdown
index d41a6820f..63d3cfe4c 100644
--- a/website/intro/vs/cloudformation.html.markdown
+++ b/website/intro/vs/cloudformation.html.markdown
@@ -3,7 +3,7 @@ layout: "intro"
page_title: "Terraform vs. CloudFormation, Heat, etc."
sidebar_current: "vs-other-cloudformation"
description: |-
- How Terraform compares to other infrastructure as code tools.
+ How Terraform compares to other infrastructure as code tools like CloudFormation and Heat. One advantage is that Terraform can simultaneously manage multiple cloud providers (AWS, OpenStack, etc.) and services (Cloudflare, DNSimple, etc.).
---
# Terraform vs. CloudFormation, Heat, etc.
From e6f1255869fa1c2d1afa93f946536c42878a5735 Mon Sep 17 00:00:00 2001
From: Laura Pacilio <83350965+laurapacilio@users.noreply.github.com>
Date: Thu, 1 Jul 2021 11:07:23 -0400
Subject: [PATCH 21/21] Update vs Cloudformation description
---
website/intro/vs/cloudformation.html.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/website/intro/vs/cloudformation.html.markdown b/website/intro/vs/cloudformation.html.markdown
index 63d3cfe4c..def42de5b 100644
--- a/website/intro/vs/cloudformation.html.markdown
+++ b/website/intro/vs/cloudformation.html.markdown
@@ -3,7 +3,7 @@ layout: "intro"
page_title: "Terraform vs. CloudFormation, Heat, etc."
sidebar_current: "vs-other-cloudformation"
description: |-
- How Terraform compares to other infrastructure as code tools like CloudFormation and Heat. One advantage is that Terraform can simultaneously manage multiple cloud providers (AWS, OpenStack, etc.) and services (Cloudflare, DNSimple, etc.).
+ How Terraform compares to other infrastructure as code tools like CloudFormation and Heat. Terraform can simultaneously manage multiple cloud providers (AWS, OpenStack, etc.) and services (Cloudflare, DNSimple, etc.).
---
# Terraform vs. CloudFormation, Heat, etc.