Videos provided by Scottish Ruby Conf via their Vimeo Channel.
We want to produce reliable, functioning software… but we often don’t. The cliched cry of “but it works on my machine” demonstrates the myopia that most web developers (including me) suffer from: we spend almost all of our time working with a development environment. This leads us to think of production as “like development, with people using it”. Then, when things go wrong, we think “oh, I see now, production is like development except this one thing that went wrong”. This is exactly the opposite of the mindset we need. Production is fundamentally different from development, and it’s important to keep that in mind. This talk discusses some of those fundamental differences, including load balancing, metrics, data store reliability, and network partitions. Don’t get stuck rebuilding your servers at 3AM because you went with the option that was easiest during development!