ahahahahah what? Dude, do you work for Microsoft? "Well see, we just have to run MS-SQL server (DESKTOP OMG EXPRESS ENGINE) here, and then we run IIS on top of it to serve this file listing..."
People run Microsoft software for a variety of reasons, and while it may shock people on HN and elsewhere - often times it is for reasons very similar to your Exchange statement at the end. It really truly works. SQL Server is a fantastic RDBMS at the mid and high end of the market. 1000 people are rolling their eyes right now because once upon a time they touched a system that used SQL Server and it was terrible and the developers were not happy. Give me a break, you can write crappy code for any system and SQL Server is no different.
As for Windows running the server, it has been a very long time since anyone tried to claim it inferior as a web server - about 5 years ago when Scott Guthrie's team made IIS modular the story changed and it is now every bit as capable as Apache.
Don't worry though, I wont try to defend Sharepoint.
The mix is there though, I have clients who run Windows on the server and Oracle as the DB. Also MySQL, Raven and one using Redis as a backing store. I have a client who runs a rails shops and use SQL Server as the backend because its BI stack is so strong and even have a client who is a 'Microsoft shop' who is considering ASP.NET MVC running on Linux pointing at a MongoDB repo.
What I recommend is based on the feature set they need and their access to talent, the cost of server licensing can sometimes play in the discussion but only at the lower end of the market (startups, small business).
> Previous examples for example being software that requires Microsoft SQL server to be installed on client machines as the software needs certain dll files that comes with Microsoft SQL server.
I don't think this is true, Microsoft ship all the client-side components of SQL Server as a bunch of MSIs you can pick-and-choose between. Since at least SQL Server 2005 [1].
I just took my first plunge into the caustic waters of SQL Server, being forced there because my company is deploying a vendor-supplied shipping system that only runs on it. Since the data set would be growing beyond 5GB, SQL Server Express was not an option. Coming from a Postgres world, Linux, Java world, the whole subject makes me sick.
I was disgusted to discover that my 200-strong Mac shop would have to spend $7,000 on SQL Server. I was even more disgusted when I discovered that Microsoft no longer lets me run it on the server I purchased, a dual 6-core machine, because now EVERY core is licensed individually, and you are FORCED to license every core in the machine. You can't just license some of them. That forced to run it in a VM, which is just asinine. And THAT means that I also had to purchase an additional Windows Server license to run a SEPARATE VM for IIS/ASP.NET.
And THEN (and this is the part that offends me most of all), I have to purchase a CAL for every damn machine that will be using the shipping system, because it's not a public website, but a private web app.
Interestingly, Stack Overflow is using several of those tricks to speed up their internal services, as the kernel-side HTTP server is made available to everyone, it's not locked to MS applications. AFAIK they have few "microservices" which don't use IIS but handle HTTP through HTTP.sys
SQL Server has huge amounts of tuning and cooperation with NTFS driver team to ensure good performance, and frankly, it's at the high-end of the databases, and I really wouldn't mind using it except for price :(
I worked for a startup a while back and we tried to get quotes on running Microsoft SQL server. The sales rep could not comprehend that we were a web company. They continued to try to ask us about how we would be using it to manage our in-house inventory. Even after explaining, "no we're a web company, like myspace", the rep still didn't get it. We used MySQL.
reply