Michael’s the technical co-founder of Tweetdig, a realtime filtering engine for Twitter. He works daily with PHP, NodeJS, Redis, mySQL and a handful of other tools that glue it all together. He started programming with PHP at 15 and had his first speaking gig at PHPNW09. Michael graduated from Leeds Met in 2011 with a degree in Computing, but more importantly he came away with a realistic outlook on the world of development outside of university thanks to usergroups, barcamps and conferences. Michael spends his spare time learning about *everything*. Whether it’s about development or about how to bake the best cupcakes he just has to learn how and why.
Designing systems to scale
Historically when an application gets more popular, we as developers simply make the server a bit bigger. But what happens when you can’t make the server any bigger? Suddenly you have an app that’s getting millions of hits a day and a database that’s a terabyte big. Imagine how hard it’d be to find a way for more people to sign up whilst not impacting the site’s performance for your existing customers. It’s not easy (we’ve done it!). Wouldn’t it be easier to plan for scale from day zero? Thanks to services such as Amazon AWS, it’s typically cheaper to run several smaller servers than one big one, so as well as easy scaling you’ll be saving money. Great applications need great foundations. Michael’s taken Tweetdig.com from struggling to process a few thousand tweets to processing over a million per day, and has learned a lot along the way. He’d like to share what he’s learned so far and the benefits and pitfalls of the various approaches that he’s tried.