it_user538251 - PeerSpot reviewer
Senior Full Stack Web Developer at a healthcare company with 1,001-5,000 employees
Vendor
We have moved from managing a handful of individual servers to being able to manage large scale collections.

What is most valuable?

States, pillars, and custom modules have all taken us a long way in achieving our goals. There is great depth to it and we're looking forward to exploring all of its features.

How has it helped my organization?

We are moving from managing a handful of individual servers to being able to manage large scale collections. If we need to fit a particular use case, SaltStack makes it very easy to provision a new cloud instance quickly and almost effortlessly.

What needs improvement?

There are a number of bugs and regression errors that can make it frustrating at times, but given the flexibility so far I have found adequate workarounds.

The GITFS is flawed and requires a lot more work. We were able to construct our own workaround with local clones of all git repositories that are refreshed whenever a new commit or merge is made. GITFS is a feature in SaltStack which allows the salt-master to directly interact with git repositories. In theory, this is an incredibly efficient and useful capability. However, when implemented, we found server processes and load would escalate out of control whenever anyone made a git commit to the GITFS repositories. We were using v2015.8.5 at the time.

After researching the problem with the SaltStack community, we learned that there were multiple problems in the implementation of GITFS and what we witnessed was experienced by other users. Several SaltStack users recommended not using GITFS. As a workaround, I set up our salt-master with its own local copy of all of our git repositories and made use of the salt event reactor feature. When a git commit is made on our git server, a git hook triggers a salt event. Salt-master reacts to the salt event by performing a pull on its local repository copy. Its not as slick as the intended design of GITFS, but it works very well and has proven quite stable, completely eliminating the problems we experienced with GITFS.

At some point in the future we will revisit the GITFS feature, but for now we are satisfied with the current solution.

For how long have I used the solution?

I have been using the solution for six months.

Buyer's Guide
SaltStack
March 2024
Learn what your peers think about SaltStack. Get advice and tips from experienced pros sharing their opinions. Updated: March 2024.
768,886 professionals have used our research since 2012.

What do I think about the stability of the solution?

We have encountered quite a few stability issues with the GITFS option, but its been quite stable since we switched to our workaround solution.

What do I think about the scalability of the solution?

We have not yet encountered any scalability issues.

How are customer service and support?

This is an open source tool so we find out about fixes, patches, and other solutions through the online community and other online resources, such as Stack Overflow.

Which solution did I use previously and why did I switch?

We did not have a previous solution as we are new to using DevOps management tools, but we researched others before we decided on SaltStack as our tool of choice.

How was the initial setup?

Initial setup seemed so easy, but there is an art to designing pillars, writing state files, and other customizable structures.

What's my experience with pricing, setup cost, and licensing?

This is an open source solution, but there is a paid enterprise option. If you plan to pursue the enterprise solution route, contact SaltStack for details. The open source option is very approachable.

Which other solutions did I evaluate?

We evaluated Puppet, Chef, and Ansible.

What other advice do I have?

If you are planning to use the open source version, plan to allocate more project time than you think you need. However, once it's in place it will save you a great deal of effort.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user514326 - PeerSpot reviewer
Senior Information Technology Specialist at a tech company with 51-200 employees
Vendor
Deploying new Linux-based ERP servers is now automated, using the same template and standard.

What is most valuable?

Remote code execution is the most valuable feature; also some of the configuration automation and the automated deployment possibilities it gives us.

How has it helped my organization?

We can now deploy a new (Linux-based) ERP server in 15 minutes; automated, all using the same template and standard. Before this, would take us two hours following a documented procedure.

What needs improvement?

Overall, the documentation is good but improvements can be made in documenting "real world" examples and practical usage. How to's and "best practices" that go a bit further would be really helpful to make sure you're using the product the best possible way. It's more like… how to "manage" all the configuration you use. Not only at a plain technical level but also at a higher level. Having an overview and managing all this is a bit difficult in the beginning.

It basically comes down to "orchestration"; there is some room for improvement in that.

The more you are experienced with this software, the easier it gets. But it's difficult getting up to speed without having these "real world" examples on managing your own SaltStack infrastructure. Experienced people that can showcase and share their use would help a lot in my opinion.

Some developers and employees are active in the public chat channel.

For how long have I used the solution?

I have used it for two years.

What do I think about the stability of the solution?

I have not encountered any stability issues. Just take care when upgrading. Read the release notes and test.

What do I think about the scalability of the solution?

I have not encountered any scalability issues yet.

How are customer service and technical support?

Technical support for open source software = IRC, mailing list; very good community.

Which solution did I use previously and why did I switch?

I did not previously use a different solution.

How was the initial setup?

Initial (basic) setup is easy when you follow the docs.

Which other solutions did I evaluate?

Before choosing this product, we evaluated Chef, Puppet, and Ansible. We found Salt to be closer to us on features and mindset.

What other advice do I have?

Try it out; it won't cost you anything but some time.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Buyer's Guide
SaltStack
March 2024
Learn what your peers think about SaltStack. Get advice and tips from experienced pros sharing their opinions. Updated: March 2024.
768,886 professionals have used our research since 2012.
it_user674058 - PeerSpot reviewer
Sr Engineer/Team Lead at a tech services company with 51-200 employees
Real User
Serves to automate state, execution, and remediation.
Pros and Cons
  • "I want to build automation that is intelligent, part of the fabric of our environment, and is somewhat self-sustaining. I think SaltStack can help me do this."
  • "Web UI."

What is most valuable?

  • Bulk/Remote execution
  • Event/Reactor system
  • Configuration Management

These features serve as the most critical pieces for automating anything, not just state, but also execution and remediation.

I don’t want to build automation that just does a thing or two. I want to build automation that is intelligent, part of the fabric of our environment, and is somewhat self-sustaining. I think SaltStack can help me do this.

How has it helped my organization?

SaltStack provides the capability necessary to truly streamline our SDLC and environment management. From a high level, it allows coders to code, testers to test (automated testing too), and admins to admin in the most inter-connected and effective way possible.

What needs improvement?

  • Web UI
  • Maintenance of their code

For how long have I used the solution?

We have been using this for three years.

What do I think about the stability of the solution?

There are some issues here and there, such as nuances with Windows and minions ‘falling asleep’, but its manageable.

What do I think about the scalability of the solution?

I did not encounter any issues with scalability.

How are customer service and technical support?

I would give technical support a rating of 8/10.

Which solution did I use previously and why did I switch?

I was using more of a Frankenstein automation solution previously, and the reason for switching was the capability of SaltStack, performance, and ramp up time (ease of use).

How was the initial setup?

The setup was pretty straightforward. It took some time getting familiar with all the configuration options and playing around with pillars and grains. On the whole, it was relatively easy to get going.

What's my experience with pricing, setup cost, and licensing?

I think they are going to have a tough time with the Enterprise licensing. So much can be done with the Open Source side, and especially for smaller shops. I personally think the pricing for Enterprise is hard to justify.

Which other solutions did I evaluate?

We looked at Chef, Ansible, and Puppet.

What other advice do I have?

Do it and take full advantage of its capability. Be creative and automate everything you can with it.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user538242 - PeerSpot reviewer
Freelance at a tech consulting company with 51-200 employees
Consultant
In liaison with OpenStack, orchestration for Linux machines is valuable. Hands down, the main thing for improvement is Windows orchestration.

What is most valuable?

Configuration management: We were using SaltStack for orchestration in liaison with OpenStack. It was good for Linux machines, but the Windows experience was fragile.

How has it helped my organization?

They put in a few patches for Windows machine orchestration, but the experience was still painful.

What needs improvement?

Hands down, the main thing for improvement is Windows orchestration. Repo is very limited and multiple issues occur when installing vendor products.

Other areas would be to build test cases, with ease, for states. I haven’t found one. SaltStack had a focus only on Linux from the very beginning. Windows has always been a sore point. The repo for Windows was very inadequate and if I am right, I heard a SaltStack guy himself say that he is not very fond of Windows orchestration.

Another area of improvement is stability. Vendor products that required multiple customization had many handicaps, such as lack of LDAP or Active Directory support and, biggest of all, inadequate repo for Windows states.

For how long have I used the solution?

We have used this solution for almost two years.

What do I think about the stability of the solution?

There were lots of stability issues, and we did hire a consultant from SaltStack.

What do I think about the scalability of the solution?

We did have to upgrade the infra running salt-master quite frequently.

How was the initial setup?

The setup was complex. The salt-master topography was master-minion, but then expanded to syndic, then back to master-minion. We did have to juggle, but that may be the shifting overall cloud architecture. It looked more like a chicken-egg problem, but we did have to revise the Salt architecture frequently.

Which other solutions did I evaluate?

I was not in the decision-making process, but I was told they evaluated Ansible. I am not sure the degree of depth in which it was evaluated.

What other advice do I have?

Stay away from Windows orchestration. Have an alternative for orchestrating Windows machines. Think about how to prepare test cases when things change. The breaks spread like wildfire.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user519393 - PeerSpot reviewer
Release Engineer at a computer software company with 501-1,000 employees
Vendor
I like knowing what state my machines are in, and being able to change their state all at once.

What is most valuable?

I like knowing what state my machines are in, and I like being able to change their state all at once.

How has it helped my organization?

Some of what we do, we could not do without SaltStack.

What needs improvement?

Sometimes it feels like there are more moving parts than is necessary, and maybe something simpler would do.

For how long have I used the solution?

I have used it for two years.

What do I think about the stability of the solution?

As long as the versions matched, we have not encountered any horrible stability issues so far. :)

What do I think about the scalability of the solution?

The opposite: It does better with more nodes than it does with fewer, in my opinion.

How are customer service and technical support?

The docs, though sometimes cryptic, are excellent and thorough. I haven't personally used their technical support services.

Which solution did I use previously and why did I switch?

I previously used Puppet. I switched because our shop here likes using Python solutions over Ruby ones.

How was the initial setup?

Initial setup was more complicated than Puppet, but the solution was also more comprehensive. Setup was worth the trouble.

What's my experience with pricing, setup cost, and licensing?

SaltStack is completely open source, though you might consider SaltStack Enterprise as a way to get up and running more quickly.

Which other solutions did I evaluate?

Before choosing this product, Ansible and Puppet were brought up. Ansible seemed too small of a tool for what we needed and Puppet was written in Ruby, so they were discounted.

What other advice do I have?

Thoroughly research how SaltStack works; that knowledge has helped me a lot.
SaltStack is a one-stop-shop for your datacenter's management, monitoring and state control needs. Using it that way allows you to get the most out of the tool. It is configuration management, but also orchestration, monitoring, and has reactive capabilities.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user326337 - PeerSpot reviewer
it_user326337Customer Success Manager at PeerSpot
Consultant

Hi Daniel,

I enjoyed your feedback about the Remote Execution features in SaltStack.

I think you will find this review interesting as it elaborates on the advantage of the Remote Execution feature that you've pointed out;

www.itcentralstation.com

Would love to know your added feedback on the topic

it_user519714 - PeerSpot reviewer
Lead Devops at a tech services company with 501-1,000 employees
Consultant
Remote execution can generate traffic. It was up and running in minutes.

What is most valuable?

Remote execution in itself is a big time saver at any scale.

For example, a particular incident happened at one of my previous organizations. We had to do a PoC on a lot of servers, where traffic was to be generated from a few hundred machines (something like 'bees with machine guns') and would allow us to benchmark one of internal components.

So, before we began working on it, I suggest the use of SaltStack because of its remote execution. They could easily start generating traffic from a few or all these servers and then get a good feel of a Flash Sale in Ecommerce.

Eventually, one of my colleagues was assigned this task and he used SaltStack. He liked the way SaltStack (on the entire cluster) was up and running in a few minutes, and also gave him flexibility to generate traffic, make config changes, etc. on the fly.

How has it helped my organization?

Currently, most of our configuration is in SaltStack, so scaling up when necessary with or without Salt Cloud would be real easy.

Traditionally, the team here expects the use of Golden AMIs for scaling up the infra, which, though useful, has its limitations:

  • Security updates to the OS are the biggest concern.
  • Non-standard configuration on one server would also cause some serious issues if its AMI is used by mistake in scaling up.

If, instead, we push configuration to new servers during scaling up, then we fix those issues.

And, I was also considering the fact SaltStack gives near flat-line performance (for both remote execution and pushing changes through states), whether the infra size is 10 servers or if it has grown beyond a few hundred. So, that is at least one area that we need not be worried about.

The configuration management is at least one aspect that would take care of itself (not considering redundancies, reporting, etc. required for SaltStack here at the moment).

What needs improvement?

Personally, I feel that SaltStack has many renderers, but the documentation was a bit lacking (in particular, for Py it was close to nothing) when I was studying it up a few months back.

Salt supports multiple renderers Py, PyObjects, etc. (https://docs.saltstack.com/en/latest/ref/renderers/index.html#multiple-renderers). These allow users to write states in JSON, Mako, MsgPack, etc. Py renderer allows us to write states in Pure Python.

I had many scenarios where SaltStack didn't have enough functionality at the time (it has been added in recent releases). For instance, I was trying to add an instance into ELB as the last step of orchestration. But, Salt didn't have anything to support it. So, instead I went ahead and wrote a small state in Py renderer.

There are also cases where Jinja + YML is not enough and to DRY up the states, one has to use either the Py or PyObjects renderer. I prefer Python, as you then don't have to look up the syntax of a particular renderer and a simple Python script would suffice. The catch here is that Salt expects output in a particular format and initializes its internal variables in a specific format, too.

I spent most of my time figuring out how to make this Python script work with SaltStack. Any such functionality that’s missing from SaltStack can be easily implemented using the Python (Py) renderer. So, if the documentation around renderers is improved, it will help anyone with a very specific use case.

For how long have I used the solution?

I have used it continuously for the last year, and sporadically for the last three years.

What do I think about the stability of the solution?

Sometimes, salt-minions do start consuming very high memory, but I've generally seen this to last just a few moments or at most a minute. On a production system, this might cause an impact on serious loads.

What do I think about the scalability of the solution?

Additionally, if many of the servers in infra are down, and you bring all of them up simultaneously, it used to bring down salt-master. This happened until last year, when I was working at scale. Since then, I have switched from that job; it’s difficult to test this pain point now.

How are customer service and technical support?

I haven't tried technical support.

Which solution did I use previously and why did I switch?

I did not previously use a different solution.

How was the initial setup?

Learning SaltStack did seem a bit daunting at the moment I was learning it. The concept of creating a top.sls with references to various states and their targets, then creating corresponding files in YML, took a day or two; beyond that, it was real easy.

What's my experience with pricing, setup cost, and licensing?

If someone is using it for an infra consisting of a 1000 servers or more, then support would be real useful. Others can go through the documentation and learn from forums or SO posts.

Which other solutions did I evaluate?

I tested Puppet and Chef, but could never get around to using them in production or at work.

Salt was more of a Swiss Army knife. And our work at the time was more focused on rapid manual changes.

What other advice do I have?

Create valid states for all environments and keep the difference between these environments minimal. Use test cases as much as possible.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
it_user516060 - PeerSpot reviewer
Principal Architect at a financial services firm with 501-1,000 employees
Vendor
Salt Formulas help to get the configuration needed to install any new package.

What is most valuable?

The Salt Formulas are very, very helpful, as they help to get the configuration needed to install any new package and configuring the same; very, very simple and easy.

How has it helped my organization?

We have scaled from two servers to about 140 servers in a very short period of time. This would have been a nightmare had it not been for the SaltStack configurations.

What needs improvement?

I think debugging can be improved. In case of errors, the devOps team finds it difficult to read the Python stack traces at times.

Although the Salt Formulas have matured recently, they still have some glitches. They are open-source contributions. Every Salt Formula has two parts: 1) pillar data and 2) Salt configuration. Both have to go hand in hand.

Sometimes the Salt configuration was found to have a few bugs that do not align with the pillar data. The stack traces thrown do not help much and require a bit of experience to deal with those situations. We end up correcting either the pillar data or the Salt configuration.

This is by no means an issue with the SaltStack software. Since it’s written in Python, the stack trace thrown for any error needs some level of expertise to deal with.

One example we found was that one of the Salt Formulas was using a Salt module in a particular version. Upon upgrade, the Salt module was no longer part of the default package. It took my team some time to realize what had happened, because the Python stack trace was not pointing to the exact problem in hand but would point to a random Salt configuration location.

For how long have I used the solution?

I have been using this solution for more than two years now.

What do I think about the stability of the solution?

I have not encountered any stability issues.

What do I think about the scalability of the solution?

I have not encountered any scalability issues.

How are customer service and technical support?

We did not use technical support. As it was open sourced, we developed the required technical support in-house.

Which solution did I use previously and why did I switch?

We were not using any other solution for our configuration management.

How was the initial setup?

The initial ramp-up period to understand the concepts took time. Post that, it’s a very easy-to-use solution, especially after the Salt Formulas have matured.

What's my experience with pricing, setup cost, and licensing?

Its open-sourced, so we do not use licencing, and its free to use.

Which other solutions did I evaluate?

We evaluated Puppet and Chef before deciding on SaltStack.

What other advice do I have?

Ansible and SaltStack are very good solutions. I prefer SaltStack as its been developed from the ground up and is a lot better than Puppet and Chef.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
PeerSpot user
IT Support at a tech vendor with 51-200 employees
Vendor
The initial learning curve is low. I had a working configuration building fairly complex proprietary Internet servers within a couple of months.

What is most valuable?

The initial learning curve is low. I had a working configuration building fairly complex proprietary Internet servers within a couple of months, well before the rest of our server team was ready for production builds.

The developers are very quick to respond to reported issues and offer advice to deal with them (or correct something you are not using well). The couple of times I had to deal with them were actually very pleasant.

The relationship between the state files and the actual filesystem being served by the master is as simple and elegant as the way *NIXes treat everything as a file.

The execution capability both in a shell on the Salt master and using cmd.script within state files allows even a novice to make things happen the way they want until they learn to use all of the available modules the right way. This, for me, was part of getting up and running fast. This reduced the learning curve for me tremendously, as I got my initial server build framework running. I have been able to continue refining the system in stages since then and it is easy because of the relationship between the state files and the files they serve.

How has it helped my organization?

We have developed a complete, multi-tiered, stable build system for our Internet servers with SaltStackas the base of the build system. It is stable and easy to modify as we grow and change our needs.

What needs improvement?

We currently use the Salt Cloud module for integration with Amazon Web Services, but I would like to see more integration with AWS, specifically an ability to stably control an ever-expanding and contracting cloud of EC2 instances in a sane fashion.

SaltStack has many community-maintained modules available. One of the modules is called EC2 Autoscale Reactor and it's function (alongside the Salt Cloud module) is to control an autoscaling group's instances as they are added and removed. I found this module difficult to configure and unreliable, as far as getting and maintaining control of new instances as they were created by the autoscaling group. In fact, the developers even labeled it "experimental." I would like to be able to reliably control all instances in an expanding and contracting autoscaling group without manual intervention.

For the record, our cloud has moved away from needing this as a requirement. We use SaltStack and Salt Cloud strictly as a build management system and have moved towards our Internet servers being strictly "hands-off," except for developer instances. I want this feature as an improvement because the ability to manage a dynamic cloud of Internet servers adds a lot of power to SaltStack and to me.

For how long have I used the solution?

I have been using it for 1.5 - 2 years.

What was my experience with deployment of the solution?

I mentioned the initial learning curve elsewhere in this review. Of course I encountered issues with deployment of SaltStack. I had never used an infrastructure management system prior to this, so the concepts were a bit foreign. I put in a ticket or two as I initially learned to get the system running. I found that across Linux systems, there were sometimes version differences in the repositories and began building a specific Git revision of SaltStack on all systems as a result.

What do I think about the stability of the solution?

The only stability issue I encountered in almost two years of use had to do with a different version of SaltStack being served on the repositories for an Ubuntu Salt Master and Amazon Linux minions. I have since migrated to using all Amazon Linux instances for everything and always building the same Git revision on all instances and have never had a bit of instability in the SaltStack system since then.

What do I think about the scalability of the solution?

I have encountered no scalability issues with SaltStack. In fact, I haven't stretched the system very far, but because it supports multiple masters, Syndic, and minions as "runners", the scalability and high availability looks to be amazing.

How are customer service and technical support?

Customer Service:

A+ for the little time I have spent dealing with support. They were quick to respond and the technical expertise was fantastic.

Technical Support:

A+ because the developers are directly involved in the support.

Which solution did I use previously and why did I switch?

SaltStack was my first choice because it is open source and was reviewed extensively as a good choice because of the low learning curve.

How was the initial setup?

The hardest parts of initial setup for me were learning some of the intricacies of YAML and Jinja, and figuring out the moving parts on the master so I could get the system to reliably create the minions I wanted. Later, learning to configure Salt-cloud was a bit tough because of the configuration files required to work with resources on Amazon Web Services. None of these issues were "showstoppers", though, as the amount of online documentation and configuration examples for other users is excellent.

What about the implementation team?

An in-house team implemented it.

What was our ROI?

The only calculation I can make on ROI is the countless hours I have NOT spent configuring and deploying servers. I now issue a few commands on the Salt Master as my build server, and the servers are built, Amazon Machine Images are created, and they are blue-green deployed. All I have to do is check the various stages for completion and occasionally check build logs for errors and make corrections. I have a lot more time to focus on the rest of DevOps.

What's my experience with pricing, setup cost, and licensing?

As a small start-up, we have not gone to a licensed model yet.

Which other solutions did I evaluate?

The only evaluation I did was to spend lots of time reading reviews and asking questions of people I know who are already using configuration management and execution tools. SaltStack was my first choice.

What other advice do I have?

I spent my time learning Saltstack through trial and error, researching the online document system as needed. If you decide to use SaltStack, buy the O'Reilly book called Salt Essentials first. It is not very big, but it explains the concepts required to get a working system very well. I think if I had gotten the book first, I would have cut my initial time spent learning in half.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Buyer's Guide
Download our free SaltStack Report and get advice and tips from experienced pros sharing their opinions.
Updated: March 2024
Buyer's Guide
Download our free SaltStack Report and get advice and tips from experienced pros sharing their opinions.