DevOps Down Under 2011 Sprinkling DevOps Magic in Other People's Environments Robert Postill
How's This Gonna Go Down?
How's This Gonna Go Down? Everybody's got a story and this is our's
Our first architecture
Learning from failure
A brief aside
Getting better
Tough messages
Where to from here
C3's Story There was a dream
It makes the excel go into the data warehouse
And it's done badly
So we built a prototype
Then we made a sale
A little bit of how it works
Priorities of our first architecture Works!
Restarts when the machine restarts
Remotely deploy updates
Not a lot of state on the VM
Our first architecture
Our first architecture
Lesson: Most customers will accept a small selection of services if you give them a report from that service
create_deployment.sh Poor man's capistrano
A shell script that: Fetched the latest from github
Exported it to a datestamped directory
Made a set of symlinks point to the right places
Restarted the app
Flaws We knew practically nothing about what was  happening on the box
The logs... THE LOGS FIX THOSE FREAKING LOGS!!!
And the worst flaw of all... We started to get calls that started with: “ Integrity’s down, what's the score?” Then we'd have a look...
And it would be the database
Lesson: Things you don't own go badly wrong and the first people to know are the end users
A lot of sad face
So we revved the architecture
Then more stuff happened... We continued to get calls that started with: “ Integrity’s down, what's the score?” Then we'd have a look...
And it would be the VM, mounted disks read-only
Lesson: Virtual Machines are prone to at least a couple of novel modes of failure
Which started to lead to the inevitable
So the next problem... Us New Relic gives you slow transaction reports
In ruby select, collect and friends are ways of making in memory decisions over collections of things
Which works on test set sizes of ten or so
But doesn't on large volumes of things, like say a couple of million objects

Devops down-under