6 ms·
Anyone know why systems like this aren’t Linux based? Seems rather ironic when stack overflow seems to be a staple of the open source/sharing community.
by dvdbloc 7y ago
Anyone know why systems like this aren’t Linux based? Seems rather ironic when stack overflow seems to be a staple of the open source/sharing community.
- romanovcode 7y agoThey started with .NET MVC + SQL Server which was not running on Linux back then.
- timrichard 7y agoIIRC from previous articles, HAProxy and Redis are key components too.
- p_l 7y agorunning on linux servers, too. (as well as the ELK stack, which handles logging)
- stevoski 7y agoIIRC when Joel Spolsky and Jeff Atwood started Stack Overflow, they both had strong expertise in the Microsoft ecosystem. So they used the skills and knowledge they already had. It was quite the coup at the time for Microsoft, especially the SQL Server team, to have such a high profile, high-traffic site.
- goatinaboat 7y agoSpolsky is former MS and familiar with their stack. Additionally, SQL Server is a very good database, fast, reliable and feature-rich. Additionally part 2: Microsoft owns Github, can’t get more open source than that!
- dspillett 7y agoMS owning GitHub is a very recent thing in GitHub's development, so that isn't really a good comparison. I doubt getting bought by MS was anything like the plan in the early days! > Spolsky is former MS and familiar with their stack That is key: often experience (i.e. the cost of problems caused by lack of experience) can outweigh licensing considerations, particularly in the fast moving PoC/prototype stages and the subsequent quick growth phase. > Additionally, SQL Server is a very good database No argument there. While other DBs could certainly do the job too, SQL server is a good choice, even without that "experience bonus".
- alkonaut 7y agoYou couldn’t run .NET on Linux (well) back then, and they wanted to implement it using .NET. License costs wouldn’t be a good reason to pick another stack over the one you know.
- Benjamin_Dobell 7y agoMono supported ASP really well as far back as 10 years ago. Stack Overflow launched 11 years ago, and I didn't try it then, so perhaps they just missed out? Although, tooling was very heavily Windows based at the time (no Rider); so it is understandable why StackOverflow took the direction they took.
- tpolzer 7y agoHave you actually used old Mono? I remember sluggish performance, especially of its stop the world garbage collection.
- rwbaskette 7y agoAlso, the standard library for ASP.NET either had gaps or somewhat incompatible implementations of features. I’d give time to attempt a port of a mid-size web forms app every couple years but ran into a number of issues each time. It was an amazing achievement, but never quite got me there.
- merb 7y agono. Maybe ASP MVC4+ worked well with Mono, but WebForms and MVC below 4 was/is just horrible.
- romanovcode 7y agoMono had crap performance on .NET MVC and also some things just did not work. Mono would be horrible, horrible choice for website like SO. Source: Was runnin .NET on Mono 7 years ago or so.
- Benjamin_Dobell 7y ago
- madiathomas 7y agoNothing ironic here. Stackoverflow wasn't designed for open source software. It is a Q and A system for all Developers. People who develop in proprietary technologies also need help when developing. They also share code. A lot. Not sure what gave you an impressiopn that SO is a Linux community because it is not.
- p_l 7y agoThey consider the Windows + .NET stack to have saved them more money than they pay in licensing et al. At the time, major "web development" stacks that people would have thought of on Linux tended to be much more resource hungry (still are), meanwhile the people behind StackOverflow had very good .NET skills that they could apply immediately. This translated into being able to serve more people per server than if they used, let's say, PHP, Ruby, Python, etc. And as people said, SQL Server. Which is a very, very capable database server with impressive performance.
- trilila 7y agoI am not sure what your statement is based on regarding linux being more resource hungry than windows. Have stats to back this up? Same for goes for the SQL Server’s “impressive performance”.
- GonzaloQuero 7y agoThe stacks, not the system. At the time StackOverflow was built, the main Linux stacks were either PHP, Rails, Django, or similar, which, while good, are not as performant.
- trilila 7y agoI am puzzled, what are these statements based on? "Linux stacks were either PHP, Rails, Django, or similar, which, while good, are not as performant." - first time I hear a .NET/Windows/SQL Server stack is more performant than these.
- nikanj 7y agoThe performance of PHP was a joke when Stack Overflow started. It has gotten way better since, but back then it was reading, parsing and compiling every single script your page loaded, for every single page load. You could hack around this with an accelerator module like APC or Zend, but why bother learning how to code around PHPs limitations, when you're already fluent in C# that's plenty fast without any hacking. Not sure how the story goes for Rails, but Python (Django) used to be a pig when SO was started over a decade ago, for similar reasons as PHP.
- lubos 7y agoFrom Atwood/Spolsky podcasts it seems like Spolsky had zero impact on tech stack. Jeff Atwood was at the time C# programmer so he wrote StackOverflow in C#. More context: https://blog.codinghorror.com/why-ruby/ https://blog.codinghorror.com/why-ruby/
- jimmcslim 7y agoI wonder if they would make the same decision about Discourse and Ruby today, given that .NET Core is now a thing and open-source?
- romanovcode 7y agoI bet not, it was clearly a hype-decision for Discourse.
- JeremyBanks 7y agoIt was because his cofounder, who was doing more of the initial coding, was most comfortable with Ruby.
- danielovichdk 7y agoWhy should it be? Honest question.
- madiathomas 7y agoThat was my first reaction when I saw this comment. Why should everything be in Linux? Also considering that SO does the job and does it very well.
- callesgg 7y agoCause it is more work to manage windows servers than it is to manage Linux servers. Less work is better than more work so Linux is better for server implementations. But I guess that is something people will argue over for a long long time. Well... my opinion, based on my experience...
- viraptor 7y agoIf you have people experienced in managing Windows, but not Linux, then it's less work to manage Windows servers.
- callesgg 7y agoYou can learn how to manage Linux and then get even less work. Anyway... I was certainly not saying that there are not scenarios where it is better to go with windows servers. Things don't happen in a vacuum.
- joelhaasnoot 7y agoIt would be interesting to see if they could move their hosting to Linux with something like Mono, even if just testing and seeing what the performance difference is for web nodes. I guess those are rarely the actual bottleneck, but still.
- ocoster 7y agoThey are in the process of migrating to .NET core, which runs on Linux. Wether they choose to move to linux is a different matter.