Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What part of hosting apps on Windows was painful to you? I actually prefer to host my apps in Windows when I'm able and the technology stack supports it. I don't need to set up new apps often, but when I do, it's many orders of magnitude faster for me to get an app running on Windows vs. Linux.

Linux works great as a server OS once I get everything set up and configured correctly. I never need to think about it again. However, I dread having to set things up on a new Linux machine. There's always some hardware that doesn't install correctly or some config file that needs twiddling. Sometimes it takes an odd sequence of commands that needs to be run in just the right order to get things going. Invariably I waste hours on the internet searching forums every time I do this, getting more and more frustrated the whole time.

As far as Windows hosting goes, I find IIS 7 to be much easier to set up and customize than Apache in terms of hosting web applications. I find the uptime of Windows Server boxes to be functionally equivalent to their Linux counterparts. I also find it's much easier to administrate large groups of Windows servers because of the nice tooling. Things like Active Directory, SMS and SCOM make things pretty easy.



I currently run a company (on the IT side) with 100+ servers...a healthy mix of both Windows and Linux. To write-up the benefits I see of Linux over Windows would take a fairly long blog post...perhaps I'll do that soon. However, I will say that the last time I had a Linux hardware problem which wasn't related to a display driver issue (and in other words, not on the server) was in 2006. Our Linux servers are reliable, easily configured (admittedly....we know what we're doing) and have very high up times. Contrast that with our Windows servers which at this point we've had to resort to weekly reboot Windows to keep them performing.

Personally, I also find it much easier to find help online with Linux when things do go wrong...and that Microsoft (wisely) makes the whole experience very painful unless you're willing to pony up for their more expensive "tiers" of software. As an example, even though DFS-R is included in Windows Server, try managing a real, live deployment given what you're provided with just Server. Unless you purchase SCOM, your will fail.


That said, Microsoft got one thing very right: active directory. If someone were to develop a similar solution which could manage both platforms, I'd buy it tomorrow.


Identity Management and SSO are two area that once one can install them successfully, that's pretty much mark the point of no return :D.

Consultants love these kind of projects!


> I dread having to set things up on a new Linux machine

That's what Puppet, Chef, package management and a host of other tools such as virtual machine images and unattended installs are for.

> There's always some hardware that doesn't install correctly

Most server-grade hardware you buy from reputable sources is exquisitely Linux-compatible. I never had any problem with that.

> it takes an odd sequence of commands that needs to be run in just the right order to get things going

This indicates you are deploying servers without really understanding what you are doing. Your phrase evokes a series of spells that have to be cast in order to conjure the proper demons. Unix machines simply don't work like that - there is no magic.

> Invariably I waste hours on the internet searching forums every time I do this

Buy a good book, read and understand the documentation of the software you use. Hire an experienced consultant to teach you and your team, if needed.

When you understand what you are doing, it is really easy. Every piece is open to inspection and all you need to do is look inside.

> I find IIS 7 to be much easier to set up and customize than Apache in terms of hosting web applications.

Until you need to do something the GUI doesn't allow you to do.

> I also find it's much easier to administrate large groups of Windows servers because of the nice tooling

The tooling is there - you just need to learn it. We use Puppet where I work and we use it to manage our server fleet. Works as intended.


You're totally right. I don't know what I'm doing. I'm not a sysadmin by trade. I've had the misfortune of having to deal with sysadmin work because I was the only one willing to dive in. So you mention Puppet, Chef, the distro's package manager of choice. These are all great tools but they have a learning curve. My point was that hosting apps on MS requires much less in the way of configuration and learning. You can just get things working.


Indeed, but it's harder to automate. And automating tests is very important.

Some test cycles here involve the automated deployment of VMs based on machine templates that are then configured using Puppet. If we were to do that with Windows, those tests would never run.


You can totally automate the deployment of windows machines. Maybe what you suggested the other guy did for linux you should do for windows.


What would be the automated testing tool in this case?


Maybe I misunderstood what you're saying (and on re-reading I'm still not entirely sure). Are you saying you chose a tool that doesn't work on windows and those tests would never run because of the tool you chose? Or are you saying that automating the deployment of VMs based on machine templates for testing is not possible in windows (hence "those tests would never run"). Reading your parent comment re: automated provisioning and configuration of virtual machine images - windows has all this. You suggest that people learn linux better, but seem unwilling to do the same for windows.


No. I chose the tool because it did what I wanted it to. It was implied there are automated tools that, say, upon an SCM push with a given tag, can instantiate Windows VMs, deploy and test the app with no manual intervention and report any issues encountered. I never did that and I'm curious about how would you do it.

I imagine a combination of Buildbot and Microsoft's VM container could do it and be automated with a PowerShell script, but I'm not very sure how. Has anyone done something similar to this?


Sometimes it takes an odd sequence of commands that needs to be run in just the right order to get things going. Invariably I waste hours on the internet searching forums every time I do this, getting more and more frustrated the whole time.

I have found this to be the case for any system that I've had to deal with for a decent amount of time. Simply change odd sequence of commands to odd registry changes (or xml files in IIS), or click these random guis and see if it works. One thing I like about the linux CLI though is that generally once I find the command it really does work.


You have to be careful with magical thinking. There is a reason why your commands failed when you changed the order and, as a sysadmin, you need to know why.

Usually, it's obvious once you understand what you are doing.

Usually, it's easy to understand what you are doing.


There are a couple use cases: 1) applications where the OS is a commodity - abstraction layer to IO (disk, network). MS solution is their PAAS (which is expensive). 2) existing libraries/services that aren't available on Win32 where it is hard to justify another server license just for .NET - this factors in to where I work; some code can't be .NET as there is already a Linux server in the setup. We've ended up with 80% dotnet and 20% python 3) most companies loathe mixing server OSs; some shops have fallen into the MS camp and others the FOSS camp 4) The proof that they aren't going to cannibalize existing OS/SQL License sales is in your comment




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: