Salt vs Terraform: What are the differences?
Salt: Fast, scalable and flexible software for data center automation. Salt is a new approach to infrastructure management. Easy enough to get running in minutes, scalable enough to manage tens of thousands of servers, and fast enough to communicate with them in seconds Salt delivers a dynamic communication bus for infrastructures that can be used for orchestration, remote execution, configuration management and much more.; Terraform: 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.
Salt belongs to "Server Configuration and Automation" category of the tech stack, while Terraform can be primarily classified under "Infrastructure Build Tools".
Some of the features offered by Salt are:
- Remote execution is the core function of Salt. Running pre-defined or arbitrary commands on remote hosts.
- Salt modules are the core of remote execution. They provide functionality such as installing packages, restarting a service, running a remote command, transferring files, and infinitely more
- Building on the remote execution core is a robust and flexible configuration management framework. Execution happens on the minions allowing effortless, simultaneous configuration of tens of thousands of hosts.
On the other hand, Terraform provides the following key features:
- 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.
"Flexible" is the primary reason why developers consider Salt over the competitors, whereas "Infrastructure as code" was stated as the key factor in picking Terraform.
Salt and Terraform are both open source tools. It seems that Terraform with 17.4K GitHub stars and 4.77K forks on GitHub has more adoption than Salt with 10K GitHub stars and 4.58K GitHub forks.
Instacart, Slack, and Twitch are some of the popular companies that use Terraform, whereas Salt is used by Lyft, Hulu, and Webedia. Terraform has a broader approval, being mentioned in 490 company stacks & 298 developers stacks; compared to Salt, which is listed in 108 company stacks and 19 developer stacks.
Sign up to add or upvote prosMake informed product decisions
Sign up to add or upvote consMake informed product decisions
What is Salt?
What is Terraform?
Need advice about which tool to choose?Ask the StackShare community!
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