terraform/website/source/intro/vs/custom.html.markdown

1.7 KiB

layout page_title sidebar_current
intro Terraform vs. Custom Solutions vs-other-custom

Terraform vs. Custom Solutions

Most organizations start by manually managing infrastructure though simple scripts or web based interfaces. As the infrastructure grows, any manual approach to management becomes both error prone and tedious. As a result, many organizations begin to home-roll tooling to help automate the mechanical processes involved.

These tools require time and resources to build and maintain. As tools of necessity, they represent the minimum viable features needed by an organization, being built to handling only the immediate needs. As a result they are often hard to extend and difficult to maintain. Because the tooling must be updated in lock step with any new features or infrastructure, it becomes the limiting factor for how fast infrastructure can evolve.

Terraform is designed to tackle these challenges. It provides a simple unified syntax, allowing almost any resource to be managed without learning new tooling. By capturing all the resources required, the dependencies between them can be resolved automatically so that operators do not need to remember and reason about them. Removing the burden of building the tool allows operators to focus on their infrastructure and not the tooling.

Additionally, Terraform is an open source tool. In addition to HashiCorp, the community around it helps to extend it's features, 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 re-inventing the wheel between and within organizations. It's open source nature ensures it will be around in the long term.