Overall Satisfaction with Terraform
We use Terraform for our clients to implement Infrastructure as Code. Our clients are typically seeking our services to get up to speed on DevOps strategies and culture. We almost always recommend Terraform for cloud infrastructure orchestration especially since Terraform supports various cloud providers and has rich constructs for modularity and reusability.
- Great implementation of Infrastructure as Code concept.
- Supports various cloud providers, including AWS, Azure and OpenStack
- Encourages good design practices
- Collaboration is made possible by using remote backend to store state files (such as S3)
- Product is still maturing and there are some design limitation
- Refactoring infrastructure code can sometimes become troublesome and unnecessarily require re-creating resources (such as when renaming resources)
- Collaboration requires proper training or could result in dangerous outcome, engineers may easily overwrite remote state file or step on each other's toes. Collaboration process needs some improvement.
- Terraform is open source and free and learning curve is medium. It is an amazing investment overall that leads businesses to have a clean and well-maintained inventory
- Terraform simplifies orchestrating complex infrastructure setups, such as clusters that involve different types of AWS resources can be templated and reused to provision new environments or rebuild existing ones, making the business truly agile.
- Conventions can be enforced be using organization-level modules, such as naming conventions, tagging requirements,..etc
- Cloud Formation
- Terraform syntax is much easier to read and learn than Cloud Formation.
- Terraform already supports AWS as well as several other cloud providers.
- Terraform is backed by a great and supportive open-source community.
- Terraform already supports AWS as well as several other cloud providers.
- Terraform is backed by a great and supportive open-source community.