It's time to talk about distributed systems: what are they, why you should be writing one, and what to look for while doing so. We'll cover the basics, understand some of the technology behind it - like REST, MQ with AMQP, ZeroMQ, etc - and discuss things we're doing at Heroku to avoid the pitfalls of a distributed architecture.