6 ms·
Anyone else not quite expecting StackExchange to be using a Microsoft stack?
by UVB-76 12y ago
Anyone else not quite expecting StackExchange to be using a Microsoft stack?
- ufo 12y agoAnyone who knows Joel Spolsky would expect a MS stack :)
- Alupis 12y agoIt's difficult to take pragmatic advice from someone who took the least pragmatic (and most expensive) route for a startup web company.
- rstupek 12y agoI'm not sure I agree. Pragmatic choices based on using what you know and not just choosing a toolset because everyone else is using it.
- WorldWideWayne 12y agoWhy does everyone in Silicon Valley run with expensive Apple hardware when Linux can run on any CPU?
- Amezarak 12y agoIf you have extensive Microsoft experience and take advantage of something like BizSpark* (although one suspects with their connections they wouldn't have needed that) it's hard to see how it wouldn't be plenty pragmatic and inexpensive. * Currently three years of free licenses, all software you download during that time is free forever, and discounted MSDN subs thereafter.
- jacquesm 12y agoProgrammer time is a factor that comes into play when you build something and re-training your people to use a stack they are not familiar with + the associated mistakes can get expensive in a hurry. If you happen to be familiar with the MS stack and are able to factor the license fees into your business plan there is no strong reason against and many for using that particular stack. MS programmers tend to be a bit more expensive than people working with one of the many Linux offerings but that's not such a huge difference that it would become the deciding factor and if anything the MS stack is more performant than the Linux one on the same hardware (and I write that as an anti-MS guy, I strongly believe that politics and tech should be kept separate when it comes to discussing systems relative to each other). So even if there are lots of reasons why I would not have made that particular choice I can completely understand why the SO people made their choice the other way.
- Alupis 12y ago> the MS stack is more performant than the Linux one on the same hardware This is provably not true. http://w3techs.com/technologies/overview/web_server/all http://w3techs.com/technologies/overview/web_server/all http://commons.wikimedia.org/wiki/File:Operating_systems_used_on_top_500_supercomputers.svg http://commons.wikimedia.org/wiki/File:Operating_systems_use... http://w3techs.com/technologies/overview/operating_system/all http://w3techs.com/technologies/overview/operating_system/al... There is a good reason majority of the World-Wide-Web is run on 'Nix stacks -- and there is a good reason majority of servers in general are 'Nix stacks. Also, an overwhelming percentage of super-computers (I know we are talking about webservers, but it illustrates performance capabilities) are running a 'Nix stack. There is also cost involved, as well as flexibility of the stack. With a 'Nix stack, it's infinitely flexible, not so much the case with a Microsoft stack. Also the default MS Stack comes with a lot of additional OS overhead that is not present in the 'Nix stack, which reduces any said box's scalability. Without trying to turn this into some sort of flame war - I was merely trying to suggest that the MS stack was not/is not the best choice for a highly scalable website. Take the top 10 websites -- they all run on 'Nix. The top cloud providers (except MS Azure), all 'Nix. These are companies that can easily afford MS licensing, so that's not part of the equation. A MS stack at this scale is unusual to say the least. That's not to say it won't scale (as evidenced by the SE team), but it doesn't mean there isn't a better alternative that saves more money and scales better with less hardware, etc.
- jacquesm 12y agoIt will be very hard to get into a flamewar with me supporting the Microsoft side of things. That said, none of the links you posted prove anything regarding performance, they do prove something about total cost of ownership, which once you factor everything in leans towards Linux for most installations, however, just looking at the situation for SO seems to me to suggest that they were more comfortable doing the initial development on the stack they were most familiar with and when the license costs started to count against them they used Linux machines to scale out. Which is a pretty smart decision. Whether an MS stack at this scale is unusual does not say anything at all about whether or not it performs well.
- Nick-Craver 12y agoI think you're forgetting BizSpark here, which we were in: http://www.microsoft.com/bizspark/ http://www.microsoft.com/bizspark/ IMO, it has one of the best tooling sets of any platform out there (Visual Studio) which saves lots of programmer time and increases productivity. With BizSpark the initial cost argument is out...so how's that not pragmatic? I'm biased of course, but I think it worked out pretty well. Nick Craver - Stack Exchange Sysadmin & Developer
- mistermann 12y agoHow in this scenario is the MS stack the "least pragmatic" route? prag·mat·ic adjective \prag-ˈma-tik\ : dealing with the problems that exist in a specific situation in a reasonable and logical way instead of depending on ideas and theories
- toomuchtodo 12y agoIt's a Microsoft/Linux hybrid. SQL Server on the backend, Linux for monitoring, Redis, HAProxy, etc.
- theandrewbailey 12y agoThey discussed it quite a bit on the podcasts. I found those a really great resource since Jeff and Joel were discussing the website as they were building it and "aired" the reasons for doing specific things.
- wfjackson 12y agoNo. Why not?
- stonemetal 12y agoJoel worked at MS on office, Excel if I recall correctly. Jeff's blog is named for a feature from a book published by MS. I would be more surprised if it was MS free.
- jeroen 12y ago"I started my career at Microsoft, a little software company outside of Seattle, where I was a program manager on the Excel team. My area was “programmability” and most of what I worked on in those days was replacing the Excel macro language (XLMs) with Excel Basic, and providing an object-oriented interface to Excel. Excel Basic became Visual Basic for Applications and the OO interface is what you know as OLE Automation, a.k.a. IDispatch." -- http://www.joelonsoftware.com/AboutMe.html http://www.joelonsoftware.com/AboutMe.html
- Alupis 12y agoYou mean to tell me Joel is partially responsible for the abomination known as Excel 2007 where I can't pull-drag the damn window from screen to screen (but all of the other Office 2007 products do!)
- mistermann 12y agoWIN+SHIFT+ArrowKey
- tim333 12y agoHe seems to have left Microsoft in 1995, so no, not really.
- skeletonjelly 12y agoTrello (by Joel's company) is OS agnostic (running on MongoDB and node.js). But from memory they did this to learn new tools.
- Cherian 12y agoThis has nothing to do with Joel. The decision was from Jeff Attwood. Jeff was a c# veteran and MS stack was the easiest decision to come up with an MVP and the journey from there.
- Alupis 12y agoOne must wonder, how much better this setup would of scaled had it been a more appropriate webserver stack such as Linux/BSD + Apache/Nginx or similar. Perhaps less boxes would be needed, or with the same number of boxes, more concurrent users. > Microsoft infrastructure works and is cheap enough not as cheap as just paying your team to maintain the boxes. I wonder how many times in the past few years SE has needed to call Microsoft for support? Would a RHEL license still be cheaper (probably)? If something like CentOS then there would be no support cost unless you need to bring in an outside contractor (for a particularly nasty issue).
- Amezarak 12y ago> One must wonder, how much better this setup would of scaled had it been a more appropriate webserver stack such as Linux/BSD + Apache/Nginx or similar. Why is the Microsoft stack not appropriate? I am not aware of any spectacular performance difference between Apache and IIS, or Windows Server 2012 and Linux, and clearly the SO team is not religiously Microsoft, so it's hard to see why they wouldn't have switched if it was a clear win. MSSQL is actually, in my experience coming from MySQL, amazing - I'm back on MySQL and Postgres now and I often wish I wasn't. I'd say it's the most underrated of MS's products, probably because of the expense of the Enterprise/Datacenter editions.
- Nick-Craver 12y ago> One must wonder, how much better this setup would of scaled had it been a more appropriate webserver stack such as Linux/BSD + Apache/Nginx or similar I guess you're gonna have to define "more appropriate" for me, I have a feeling we'll have a fundamental disagreement there. We could (and have) run the entirety of our peak load with 1 SQL server and 2 web servers (and not pegging them). Don't forget we run with a crazy amount of headroom at all times, by design. I'm not sure how much better you picture that scaling on a linux environment. > not as cheap as just paying your team to maintain the boxes That makes a lot of assumptions about the team, their expertise, and what support issues would arise. > I wonder how many times in the past few years SE has needed to call Microsoft for support In the past 4 years I've been here? Twice. Both to report bugs in CTP versions of SQL server. At no cost, and we improved SQL server as a result of being testers. We have a very good relationship with Microsoft and talk to the developers that make the tools and platform we use in order to make life better for both of us. We do the same thing for redis, Elasticsearch, etc. It's the same reason we open source almost all of the tools we make. > If something like CentOS then there would be no support cost unless you need to bring in an outside contractor (for a particularly nasty issue) We use CentOS for all our linux systems and are deploying new servers on CentOS 7 now. We'll me migrating the others in the coming months. That doesn't mean it's free. Developer or sysadmin time to control Puppet deployments and such still eat some factor of time. Nick Craver - Stack Exchange Sysadmin & Developer
- _random_ 12y agoThey simply decided to choose the best.
- hudo 12y agoJeff Atwood hacked prototype and next several versions, and since he's a .net guy (and ruby guy now), that's why .net was picked. Lot about tech stack planning can be heard in first few SO podcasts, don't even know if there're still available online somewhere
- tannerj 12y agoI haven't listened to these yet, but I think this is what you are referring to: http://blog.stackoverflow.com/2008/04/podcast-1/ http://blog.stackoverflow.com/2008/04/podcast-1/
- felixrieseberg 12y agoI might be a bit late to the party, but if anyone is interested in copying the Stack Overflow setup, we're offering startups free software, 60k in Azure credits for accelerator-backed companies and engineering mentoring, if required. Find me at felixrieseberg.com or felix.rieseberg@microsoft.com and I can set you up.