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.
What is Terraform?
What is Yeoman?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Terraform?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
Terraform makes it so easy to deploy AWS and Google Cloud services, with the declarative approach avoiding so many headaches of manual work and possible mistakes.
Quick scaffolding of project stacks I'm not that familiar with. Having a nice build system to start with on a new project is worth a lot.
- Infrastructure as Code.
- Central tool to deploy all infratructure: AWS, CloudFlare, StatusCake
Yeoman is used for code generation and automation of the Promethean TV Broadcast Center Tool.
Using Yeoman to generate skeleton projects. No experience with writing custom generators.
Scaffolding the project's file directory as well as the AngularJS boilerplate.
Used for scaffolding all our angular and some of our wordpress projects/demos.
The entire AWS environments is described and setup using Terraform.