HashiCorp Packer automates the creation of machine images, coming out of the box with support to build images for Amazon EC2, CloudStack, DigitalOcean, Docker, Google Compute Engine, Microsoft Azure, QEMU, VirtualBox, and VMware.
N/A
Salt
Score 6.2 out of 10
N/A
Built on Python, Salt is an event-driven automation tool and framework to deploy, configure, and manage complex IT systems. Salt is used to automate common infrastructure administration tasks and ensure that all the components of infrastructure are operating in a consistent desired state.
There are lot of tools in market which does the job for Image creation but all of them are not complete Machine/Image as a code. All other alternatives can create Image partially.
SaltStack is a newer product, so it learned some of the mistakes that Puppet made. It truly is a system that can respond to events as well as configure systems.
SaltStack beats all of the tools above since it is a "6-in-one" solution: Config Management, Orchestration, Automation, parallel sys administration, remote execution and cloud management.
The other solutions only solve one or two problems.
Systems Administrator, Deployment Specialist Consultant
Chose Salt
I've used shell scripts over ssh, custom in-house deployment tools, Chef, and SaltStack. I've evaluated Ansible, but I was never happy with performance over SSH. Chef's loose configuration data model and lack of philosophy and conventions around use makes it difficult for a …
Chef and Puppet both require writing code, which I view as excessively involved for the task at hand. I have only needed to write pure python for a handful of Saltstack use cases - everything else has been configuration files.
Ansible, while elegant and simple, simply does not …
We moved to SaltStack from Puppet about 3 years ago. Puppet just has too much of a learning curve and we inherited it from an old IT regime. We wanted something we could start fresh with. Our team has never looked back. SaltStack is so much easier for us to use and maintain.
I looked at Chef and Ansible but it was a long time ago and I don't remember the pros and cons compared to SaltStack. When I arrived at my company, Saltstack was already used in production so there has been no discussion about other deployment and automation solutions
We use packer to generate new machine images for multiple platforms on every change to our Configuration Management tools like Chef/Puppet/Ansible It's act single tool for Image building for Multi-provider like AWS/Azure/GCP Helps to achieve Dev/Prod Parity Packer itself doesn't have a state like Terraform. You can't do packer output AMI ID. If you have a scenario where you want to maintain the state for images it would be tough to manage via Packer.
Managing heterogeneous environments of large numbers of nodes, especially nodes which may need sudden changes (security updates, for instance), or frequent replacement, is a strength for Saltstack. Simplicity is not a strength for Saltstack. In a homogenous environment (all CentOS 7, for example, with no Debian or Windows) I might recommend using Ansible instead - it is less flexible and granular, but simpler to configure.
A superb remote execution framework! SaltStack allows us to easily program numerous functions on top of it. For example, we developed a fast parallel asynchronous deployment tool that handles all software deployment, including interdependent service management.
Configuration management is now easy. We take advantage of this to automate (in tandem with AWS tools) the stand-up of all servers and services. It is also relatively easy to create new configuration management states for software not yet supported by the community (e.g. Grafana).
Flexibility. Numerous small utilities have been built which simply wrap around SaltStack to allow tedious tasks to become easy.
We haven't had to spend a lot of time talking to support, and we've only had one issue, which, when dealing with other vendors is actually not that bad of an experience.
There are lot of tools in market which does the job for Image creation but all of them are not complete Machine/Image as a code. All other alternatives can create Image partially. Main reason for selecting Packer are Packer is lightweight, portable, and command-line driven Packer helps keep development, staging, and production as similar as possible. Packer automates the creation of any type of machine image Multi-provider portability is the feature to die for
I've used shell scripts over ssh, custom in-house deployment tools, Chef, and SaltStack. I've evaluated Ansible, but I was never happy with performance over SSH. Chef's loose configuration data model and lack of philosophy and conventions around use makes it difficult for a team to share responsibility for configuration code. Needing to use additional tools to do orchestration for cross-host/agent dependency relationships made me look for more. SaltStack, while not as mature when I first tried it, impressed me with its speed and elegant design