Stack Overflow: How We Do Deployment – 2016 Edition

We’ve talked about Stack Overflow’s architecture and the hardware behind it. The next most requested topic was Deployment. How do we get code a developer (or some random stranger) writes into production? Let’s break it down. Keep in mind that we’re talking about deploying Stack Overflow for the example, but most of our projects follow almost an identical pattern to deploy a website or a service.


This is our starting point for this article. We have the Stack Overflow repository on a developer’s machine. For the sake of discussing the process, let’s say they added a column to a database table and the corresponding property to the C# object — that way we can dig into how database migrations work along the way.

A Little Context

We deploy roughly 25 times per day to development (our CI build) just for Stack Overflow Q&A. Other projects also push many times. We deploy to production about 5-10 times on a typical day. A deploy from first push to full deploy is under 9 minutes (2:15 for dev, 2:40 for meta, and 3:20 for all sites). We have roughly 15 people pushing to the repository…

Read the rest of Stack Overflow: How We Do Deployment – 2016 Edition on Nick’s blog here. It’s the second in an extensive series of blog posts on Stack Overflow’s technical architecture.


Nick Craver
Architecture Lead
Nick is a developer and SRE on the Core and Site Reliability Engineering teams at Stack Overflow. Nick's passion is performance and efficiency through the entire stack. He does in-depth talks on infrastructure and code approaches used at Stack Overflow, including the story and reasoning behind them.

Related Articles


  1. David L Gorman says:

    Hey Nick!

      1. Franz Josef Kaiser says:

        Hey Uwe!

        1. Akshat Patel says:

          Hey Franz!

          1. Hey Akshat


        2. Hey Franz-Josef!

  2. […] post Stack Overflow: How We Do Deployment – 2016 Edition appeared first on Stack Overflow […]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.