I follow a similar motivations, I tend to focus on what my clients can manage effectively.
Most of them are small to mid-sized financial services firms, they have money to spend on IT, they just don't have the inhouse knowledge they need (at the manager level) to do much, and they have no interest in a huge IT department.
Historically, that meant Windows as the solution most affordable to them, because it was so much easier (in the 90's) to find reasonably priced windows system admins and developers, and you didn't have to be super techy to screen these people, no arcane *nix info.
Linux was for the big guys, and of course, their DB options were limited to Sybase, Oracle and a few other ridiculously expensive options (assuming they wanted support) MS SQL Server 6.5 came along, it was cheap, had a GUI, anyone with a PC background, even a lay person could work with it and learn it pretty easily. (used to work for a person who thought every financial analyst needed to know SQL and have SQL Management Studio installed)
And it was Sybase in a end-user friendly form. And I gotta say, it was so much easier to manage quickly/out of the box compared to running Sybase on Suns, which I had been doing. Sybase at the time wanted dedicated partitions etc etc. and all sorts of contortions.
When I moved from academia, the business world was mostly Sun (in academia, SunOS/Solaris etc was only deemed suitable for file servers, for real servers you wanted SGI, IBM, HP, DEC (both unix and VMS) and I don't remember the others ). However, buying Sun servers with Sybase, or Oracle and finding people that could manage it was very hard/expensive for a company with <50 employees.
Now, I've been doing PC's since the introduction of the IBM AT, before which I was mainframe/teletype or Apple II. Real computing started with Sun workstations, I laughed at the first Macs because they were so primitive compared to my Sun workstation or my X-terminal and the graphics were horrible.
I then moved into all real work on VAX, Amdahl, SGI, IBM and got serious about Big Data (such as it was circa 90-95). Linux 0.9x and BSD were fun toys that you could use as a workstation if you were adventurous (but because my team had really big budgets for building supercolliders, we got the good stuff, the expensive and fast stuff)
Then went to business, and no one had my old budget and linux was not yet ready for Prime Time. So Windows took off.
Nowdays, yes Linux is ready for my client base, for servers. Lots of nice/tested OS apps/platforms with well tested scripts, it's never been easier to have a Linux box. I'd argue this is at least as important as the price feature. Ease of use for the low to mid-tech people is critical. This wasn't there until within the last ten years.
But application development? The programming overhead is still a problem. It is still much easier/cheaper to get C# or VC++ people. Unless you are just doing web development.
Don't know if you've noticed, but every other job opening seems to want a Java Developer. Far more expensive to get good ones than C# developers. Same with C++; a truly good C++ developer is hard to find, but there are a lot of so so ones that end up costing you money in lost time, poor design. C# is extremely forgiving compared to every other major language, so even a mediocre developer can be productive in it for relatively low money.
Same reason Ruby/Rails and other prepackaged platforms are great for basic websites. Very easy to use..
Long diatribe....my goal is always to get something that my client can support.
Which is why I am one of the few people that goes in and talks people down off the MVC ledge. I've found a lot of peopled get talked into MVC by consultants, but they don't have the tech budget for long term support of MVC applications. There aren't enough MVC developers out there and it requires a much larger development team. Anyone can bang their way through webforms, Ruby, PHP, etc.
Now, all that being said. MS SQL is getting too big for its britches. PostgreSQL, MySQL, etc work reasonable on Windows, but better yet, download a custom tailored VPS to run any/all of those and be done with it. Nowdays there are great windows/macOS client tools, web tools etc for managing them.
I do think this is the future, it's just about how do we walk people there? MS has served it's purpose, (in particular to beat the crap out of even bigger vendors trying to lock you into even more expensive platforms: IBM, Sun, HP Sun, Oracle, SAP)
but I think costs and end user quality will split the workstation market to Windows, macOS, maybe ChromeOS (???) and non-premium servers will be clusters of VPS or container servers, probably containers long run.
I think the high end will most continue to be high performance supported Open Source based products leveraging java for HADOOP and it's crazy bestiary. But that is still to be seen as to how exactly it will play out.
Edited by user Monday, November 7, 2016 2:08:21 AM(UTC)
| Reason: Not specified