Josh loves popcorn, German food, all manor of gin and tonics, talking about himself in the third person, and shipping technical debt daily! As a core member of the Travis CI team, he is helping you save yourself from your code, or at least giving you a heads up that it's failing :)
Great ideas start small, hell, just look at all the great services we use today, all of them small ideas which grew, and grew, and grew.
Do you think they planned for this level of scale from the outset? God no! And why would they? Planning too early can be the death of such a great idea!
The mantra is simple, start small, growth will come naturally.
That might sound stupid, but the idea is solid. As your product grows you will learn where the bottlenecks are, where the pain points in code and processing exist, and what needs to scale and what needs to be thrown out the door.
Travis CI was no different, started as a simple Rails app, it has now grown into a platform built upon over 9 different apps, using everything from Postgres, Redis, RabbitMQ, Memcached, S3, BlueBox, MRI, JRuby, Websockets, and a huge array of services helping with email, metrics, and alerts.
We never designed or planned for this, this came about from natural growth, and we have only just started.
This talk is a story of architecture, complexity, and growth, as well as a candid look on what we did wrong and could have done better.
And most importantly, this is a talk about how sometimes not building something is more important than building it in the first place.