The architecture of StackOverflow.com
Posted on Monday, 24th February 2014
Unless you’re a developer who’s been living under a rock for the past 5 years you’d no doubt have heard of Stack Overflow, and no doubt you already be aware of what a great resource it is as a developer.
Since it’s launch in August 2008 Stack Overflow spread like wildfire throughout the development community, quickly establishing itself as the place to go to find programming and development related issues answered. No longer did we need to trawl through the noise of forum posts looking for solutions to questions or fixes for bugs, all we needed to do was type our question into Google with a suffix of “ + stackoverflow” to find exactly what we were looking for.
Whilst skeptical of claims that Stack Overflow has saved companies billions of dollars in developer productivity, once thing for sure is that whether or not the total figure is billions, Stack Overflow has certainly saved a lot of companies a lot of money in the 5 years it’s been alive.
Currently sitting above sites such as NetFlix, BBC and Flickr in the Alexa Top 100 the most visited websites (position 58 at time of writing), Stack Overflow receives roughly 1.7 million visits a day. With such high traffic numbers and a huge fan of system architecture I was really interested to know a bit more about what was going on under the hood of Stack Overflow. We all know that it’s powered by Microsoft’s fantastic .NET MVC framework, but what about the structure, the database access, the servers and all of the other juicy bits that get us developers salivating?! Thankfully StackOverflow software engineer Marco Cecconi, gave a talk at the Developer Conference 2013 on this very subject.
At just over 46 minutes long I highly recommend you check out the talk if like me, you love to know about systems and software architecture.
Enjoy this post? Don't be a stranger!
Follow me on Twitter at @_josephwoodward and say Hi! I love to learn in the open, meet others in the community and talk Go, software engineering and distributed systems related topics.