agile scalability at engine yard

December 13, 2009

I attended the EngineYard Road Show a couple of weeks ago. I had low expectations for a mid-week corporate-sponsored event, but I found it to be unexpectedly good. I took a few notes on some of the presentations, which I’ve collected below:

Why Performance Matters

Tom Mornini of EngineYard told us about a Google search latency experiment which measured drop-off rates when response time was slow. It is awesome that Google also measured that the effects persisted even when the previous fast response time was restored. As humans, our behavior often reflects our expectations, rather than our immediate experience.

I also enjoyed the four stages of performance which he defined as Delight, Satisfaction, Frustration and Abandonment. It is really easy to get bogged down in the wrong places and optimize things that don’t matter when working on performance. It was nice to see a clear presentation on how to prioritize (and why to prioritize) work on performance and scalability. (Slides)

Agile Deployment

Bill Lapcevic (@blap) from New Relic challenged the audience to do “agile deployment.” AboutUs often releases several times per day — averaging 10 per week. “Smaller deployments more often allow you to back out small pieces of code” says Ward Cunnigham of AboutUs. Instead of stress and load testing before you deploy, make it part of the culture of your development team to watch the performance effects of the live site right after deployment and make it easy to roll back and roll forward.

Engine Yard Cloud

Abheek Anand @abheek presented Engine Yard’s new Cloud product, which has a complete web UI for set up. There’s no command-line interface to it, which is weird, since it offers a deeply geeky array of options for you to tweak exactly how your stack is configured. This is the other end of the spectrum from Heroku. You even get ssh access!

Abheek notes that Engine Yard sets everything up to be performant by default — 20% perf improvement out of the box, e.g. gzip’d content, correct load balance settings. He also adds this generally useful tip: measure everything, identify top ten, pick #1 and optimize.

More about Agile

Ian McFarland (@imf) talked about agile, rails and the cloud:

Also there was an interesting talk on cloud testing by soasta.com — wish I had that the last time I had to build a load test lab!