Friday, May 15, 2009

Undoing Your Social Training and Creative Inhibitions in Five Minutes

Last night, I was honored to be the first speaker at the first Ignite DC. My talk was called "Undoing Your Social Training and Creative Inhibitions in Five Minutes".  The gist of my talk is:
"Our culture inculcates several behaviors that harm creative, entrepreneurial people: we're taught to avoid conflict and real, open honesty with one another, and we're taught to fear failure. This may work for creating a polite, civil society, but it doesn't serve the individual who is trying to make a difference. But there's hope! Improv theater actors have devised many techniques for overcoming these tendencies which enables them to create inventive stories extemporaneously. Mike will share ways to combat creative inhibitions gleaned from six years of teaching and performing improv theater."
The slides are below.

Monday, May 11, 2009

It's Not Always Sunny in the Clouds

At RailsConf last week I gave a talk called "It's Not Always Sunny in the Clouds" where I shared all of our lessons learned with OtherInbox and cloud computing.  I tried my best to go beyond the hype and talk about our real world experiences.  The slides are below, but here's the raw list of lessons:
  • “Everything needs to be automated”

  • Autoscaling is the easiest part

  • Think carefully about credential management

  • You really could use internal DNS

  • It's maybe not that cheap

  • Launching servers is not that fast

  • You will become dependent on “glue” services

  • You will depend on a distant faceless provider

  • Use DVCS

  • You will spend a lot of time on monitoring

  • Your logs will runneth over

  • Write lots of “in-process tests”

  • Snapshots are slow

  • Rails will be the least of your worries

  • Cloud services involve subtle-yet-massive tradeoffs

  • SQS guarantees delivery at least once

  • Queue lengths inaccurate for <>
  • SQS not necessarily FIFO

  • So you may not want a cloud queue

  • SimpleDB optimized for writes, not reads

  • You must code defensively

  • There are no good "cloud sandboxes"

  • Pay attention to MySQL timeouts

  • "User account management is -not- ideal."

  • You are locked-in to your provider

  • Relational DB may not be the best choice

  • Is there a benefit?

    • Changes the way you write code

    • You can start right away

    • Pretty awesome redundancy