What is Ansible?
What is Fabric?
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
Ansible is the deployment tool for people who don't like deployment tools. It's close to scripting, doesn't pollute your servers with agents or centralized servers, and just makes immediate sense. The entire stack at Cloudcraft.co is orchestrated by Ansible. What does that mean? Beyond the obvious of installing packages and configuring services, Ansible coordinates all the machines into a working deployment: It adds API servers to the loadbancer pool, opens ports on the DB server for the backend servers to connect, gracefully upgrades services in a rolling fashion for zero-downtime deployments etc. And it's so easy to use, it's easier to use than doing things by hand, meaning it's a deployment tool you'll actually use every time!
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.
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 use Ansible to synchronize the few configuration-options we've taken on our CoreOS-Machines. This makes deployment even easier and the fact that it's Agentless made the decision even easier.
Ansible is used in both the development and production deployment process. A playbook couple with a Vagrantfile, easy deploys a local virtual machine that will mirror the setup in production.
I use Ansible to manage the configuration between all of the different pieces of equipment, and because it's agentless I can even manage things like networking devices all from one repo.
- Configuration management:
- deploy/install all web/app environments
- simple with Galaxy and playbooks.
- No need any pre-installed agent on remote servers.
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.