4 ms·
I don't understand why everyone on HN hates Windows server so much. From an administration standpoint they are much easier to setup and use thanks to their GUIs
by spo81rty 14y ago
I don't understand why everyone on HN hates Windows server so much. From an administration standpoint they are much easier to setup and use thanks to their GUIs. Windows is very standardized and has very good management tools and interfaces.
C#, ASP MVC, and Visual Studio are extremely good tools. I've programmed in C# for 10 years and never had a project I could not do quickly with it. It has very good support of 3rd party controls like Telerik, and there are lots of open source projects on codeplex, github, etc.
The most expensive part of software development is paying developers. Spending a few dollars on good dev tools or 3rd party controls is a very good investment and can save a lot of time.
- katbyte 14y agoI've done both (win and linux) and they each have their disadvantages and advantages, it would be hard for me to pick a clear winner because it really depends on your skillset and the task at hand. If i were to do a big enterprisey project with a big budget i would definitely be more likely to go with windows while if i were to do a web/online start-up i would more likely pick Linux.
- martinced 14y agoMedium enterprisey project with a medium budget, I see people picking C#/CLR> But really big enterprisey stuff with really big budget? It's all Oracle DB + Java on Unix there. Just as all the really big infrastructures (Google, FedEx, Amazon, etc.) are all Unix.
- spo81rty 14y agoI think you nailed it. Large enterprises want support. Although some also see potential cost savings of Linux.
- tucaz 14y agoIf I had to, I would bet with no fear that web development today can be made with any tech stack (.net, ruby, python, etc) without signficant differences in schedule or effort put on it. Choosing stacks todays is pretty much a matter of taste and skill availability.
- stevenelliottjr 14y agoBecause it's too easy! Nerds would rather spend countless hours at the command line figuring things out than having a nice interface to get stuff configured and running. As a developer, I don't want to spend my life also configuring servers - sometimes it's just nice to get things working without a ton of hassle. Of course nowadays we use Azure or AppHarbor for everything but we still have some services running on IIS internally. There is this counter culture against anything MS on HN - I don't get why.
- rjh29 14y agoAt our shop we prefer scripting, automation and automatically deployed/centrally configured config over GUIs. The learning curve may be a little higher, but once you've got a taste for how quickly you can do things with scripts, Puppet etc. and how fast you can scale out, you'll find that you actually _save_ countless hours. We can also use virtualisation everywhere, for testing, quick deployment, offsite deployment, cloud... without worrying about licenses. The fact that EC2 Linux is significantly cheaper than Azure is just a bonus.
- corresation 14y agoBecause it's too easy! I have to disagree. Windows Server has the illusion of ease, but the same mechanisms that guide your hand in the early days turn into a major hindrance later on. There isn't a Windows server running anywhere that doesn't have event logs jammed full of potentially deadly warnings and errors, and most "easily" setup Windows servers are setup insecurely and wrong. In my personal experience (and I have a lot of experience with both) I've always found Linux build outs much more predictable and easy. As to the "counter culture", that goes back to when Microsoft really were the pricks of the technology world. They've gotten much better, but it's hard to shake that.
- nkohari 14y agoNo one wants to spend their life configuring servers. That's why tools like Chef and Puppet exist -- so you can write code that will do it for you. They just don't work as well for Windows as they do for Linux. After a significant amount of experience in the .NET ecosystem, I believe the majority of the anti-Microsoft sentiment is well-deserved. At one point, there was a lot of innovation in .NET OSS, but it seems to have ground to a halt within the last few years. It's possible I'm just projecting because of my own experience, but it seems like many of the more influential members of the .NET ecosystem have gone on to do other things. It's not that Microsoft or .NET is bad -- it's just that there are better options.
- NateDad 14y agoWindows isn't free, so if you need to spin up 10 new servers to meet demand, you can't just DO it. You have to pay Microsoft for the licenses first. It means that all your test and dev servers need non-free licenses.... it's a non-free hassle. Honestly, admin on Linux is not that hard, and server most tools out there were designed for linux first, and Windows instructions are often of poor quality or lacking entirely.
- nkohari 14y agoThat's not really true -- in practice, most companies have a volume license for production machines, and a single MSDN subscription includes as many licenses for development and test as you want. I'm not advocating that anyone use Windows, just saying that in practice licensure isn't as hard of an operational problem as it might seem. The price still hurts, though.
- nkohari 14y ago> From an administration standpoint they are much easier to setup and use thanks to their GUIs. Windows is very standardized and has very good management tools and interfaces. Having managed both, I have to disagree very strongly. A GUI works fine when you want to manage one machine (although it's kind of a pain in comparison to SSH), but when you want to manage dozens, you need sharper knives. The tools available for automating devops (chef, puppet, etc.) are very oriented towards UNIX-based OSes. We have around 70 Linux machines in our production system today, and if I had to manage them through RDP and GUIs, I'd probably quit and become an alpaca farmer.
- Supermighty 14y agoDisclaimer: my personal experience is managing Linux machines. I think it's easier to manager a service on Linux that has one, or maybe two, text files for configuration. They often ship with every option available, even is commented out, and a little note detailing exactly what the option is for. My only real experience with Windows Server was having to add a new mime type for .fla files for IIS. The .fla were downloading instead of playing. The option was buried deep in in multiple configuration windows and dialogue boxes. It took forever compared to what a simple AddType would have taken in an Apache text file.
- Supermighty 14y agoActually, I really love the annotated text configs. It's like I'm talking directly to the developers.
- brass9 14y agoHaving to manage both Windows (IIS) and Linux servers (mostly Debian and a few CentOS'), I much prefer tinkering with Linux CLI rather than clickety-clicking on pretty GUIs.
- psremote7 14y agoWhy are all people assuming Windows is gui only? You can script practically anything using powershell and multi server management using powershell remoting. System center + ad group policy is light years ahead anything else.
- MatthewPhillips 14y agoBecause almost no one actually does that, despite it existing, and tools and documentation for it on the net are very sparse.
- yread 14y agoIn my experience all the windows sysadmins I've met were doing EVERYTHING by commandline. Either through netsh and so on or they memorized .MSC commands for opening a particular GUI and then use a keyshortcut to flip a switch or so. You can hardly see what's going on
- nkohari 14y agoI think PowerShell was a great idea with weak execution. The real issue is that the OS and many Windows services (like IIS) weren't built to be managed via the command line. They're gradually adding support for it, but not in a standardized way. Configuration and management on Linux is anything but standardized, but it's almost always as simple as changing the right line in the right file in /etc. Also, the ecosystem is so large and mature that tools have been built to make things simpler. You can manage Windows machines via PowerShell, but that doesn't mean it's easier in practice than SSH and Linux -- particularly given the toolsets (Chef/Puppet/etc) that have been created around it.