share
Meta Stack OverflowWhich tools and technologies are used to build the Stack Exchange Network?
[+247] [2] aleemb
[2009-04-14 21:02:14]
[ support faq stackexchange technology tools ]
[ http://meta.stackoverflow.com/questions/10369/which-tools-and-technologies-are-used-to-build-the-stack-exchange-network ]

Picking up from the blog [1], what are all the details on tools and technologies used to build the Stack Exchange Network?

Return to FAQ index [2]

See also: What technologies were used to build the chat? (though this currently has no real answers.) - Arjan
See also Stack Exchange: Planning for failure and other posts on Nick's blog. - Arjan
[+249] [2009-04-14 21:31:02] markus

Core

Stack Overflow uses a WISC [1] stack via BizSpark [2] (We Graduated!):

Software Development Tools

External Bits

Code used in Stack Overflow that is not included as part of the development tools:

Miscellaneous

Content

Hardware

  • 11 Dell R610 IIS web servers (three dedicated to Stack Overflow, two for Meta and development):
    • 2x Intel Xeon Processor E5640 @ 2.66 GHz Quad Core with 8 threads
    • 16 GB RAM
    • Windows Server 2008 R2
    • Two drives
      • RAID 1
      • 2x Intel 320 300GB SSD (RAID 1)
  • Three Dell R720xd database servers (two in New York City, one in Oregon, using SQL AlwaysOn Clustering):
    • 2x Intel Xeon Processor E5-2680 @ 2.70 GHz
    • 384 GB RAM
    • 15 drives
      • Mirrored Pair for OS
      • 12+1 Intel 710 SSD RAID10 for databases
    • SQL Server 2012
  • Three Dell R720xd database servers (two in New York City, one in Oregon, using SQL AlwaysOn Clustering) (Stack Overflow dedicated):
    • 2x Intel Xeon Processor E5-2680 @ 2.70 GHz
    • 384 GB RAM
    • 15 drives
      • Mirrored Pair for OS
      • 12+1 Intel 710 SSD RAID10 for databases
    • SQL Server 2012
  • Two Dell R620 HAProxy/nginx servers:
    • 2x Intel Xeon Processor E5-2650 @ 2.00 GHz
    • 32 GB RAM
    • CentOS 6.x
  • 2 Dell R610 Redis servers:
    • 2x Intel Xeon Processor E5640 @ 2.66 GHz
    • 96 GB RAM
    • CentOS
  • Two Dell R610 Service servers for tag engine/search:
    • 2x Intel Xeon Processor E5660 @ 2.80 GHz
    • 72 GB RAM
  • One Dell R610 Linux backup server running NetBackup:
    • 1x Intel Xeon Processor E5640 @ 2.66 GHz
    • 32 GB RAM
  • One Dell R610 Linux management server for log files:
    • 1x Intel Xeon Processor E5640 @ 2.66 GHz
    • 32 GB RAM
  • One Dell R620 Orion monitoring server:
    • 2x Intel Xeon Processor E5-2650 @ 2.00 GHz
    • 32 GB RAM
  • Two Dell R610 VMWare ESXi:
    • 1x Intel Xeon Processor E5640 @ 2.66 GHz
    • 16 GB RAM
  • 2 Cisco 3945 routers
  • 2 ASA 5520 firewalls
  • 6 Cisco 2960S 48 port switches with FlexStack

Sources:

  1. Stack Overflow's New York Data Center (Server Fault Blog) [45]
  2. Designing for Scalability of Management and Fault Tolerance (Server Fault Blog) [46]
  3. What Was Stack Overflow Built With? [47]
  4. Stack Overflow Server Glamour Shots [48]
  5. Technology and SEO profile for stackoverflow.com [49]
  6. Stack Overflow and DVCS [50]
  7. Stack Overflow Network Configuration [51]
[1] http://stackoverflow.com/questions/177901/what-does-wisc-stack-mean
[2] http://blog.stackoverflow.com/2009/03/stack-overflow-and-bizspark/
[3] http://www.microsoft.com/sqlserver/2008/en/us/r2.aspx
[4] http://www.iis.net/
[5] http://www.microsoft.com/sqlserver/en/us/default.aspx
[6] http://serverfault.com/questions/34846/in-place-upgrade-from-windows-server-standard-to-enterprise-or-datacenter
[7] http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29
[8] http://en.wikipedia.org/wiki/ASP.NET
[9] http://www.asp.net/mvc/mvc4
[10] http://nuget.org/packages/MiniProfiler
[11] http://weblogs.asp.net/scottgu/archive/2010/07/02/introducing-razor.aspx
[12] http://jquery.com/
[13] http://msdn.microsoft.com/en-us/library/bb386976.aspx
[14] http://code.google.com/p/dapper-dot-net/
[15] http://nuget.org/packages/BookSleeve
[16] http://nuget.org/packages/protobuf-net
[17] http://mercurial.selenic.com/
[18] http://mercurial.selenic.com/
[19] http://www.scootersoftware.com/
[20] http://recaptcha.net/
[21] http://www.dotnetopenauth.net/
[22] https://code.google.com/p/wmd/
[23] http://code.google.com/p/pagedown/
[24] http://google-code-prettify.googlecode.com/
[25] http://www.google.com/analytics/
[26] http://www.jetbrains.com/teamcity/
[27] http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET
[28] http://haproxy.1wt.eu/
[29] http://www.cacti.net/
[30] http://code.google.com/p/markdownsharp/
[31] http://nginx.org/
[32] http://www.fogcreek.com/Kiln/
[33] http://www.solarwinds.com/products/network-management/network-monitoring.aspx
[34] http://blog.stackoverflow.com/2009/12/blog-outage-backup-policies/
[35] http://blog.stackexchange.com/
[36] http://www.websocket.org/
[37] http://meta.stackoverflow.com/questions/125677/new-feature-real-time-updates-to-questions-answers-and-inbox
[38] http://meta.stackoverflow.com/a/168148/152859
[39] http://meta.stackoverflow.com/a/172340/152859
[40] http://creativecommons.org/licenses/by-sa/3.0/
[41] http://www.opensearch.org/
[42] http://en.wikipedia.org/wiki/Atom_%28standard%29
[43] http://www.peakinternet.com/business/hosting/?stackoverflow
[44] http://blog.serverfault.com/2010/10/29/1432571770/
[45] http://blog.serverfault.com/2010/10/29/1432571770/
[46] http://blog.serverfault.com/2010/09/10/1097492931/
[47] http://blog.stackoverflow.com/2008/09/what-was-stack-overflow-built-with/
[48] http://blog.stackoverflow.com/2009/12/stack-overflow-rack-glamour-shots/
[49] http://blog.stackoverflow.com/2008/04/our-dedicated-server/
[50] http://blog.stackoverflow.com/2010/04/stack-overflow-and-dvcs/
[51] http://blog.stackoverflow.com/2010/01/stack-overflow-network-configuration/

I love how people are so into bc3 that they it is listed as part of the stack - user145917
(1) Can I ask how on earth the SO team managed to update the site to user Razor so quickly? Did they actually port older aspx views into razor or are legacy pages running with razor side-by-side? - gideon
I'd like to see some explanation of what the external bits are used for. It's not obvious what SO is using nginx for, for example. - Gabe
What is the platform/code that the blog is run on? I've posted a question on this already. - casperOne
If you already use IIS, may I ask why you use nginx? - rightfold
(1) Someone should add that Lucene.NET is used (blog.stackoverflow.com/2011/01/…). I won't do it because I'm too much shy :-) - xanatos
plus +1 for 96 GB RAM ... wowzaaa - nginx??? what do use it for ? curious? - TheBlackBenzKid
Love @Zypher subtly changing the 96GB of RAM to... 288GB! - Matt
@Sha Wiz Dow Ard Isn't saying they use Websockets like saying they use JavaScript, or <div> tags? If it belongs on the list at all, it seems like it should be under "standards". - agf
@agf it's not really standard just yet but if you think it doesn't belong on the list feel free to roll back or put in other place - or maybe ask for more official opinion e.g. casper? - Sha Wiz Dow Ard
Great post and detail - gives the masses an idea of what's required to support such widely-used sites/services. - nickhar
1
[+26] [2010-05-06 07:10:40] Lunatik

Hmmm, the list seems incomplete. I don't see Unicornify [1] in there...

[1] http://unicornify.appspot.com/

2