diff --git a/website/source/intro/use-cases.html.markdown b/website/source/intro/use-cases.html.markdown index b3233dd8d..d34edda16 100644 --- a/website/source/intro/use-cases.html.markdown +++ b/website/source/intro/use-cases.html.markdown @@ -19,10 +19,10 @@ 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 +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 without using a web interface in -under 30 seconds. +app. Best of all, Terraform can do all of this in under 30 seconds without +using a web interface. #### Multi-Tier Applications @@ -32,7 +32,7 @@ caching servers, routing meshes, etc. This pattern is used because the tiers can 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 is handled +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 @@ -53,10 +53,10 @@ a tool to manage their services. #### Software Demos -Modern software is increasing networked and distributed. Although there exists -tools like [Vagrant](http://www.vagrantup.com/) to build virtualized environments +Modern software is increasingly networked and distributed. Although tools like +[Vagrant](http://www.vagrantup.com/) exist to build virtualized environments for demos, it is still very challenging to demo software on real infrastructure -which more closely match production environments. +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 @@ -73,7 +73,7 @@ maintain an up-to-date staging environment. Using Terraform, the production environment can be codified and then shared with staging, QA or dev. These configurations can be used to rapidly spin up new -environments to test in, and then easily disposed of. Terraform can help tame +environments to test in, and then be easily disposed of. Terraform can help tame the difficulty of maintaining parallel environments, and makes it practical to elastically create and destroy them. @@ -93,16 +93,16 @@ Terraform](/docs/providers/aws/r/vpc.html). #### Resource Schedulers -In large scale infrastructures, static assignment of applications to machines +In large-scale infrastructures, static assignment of applications to machines becomes increasingly challenging. To solve that problem, there are a number of schedulers like Borg, Mesos, YARN, and Kubernetes. These can be used to dynamically schedule Docker containers, Hadoop, Spark, and many other software tools. Terraform is not limited to physical providers like AWS. Resource schedulers -can be treated as a provider, allowing Terraform to request resources from them. +can be treated as a provider, enabling Terraform to request resources from them. This allows Terraform to be used in layers: to setup the physical infrastructure -running the schedulers as well as onto the scheduled grid. +running the schedulers as well as provisioning onto the scheduled grid. #### Multi-Cloud Deployment @@ -112,8 +112,8 @@ 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, +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. +helping operators build large-scale multi-cloud infrastructures.