Terraform vs Yeoman: What are the differences?
Developers describe Terraform as "Describe your complete infrastructure as code and build resources across providers". With Terraform, you describe your complete infrastructure as code, even as it spans multiple service providers. Your servers may come from AWS, your DNS may come from CloudFlare, and your database may come from Heroku. Terraform will build all these resources across all these providers in parallel. On the other hand, Yeoman is detailed as "A set of tools for automating development workflow". Yeoman is a robust and opinionated set of tools, libraries, and a workflow that can help developers quickly build beautiful, compelling web apps. It is comprised of yo - a scaffolding tool using our generator system, grunt - a task runner for your build process and bower for dependency management.
Terraform belongs to "Infrastructure Build Tools" category of the tech stack, while Yeoman can be primarily classified under "Front End Scaffolding Tools".
Some of the features offered by Terraform are:
- 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.
- 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.
- 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.
On the other hand, Yeoman provides the following key features:
- Lightning-fast scaffolding — Easily scaffold new projects with customizable templates (e.g HTML5 Boilerplate, Bootstrap), RequireJS and more.
- Great build process — Not only do you get minification and concatenation
- I also optimize all your image files, HTML, compile your CoffeeScript and Compass files, if you're using AMD, I will pass those modules through r.js so you don't have to.
"Infrastructure as code" is the primary reason why developers consider Terraform over the competitors, whereas "Lightning-fast scaffolding" was stated as the key factor in picking Yeoman.
Terraform and Yeoman are both open source tools. Terraform with 17.4K GitHub stars and 4.77K forks on GitHub appears to be more popular than Yeoman with 9.23K GitHub stars and 759 GitHub forks.
Uber Technologies, DigitalOcean, and 9GAG are some of the popular companies that use Terraform, whereas Yeoman is used by eTobb, Custora, and Webedia. Terraform has a broader approval, being mentioned in 490 company stacks & 298 developers stacks; compared to Yeoman, which is listed in 204 company stacks and 200 developer stacks.