[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-k65IJFp3bBP6--qwpXZb0yiElfizSL2_0MG6friphWM":3,"sanity-OfZ4gQYRL1b3EPHuQ4y18gDyBlevIolkSfiLXR7MUa8":207},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":182},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"d53f9358-3bb2-4f69-aebe-d31d19522cd4","2026-07-10T07:40:00.000Z",{"_type":10,"current":11},"slug","building-more-than-just-an-agent-harness",null,"Building more than just an agent harness",[15,21,27,33],{"_id":16,"publishedAt":17,"slug":18,"title":20},"eb5b66eb-9410-4329-83bb-22bbff39402a","2026-04-28T13:00:00.000Z",{"_type":10,"current":19},"turn-scattered-knowledge-into-trusted-intelligence","Turning scattered knowledge into trusted intelligence: Stack Internal 2026.3",{"_id":22,"publishedAt":23,"slug":24,"title":26},"369c2401-b62e-4a37-8ff8-bf603023ecad","2026-03-02T15:03:00.988Z",{"_type":10,"current":25},"what-s-new-at-stack-overflow-march-2026","What’s new at Stack Overflow: March 2026",{"_id":28,"publishedAt":29,"slug":30,"title":32},"5e9053a4-07ea-447c-91ea-29e0b6228537","2026-02-02T15:00:00.000Z",{"_type":10,"current":31},"what-s-new-at-stack-overflow-february-2026","What’s new at Stack Overflow: February 2026",{"_id":34,"publishedAt":35,"slug":36,"title":38},"a1b538eb-a8a6-46d0-80a1-ac70ec9bb935","2026-01-05T10:00:00.000-05:00",{"_type":10,"current":37},"what-s-new-at-stack-overflow-january-2026","What’s new at Stack Overflow: January 2026",{"_createdAt":40,"_id":41,"_rev":42,"_type":43,"_updatedAt":44,"author":45,"body":58,"comments":159,"dateUrl":160,"excerpt":161,"image":162,"legacyBody":166,"product":12,"publishedAt":169,"slug":170,"sponsored":12,"tags":172,"title":181,"visible":159},"2023-05-25T09:39:09Z","wp-post-5241","dgl3SCUzppW3U2LvCoSN08","blogPost","2023-07-13T14:55:03Z",[46],{"_createdAt":47,"_id":48,"_rev":49,"_type":50,"_updatedAt":51,"avatar":52,"employee":54,"name":55,"slug":56},"2023-05-23T16:27:18Z","wp-author-139","07ZbrKPSUrjrV4wQ6fampK","blogAuthor","2023-08-29T11:49:13Z",{"_type":53},"image","former","Nick Craver",{"current":57},"nickcraver",[59,104,113,121,129],{"_key":60,"_type":61,"children":62,"markDefs":95,"style":103},"f959d4f2df42","block",[63,68,73,77,82,86,91],{"_key":64,"_type":65,"marks":66,"text":67},"f959d4f2df420","span",[],"We've talked about ",{"_key":69,"_type":65,"marks":70,"text":72},"f959d4f2df421",[71],"b37281c53a67","Stack Overflow's architecture",{"_key":74,"_type":65,"marks":75,"text":76},"f959d4f2df422",[]," and ",{"_key":78,"_type":65,"marks":79,"text":81},"f959d4f2df423",[80],"d532118ca887","the hardware behind it",{"_key":83,"_type":65,"marks":84,"text":85},"f959d4f2df424",[],". The next ",{"_key":87,"_type":65,"marks":88,"text":90},"f959d4f2df425",[89],"c04731d8db87","most requested topic",{"_key":92,"_type":65,"marks":93,"text":94},"f959d4f2df426",[]," 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.",[96,99,101],{"_key":71,"_type":97,"href":98,"reference":12},"link","https:\u002F\u002Fnickcraver.com\u002Fblog\u002F2016\u002F02\u002F17\u002Fstack-overflow-the-architecture-2016-edition\u002F",{"_key":80,"_type":97,"href":100,"reference":12},"https:\u002F\u002Fnickcraver.com\u002Fblog\u002F2016\u002F03\u002F29\u002Fstack-overflow-the-hardware-2016-edition\u002F",{"_key":89,"_type":97,"href":102,"reference":12},"https:\u002F\u002Ftrello.com\u002Fb\u002F0zgQjktX\u002Fblog-post-queue-for-stack-overflow-topics","normal",{"_key":105,"_type":61,"children":106,"markDefs":111,"style":112},"e1baad7b3a6c",[107],{"_key":108,"_type":65,"marks":109,"text":110},"e1baad7b3a6c0",[],"Source",[],"h4",{"_key":114,"_type":61,"children":115,"markDefs":120,"style":103},"9c5586212c02",[116],{"_key":117,"_type":65,"marks":118,"text":119},"9c5586212c020",[],"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.",[],{"_key":122,"_type":61,"children":123,"markDefs":128,"style":112},"d5e2cefc11b4",[124],{"_key":125,"_type":65,"marks":126,"text":127},"d5e2cefc11b40",[],"A Little Context",[],{"_key":130,"_type":61,"children":131,"markDefs":154,"style":103},"6fb5b43f9c3d",[132,136,141,145,150],{"_key":133,"_type":65,"marks":134,"text":135},"6fb5b43f9c3d0",[],"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 ",{"_key":137,"_type":65,"marks":138,"text":140},"6fb5b43f9c3d1",[139],"0e559c102cd7","Stack Overflow: How We Do Deployment - 2016 Edition on Nick's blog here",{"_key":142,"_type":65,"marks":143,"text":144},"6fb5b43f9c3d2",[],". It's the second in an ",{"_key":146,"_type":65,"marks":147,"text":149},"6fb5b43f9c3d3",[148],"5aaeea4c301c","extensive series",{"_key":151,"_type":65,"marks":152,"text":153},"6fb5b43f9c3d4",[]," of blog posts on Stack Overflow’s technical architecture.",[155,157],{"_key":139,"_type":97,"href":156,"reference":12},"https:\u002F\u002Fnickcraver.com\u002Fblog\u002F2016\u002F05\u002F03\u002Fstack-overflow-how-we-do-deployment-2016-edition\u002F",{"_key":148,"_type":97,"href":158,"reference":12},"https:\u002F\u002Fnickcraver.com\u002Fblog\u002F2016\u002F02\u002F03\u002Fstack-overflow-a-technical-deconstruction\u002F",true,"2016\u002F05\u002F03","",{"_type":53,"asset":163},{"_ref":164,"_type":165},"image-53ca10ef7790bad67fa9017017eaa2037fe9af35-1920x1080-png","reference",{"code":167,"language":168},"We've talked about \u003Ca href=\"https:\u002F\u002Fnickcraver.com\u002Fblog\u002F2016\u002F02\u002F17\u002Fstack-overflow-the-architecture-2016-edition\u002F\">Stack Overflow's architecture\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fnickcraver.com\u002Fblog\u002F2016\u002F03\u002F29\u002Fstack-overflow-the-hardware-2016-edition\u002F\">the hardware behind it\u003C\u002Fa>. The next \u003Ca href=\"https:\u002F\u002Ftrello.com\u002Fb\u002F0zgQjktX\u002Fblog-post-queue-for-stack-overflow-topics\">most requested topic\u003C\u002Fa> 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.\n\n\u003Ch4>Source\u003C\u002Fh4>\n\nThis 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.\n\n\u003Ch4>A Little Context\u003C\u002Fh4>\n\nWe deploy roughly 25 times per day to development (our CI build) just for Stack Overflow Q&amp;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...\n\nRead the rest of \u003Ca href=\"https:\u002F\u002Fnickcraver.com\u002Fblog\u002F2016\u002F05\u002F03\u002Fstack-overflow-how-we-do-deployment-2016-edition\u002F\">Stack Overflow: How We Do Deployment - 2016 Edition on Nick's blog here\u003C\u002Fa>. It's the second in an \u003Ca href=\"https:\u002F\u002Fnickcraver.com\u002Fblog\u002F2016\u002F02\u002F03\u002Fstack-overflow-a-technical-deconstruction\u002F\">extensive series\u003C\u002Fa> of blog posts on Stack Overflow’s technical architecture.","html","2016-05-03T12:00:00.000Z",{"current":171},"stack-overflow-how-we-do-deployment-2016-edition",[173],{"_createdAt":174,"_id":175,"_rev":176,"_type":177,"_updatedAt":174,"slug":178,"title":180},"2023-05-23T16:43:21Z","wp-tagcat-engineering","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":179},"engineering","Engineering","Stack Overflow: How We Do Deployment - 2016 Edition",[183,189,195,201],{"_id":184,"publishedAt":185,"slug":186,"sponsored":12,"title":188},"76c9771b-34e6-4d98-8641-ecefc711f0ef","2026-07-06T15:23:34.559Z",{"_type":10,"current":187},"when-the-sensor-starts-thinking-snortml-agentic-ai-and-the-evolving-architecture-of-intrusion-detection","When the sensor starts thinking: SnortML, agentic AI, and the evolving architecture of intrusion detection",{"_id":190,"publishedAt":191,"slug":192,"sponsored":12,"title":194},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":193},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":196,"publishedAt":197,"slug":198,"sponsored":12,"title":200},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":199},"your-ai-shipped-a-backend-that-boots-that-is-the-whole-problem","Your AI shipped a backend that boots. That is the whole problem.",{"_id":202,"publishedAt":203,"slug":204,"sponsored":12,"title":206},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":205},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"data":208,"sourceMap":-1},{"count":209,"lastTimestamp":210},8,"2023-05-25T09:45:54Z"]