![]() For Enterprise we create a new installation package daily and deploy that to test environments that are running main. That takes care of the Stack Exchange Network and Teams. If we don’t see any exceptions or other issues we’re ready to merge to main and then make sure that is deployed everywhere. This is especially important because we have a lot of background processes that run on different parts of the day and that are particularly heavy on the database and sometimes surface issues. Finally, we deploy the branch to all our servers and let it sit overnight. Once we’ve let it bake for a while, we repeat the process and deploy it to one of the servers running our public networks. We keep an eye on our metrics in Splunk and exceptions in OpServer and try to catch any issues we didn’t see on our own developer machines. NET 6 branch on a single server for Meta and let it run for a while. We want to be able to quickly roll back if something goes wrong and make sure that the blast impact of a potential issue is as small as possible. NET isn’t merged to main and deployed to all servers in one go. You can understand why a big change like upgrading EF or. To learn more about our deployments this Podcast is a nice listen: Looking at some recent numbers, our Meta build and deploy take 6 minutes, the StackExchange Network 10 minutes, Teams takes 10 minutes and the Teams API takes 4 minutes. We then deploy to our 3 Teams web servers. After this, the change is live for all public users of our site. Next in line are all Meta sites and after that and all network sites (including ). Our pipeline automatically deploys all changes to dev. ![]() 10 and 11 run our developer instance and all our Meta sites. Servers 1 to 9 run and the Stack Exchange network. Stack Overflow runs on 11 web servers in our primary location and 11 in our secondary location. ![]() Stack Overflow and Stack Overflow for Teams both run in our own datacenter. How we deploy high impact changes to production This way, we can decide when we merge to main and push the change to all developers. NET 6 that we regularly update from main. NET 6 touches a lot of things and we have to be sure that they all work before we roll it out more broadly. This means that a fundamental upgrade like. These three applications are all based on the same code base but deployed in different configurations and environments. Stack Overflow Enterprise is a Stack Overflow environment where you can have a main site with questions and as many private Teams as you want that we can host for you as SaaS or that you can host yourself. Stack Overflow for Teams is a multi tenant private SaaS version of Stack Overflow where you can ask private questions within your organization. In addition to our public Stack Exchange network, we also have Stack Overflow for Teams and Stack Overflow Enterprise. Because of our size we run into unique issues but it also gives us great opportunities to benefit from the optimizations in a new. ![]() On an average day we have 250 million requests and 85 million page views. Stack Overflow and the whole Stack Exchange network is where we get the biggest part of our traffic. In this blog post we share a bit about what that means for us, some issues we ran into and the end result.įirst I want to give a shout out to Samo Prelog and Dan Roberts for all the work they did on this migration and to Roberta Arcoverde for enabling our team to work on this migration. NET 5 was May 10 we’ve been busy with the upgrade to. NET 5 for a while and the end of life date for. NET team is squeezing out and of course we don’t mind running a supported version so we get important security and bug fixes. We love that extra bit of performance that the. NET 6Īt Stack Overflow we always try to run on the latest and greatest version of. The Art of Coding The Stack Overflow journey to.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |