What is Fabric?
What is Puppet Labs?
Want advice about which of these to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Fabric?
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
For automating deployment or system admin tasks, Shell/Perl are more than enough. Specially Perl one liners, that I use heavily, even to make changes in xml files. But quite often the need is to just check the state of system and run scripts without fear. Thats where I actually needed some scripting language with "state mechanism" associated with it. Salt provided me above similar kind of experience. I tested salt first on a small scenario. Installation of 60 RPMS on a machine. I was pleased that I could achieve that in around 25 lines of code using salt. And eventually I was also able to keep data and code separate. This was another plus point. henceforth I was able to use salt to deploy a large potion Datacenter (apps deployment). I am still working towards orchestration and finding it quite promising. The use of pure python whenever needed to deal with more complex scenario is awesome.
I'm using puppet to configure my servers. This makes it really simple to ensure that I have the same environment. There is a bit of a learning curve, but the repeatability definitely makes it worth the effort. I found puppet to be a little easier to pick up relative to chef, but I've used both. They're both great solutions.
I really like that there are a lot of modules available on the puppet forge that are being actively maintained.
We provision all servers with puppet. We have one central Puppet server which uses puppet modules referenced by a Puppetfile. Those puppet modules are partly from forge and partly self written.
All modules which are self written, have to be tested using rspec-puppet and beaker.
When it comes to provisioning tens to hundreds of servers, you need a tool that can handle the load, as well as being extremely customisable. Fortunately, Salt has held that gauntlet for us consistently through any kind of issue you can throw at it.
We use Fabric for automating deployment and maintenance tasks: bootstrapping and updating application servers (using the "rolling update" pattern), pulling logs from the servers, running manage.py maintenance commands.
We've built something using SaltStack and Debian Linux to help us deploy and administer at scale the servers we provide for our part- and fully-managed hosting customers.
Automate everything! I have fabfiles for testing, bootstrapping, deployment, and building. Easy to customize and its pure python.
Opstax uses puppet for role/profile based configuration management and the distribution of small/static code.
Configures or servers and allows us to be region independent we have 5 regions across the globe.