share
Meta Stack OverflowWhich tools and technologies are used to build the Stack Exchange Network?
[+344] [1] 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 ] [DELETED]

What tools and technologies are used to build the Stack Exchange Network?

See also: What technologies are used to build Data Explorer? [1]

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
[+325] [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 (9 shared for all production like SO, two for Meta and development):
    • 2x Intel Xeon Processor E5640 @ 2.66 GHz Quad Core with 8 threads
    • 32 GB RAM
    • Windows Server 2012
    • Two drives
      • RAID 1
      • 2x Intel 320 300GB SSD (RAID 1)
    • 4x 1Gb network team
  • Three Dell R720xd database servers (two in New York City, one in Oregon, using SQL AlwaysOn Clustering) (Global "Sites" DB & Stack Overflow dedicated):
    • 2x Intel Xeon Processor E5-2680 @ 2.70 GHz
    • 384 GB RAM
    • 21 drives
      • Mirrored Pair for OS
      • 16+1 Intel 710 200GB SSD RAID10 for databases
    • SQL Server 2014 CTP2
    • 2x 10Gb network team
  • Three Dell R710 database servers (two in New York City, one in Oregon, using SQL AlwaysOn Clustering) (All other sites, Careers, Area 51, etc.):
    • 2x Intel Xeon Processor X5680 @ 3.33 GH
    • 288 GB RAM
    • 6 drives
      • Mirrored Pair for OS
      • 4 Intel S3700 800GB SSD RAID10 for databases
    • SQL Server 2014 CTP2
    • 2x 10Gb network team
  • 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
  • Three 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 5525X firewalls
  • 2 Cisco Nexus 5596 Cores in an active/active redundant configuration

Sources:

  1. Stack Overflow's New York Data Center (Server Fault Blog) [49]
  2. Designing for Scalability of Management and Fault Tolerance (Server Fault Blog) [50]
  3. What Was Stack Overflow Built With? [51]
  4. Stack Overflow Server Glamour Shots [52]
  5. Technology and SEO profile for stackoverflow.com [53]
  6. Stack Overflow and DVCS [54]
  7. Stack Overflow Network Configuration [55]
[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/en-us/server-cloud/windows-server/
[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] https://github.com/StackExchange/StackExchange.Redis
[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://haproxy.1wt.eu/
[28] http://www.cacti.net/
[29] http://code.google.com/p/markdownsharp/
[30] http://www.fogcreek.com/Kiln/
[31] http://www.solarwinds.com/products/network-management/network-monitoring.aspx
[32] http://lesscss.org/
[33] http://meta.stackoverflow.com/a/186406/152859
[34] http://www.mathjax.org
[35] http://blog.stackoverflow.com/2009/12/blog-outage-backup-policies/
[36] http://blog.stackexchange.com/
[37] http://www.websocket.org/
[38] http://meta.stackoverflow.com/questions/125677/new-feature-real-time-updates-to-questions-answers-and-inbox
[39] http://meta.stackoverflow.com/a/168148/152859
[40] http://meta.stackoverflow.com/a/172340/152859
[41] http://isotope.metafizzy.co/
[42] http://stackexchange.com/sites?view=grid
[43] http://meta.stackoverflow.com/a/124086/
[44] http://creativecommons.org/licenses/by-sa/3.0/
[45] http://www.opensearch.org/
[46] http://en.wikipedia.org/wiki/Atom_%28standard%29
[47] http://www.peakinternet.com/business/hosting/?stackoverflow
[48] http://blog.serverfault.com/2010/10/29/1432571770/
[49] http://blog.serverfault.com/2010/10/29/1432571770/
[50] http://blog.serverfault.com/2010/09/10/1097492931/
[51] http://blog.stackoverflow.com/2008/09/what-was-stack-overflow-built-with/
[52] http://blog.stackoverflow.com/2009/12/stack-overflow-rack-glamour-shots/
[53] http://blog.stackoverflow.com/2008/04/our-dedicated-server/
[54] http://blog.stackoverflow.com/2010/04/stack-overflow-and-dvcs/
[55] http://blog.stackoverflow.com/2010/01/stack-overflow-network-configuration/

(2) Hmmm, the list seems incomplete. I don't see Unicornify in there... - Lunatik
(1) 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
(1) 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
(1) If you already use IIS, may I ask why you use nginx? - rightfold
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? - Shadow Wizard
Great post and detail - gives the masses an idea of what's required to support such widely-used sites/services. - nickhar
(1) is there a specific reason you uae Google Analytics and not PIWICK or anything else? - raam86
(10) How StackOverflow Earns Revenue? - Purushoth
Should elasticsearch (meta.stackoverflow.com/q/160100/152535) and lucene be added here? - Beth Whitezel
@balpha nice, cheers for going open source! :) - Shadow Wizard
@ShadowWizard Booksleeve was just as open source. See marcgravell.blogspot.de/2014/03/… for the reasons for writing yet another redis client. - balpha
1