First BayArea Ansible Meetup

tldr; talks:

Videos should be posted at some point...

There were some good questions, one of which was how does Ansible scale up to large numbers of nodes. Specifically, this individual was concerned about managing large inventories and lots of nodes. Our deployments are not 'twitter-scale', so I couldn't really comment. However, I pointed out some talks by Jesse Keating about how Rackspace was scaling Ansible to large deployments.

Here are the slides from his two talks last year:

Summary

Tonight was the first ever Bay Area Ansible meetup. There were about 20-30 people in attendance, which isn't too shabby for a first event in the Palo Alto area.

Jaime Gago started the meetup with help from Ansible and Rackspace. Hopefully we'll have more of these events in the coming months. From my experience with BayNode, the hardest thing is finding people willing to speak. EVERYONE CAN BE A SPEAKER. There are always people of all abilities at Meetups, and if you've recently learned something, you may even have a better way of explaining it to another newbie. Experts tend to take for granted the knowledge they've gathered over the years which can make them suboptimal teachers.

Survey Monkey was kind enough to host from their brand-spanking new office in downtown Palo Alto (thank goodness it's done -- construction messed up my commute). Rackspace/Ansible provided (non-pizza!) food and beverages, so a big thank-you to them!

Jaime put me first on the speaker list, so I tried to cover some basics of Ansible before diving into using dynamic inventories with Digitial Ocean. I'll be doing a revised version of this talk next week at BayNode where I'll be focusing more on the NodeJS deployment nuances.

It was good to meet more of the Rackspace developer relations group (They're the folks who fight for the little guy like me - also they launched Rackspace's new Developer Site). I got to meet Shaunak Kashyap who spoke after me as well as Dana Bauer who was lurking in the back of the room.

Shaunak covered using the Rackspace Ansible module to deploy Servers and Loadbalancers to the Rackspace public cloud infrastructure. He ran live code (so brave!) to deploy two php/nginx application nodes as well as a Rackspace loadbalancer. We use something similar in our staging/production environments so it was good to see that we're using the same 'best practices' Rackspace is using.

Finally, Jaime covered his experiences using Ansible with AWS for a Virtual Private Cloud migration.

Good question: can you use Ansible tags as a means of a protection scheme to NOT run a task unless a given tag is provided.
Answer (paraphrased from Ansible's Tim Gerla)
Tags can't be used that way now. Recommendation is to use a conditional variable (aka: pleasereallydeletethishost) that's defined at the command line. Also could use the prompt module to ask the user to confirm they want the task to run.

The rest of this post are nuggets of information that I wanted to save for my own use down the road.

Automating your entire infrastructure is scary

I'll change just this one thing

Image from http://devopsreactions.tumblr.com/post/84505783088/ill-just-change-this-one-line

Jaime talked about some good safeguards to make sure your test/dev playbooks don't hit production:

  • Test AWS account + S3 pre-task (check correct file is in a s3 bucket)
  • '--check --diff' - Show the differences between current config and new config (and don't actually make changes)
  • '--list-taks --tags' - Limit the tasks that get run by using Ansible tags

Ross Kukulinski

My name is Ross. I teach the world Kubernetes and Nodejs through consulting, conference speaking, and training courses.

Philadelphia, PA