4 ms·
> Makerops.com will help you or your team, decide whether puppet or chef is the right path for you. The deployment for an app I have involves building EC2 mach
by bad_user 13y ago
> Makerops.com will help you or your team, decide whether puppet or chef is the right path for you.
The deployment for an app I have involves building EC2 machines from scratch by means of a Fabric script, which is doing nothing more than connect to an EC2 instance through SSH and then invoke shell commands, like installing packages through "apt-get install", cloning the Git repo, compiling the project and copying configuration files.
This Fabric script is invoked by a Ruby script I wrote, that's using the AWS command-line tools under the hood, first creating an EC2 machine, then running the Fabric script on it, then creating an AMI (image) out of that machine.
Another Ruby script I have, also using the command line AWS tools, is creating auto-scaling groups out of prepared AMI images, properly configured, with auto-scaling policies based on latency, attaching those auto-scaling groups to our ELB load balancer.
This workflow of first creating an AMI image seems like overkill, however I like immutable snapshots of deployments, such that (a) we can run different versions in parallel to test new versions on only a small percentage of traffic and (b) in case shit happens, we can instantly revert to an older snapshot that is known to work (and problems can happen not only when you're breaking things in your code-base, but also when you install different versions of software packages or with faulty system-wide configuration files, so having a snapshot of the whole system is useful).
For me the question of Puppet or Chef has been neither. Both are way too complicated and problematic for what I wanted to do. I'm a developer and I solved my deployment needs by writing a bunch of scripts.
- makerops 13y agoThis is an awesome point, and I need to change the copy; the site won't teach just puppet/chef, even though that is my specialty, there is a lot of room between going full fledged with a config stack, and writing some thing in between. It will be down the road, but these topics are something, I'll also be pursuing. Especially how to take a vagrant instance to the cloud, that is a workflow I really like.