Social curation. We take information from places like Twitter, Facebook, Instagram, etc. and allow companies to filter and redisplay it for their purposes. lukesn.me/ansibleconf2014 @lukesneeringer
Everyone's data lived together in the same database. • The scale of social data for non-trivial customers is huge. • ...and a lot of it is garbage, but we can't get rid of it. lukesn.me/ansibleconf2014 @lukesneeringer
than we could handle broke all the things™. • Too many web requests from someone with an active event...broke all the things™. • An effective sales team eventually broke, you guessed it, all the things™. @lukesneeringer lukesn.me/ansibleconf2014
the scalability requirements for our application by orders of magnitude. • It's cheap in hardware, because it brings down the scalability requirements for our application by orders of magnitude. @lukesneeringer lukesn.me/ansibleconf2014
deployment • utility • Slight size differentiation, but that's all. • We'll sell you any color, as long as it's black. @lukesneeringer lukesn.me/ansibleconf2014
a largely single-tenant application. • One example for us: authentication. • This is where Ansible really starts to shine. @lukesneeringer lukesn.me/ansibleconf2014
probably means that you should be writing plugins. • If you don't have any custom Ansible plugins, consider writing some. @lukesneeringer lukesn.me/ansibleconf2014
most of our application is single-tenant. • Solves a business need: one client with more than one instance. • How is this related to server orchestration? @lukesneeringer lukesn.me/ansibleconf2014
internal users. • Internal users may have SSH access, files to track, etc. • How do we have one concept of application users and system users? @lukesneeringer lukesn.me/ansibleconf2014
write in Ansible. • The power of lookup plugins is (partially) in their ability to allow you to not repeat yourself. @lukesneeringer lukesn.me/ansibleconf2014
have an SSH user record, the latter of which stores data specific to system users (authorized keys, for instance). • This also supports file management. @lukesneeringer lukesn.me/ansibleconf2014
repository, one branch per person. • GitHub sends push requests to Wardrobe to put the contents of those files in the database. • ...and a 38-line Ansible lookup plugin gets them from the database. @lukesneeringer lukesn.me/ansibleconf2014
our user management, for anything a user can be, is in one place. • If an employee quits, we turn them off in one place. • If an employee is promoted, we change their data in one place. @lukesneeringer lukesn.me/ansibleconf2014
the definitive source for users is also the definitive source for servers. • Ansible's pluggable inventory system makes this possible. @lukesneeringer lukesn.me/ansibleconf2014
do with Ansible right now. • I want to encourage you to be thinking about how you can avoid copying data. • Hook Ansible up to your definitive data source. @lukesneeringer lukesn.me/ansibleconf2014