5 ms·
IMO this is more of a distribution problem than an OS problem. If MS did a better job at supporting headless Windows distros to compete with Debian (and simila
by tonymet 2y ago
IMO this is more of a distribution problem than an OS problem.
If MS did a better job at supporting headless Windows distros to compete with Debian (and similar linux) distros, it would be more popular.
For 9/ 10 tasks, it's way easier to spin up Debian , install a web / db / app server and have a running solution.
With windows you're still running through dozens of MSI packages, setup screens. It's too inconsistent.
There are workarounds to this, but they are not as mature & familiar as the corresponding linux setup.
It's the UX not the platform.
- what-the-grump 2y agoWhy is it a problem at all or is being frame like a problem? Microsoft can easily drop a fork of windows, slam out all of the com crap, leave .net core and include some IIS, but why, you already have someone doing it in Linux.
- everforward 2y agoIt makes Windows hard to operate in a “servers are cattle, not pets” environment, though my experience is limited so I’m open to corrections. That then makes Windows less appealing to the infra-as-code crowd, which is growing to be “almost everyone” these days. It’s not just having an image with those things, it’s the entire surrounding ecosystem. Eg my experience with exe or msi installers is that using them without a GUI ranges from “difficult to find the right CLI switches” to “just not gonna happen”. Also, I think a lot of that com crap is used by Powershell, so gutting it also means giving up CLI access to stuff.
- atomicnumber3 2y ago"my experience with exe or msi installers is that using them without a GUI ranges from “difficult to find the right CLI switches” to “just not gonna happen”." This was my student job during college :) wrapping installers in scripts so they'd install headlessly. My favorite part was that windows would need to be rebooted CONSTANTLY. Seriously. Provisioning a new box for some environments would result in TEN OR MORE reboots depending on exactly what shitware you had picked to install. And by shitware I do of course mean exorbiently-expensively-licensed academic/scientific software. The more scientific it was, somehow the exponentially worse the installer experience would be. We had one package where we were literally forced to cram in a step where you would literally pick up the phone and call IT and someone would come over and plug a USB in while the install proceeded. The software was able to be network-licensed but only post-install, the installer itself never got the memo and wanted the usb to be physically present on the box during install. Death by a thousand cuts (and some big gashes), Windows is just not built to work headlessly/scriptably, period. And trying to make it work like that takes tremendous investment, constant babysitting, and it's still fairly shitty even in the end. Meanwhile we just apt install shit in dockerfiles and it just works.
- zokier 2y agoYou mean like they did almost a decade ago when they released Nano Server? https://learn.microsoft.com/en-us/iis/get-started/whats-new-in-iis-10/introducing-iis-on-nano-server https://learn.microsoft.com/en-us/iis/get-started/whats-new-... etc
- notatoad 2y agois it a problem at all? why bother trying to switch people over to windows when you can just make money off hosting their linux servers?
- tonymet 2y agoyou're not thinking about the sales channel. It's more lucrative to license Windows + SQL server + MS 365 + etc etc than hourly VM rates.
- Nab443 2y agoExcept the very few that will take that option when there's a better open source alternative for free won't make it worth it.
- notatoad 2y ago365 is a hosted service. you don't need to run windows on your servers to use it SQL server is also offered as a managed service on Azure, and you can query it from your linux server just fine.
- tonymet 2y agoi'm talking about the sales funnel
- firesteelrain 2y agoMicrosoft does have this. It is known as Windows Server Core and it is available as a Marketplace item in Azure.
- tonymet 2y agothere's still tons of steps to run an app on it, and they all require a gui and manual input. There's some automation, but the maturity level is 2/10 compared to linux. So there's a chicken-egg issue that Windows doesn't provide adequate automation out of the box to create the automation ecosystem that has led to the turnkey solutions available to linux customers.
- firesteelrain 2y agoI just use Ansible with OpenSSH from my remote host. I can also run PowerShell
- zokier 2y agoMicrosoft has PowerShell and DSC as their automation solution. Its pretty ridiculous to say that they are not providing that.
- firesteelrain 2y agoI use DSCs too though I prefer Ansible. Sometimes I combine Ansible with DSCs
- pxc 2y agoPowerShell is cool but there aren't convenient PS interfaces for a huge number of normal tasks on Windows When you set up your next Windows workstation, set a rule that you perform all of your configuration (incl. application settings, as far as is possible) via PowerShell or other automation. It very quickly becomes immensely frustrating, but doing the same on Linux is much less so (Mac is somewhere in the middle). You'll also find that when it comes to achieving something you don't yet know how to do, even finding a scriptable solution on Windows is kind of a nightmare because both the Microsoft documentation and every third-party website and blog is flooded with (useless, for this exercise) manual GUI garbage. DSC is nice, though.
- progmetaldev 2y agoThere's also Azure App Service on Windows, which acts like a headless Windows distribution. There's integration with Visual Studio and Visual Studio Code, as well as a web interface and command line interface. Most of the web software I work with now has ported over to work on Linux and Windows (with the consolidation of .NET Core/.NET), and I'm really only held back by the CMS software I use still being tied to MS SQL Server/Azure SQL (of which I can also deploy to from Visual Studio or Visual Studio Code's version of SQL Management Studio). Really the only issue is if you want a full virtual machine running Windows itself, so you can treat it like a local machine.
- yndoendo 2y agoMicrosoft is so big that the CEO runs the company based on Friedman doctrine, aka their stock share holders are the driving force. Most stock share holders don't know the difference between OS designs or automation. Most are only able to read news clippings. Cannot remember the last time Microsoft Azure actually made non-tech news. Linux's share holders are the community around the developers and users. They want to continually make a better products. There are no stock holders to court. This is why Microsoft will not produce a more viable product that people are looking for in the server and embedded market. Their Oligarchy locks them into company IT infrastructure and PC gaming. I would also argue that Mac OS is a better personal OS when gaming is not a requirement but they are cost prohibited by the average person, so Microsoft eats that cake too.
- pjmlp 2y agoNano Server, now Server Core. However even if they were much better than they currently are, many people go to Linux workloads due to licensing. Unless the applications they are deploying depend on Win32 features.
- imran-iq 2y agoMicrosoft also charges per core for a licence, linux does not
- jaboutboul 2y agoI think this is oversimplifying things a bit. There are many workloads running on Linux that also pay licensing for RHEL, SLES and Ubuntu Pro. It really comes down to the requirements for your app as defined by the vendor and/or the internal team.
- imran-iq 2y agoLicencing exists for enterprise support if you want or need it, but it is absolutely not required for linux unlike windows.
- AshamedCaptain 2y agoReally? Any numbers? Cause I aleays comented that for allnthe companies I've worked, even the ones thatnloterally developed proprietary desktop software for Linux and thus had RedHat on all workstations... they never sent a single dime to RedHat.
- progmetaldev 2y agoWere they actually running RedHat Enterprise Linux, or was it something like Fedora or CentOS? CentOS was basically RHEL with the branding stripped, but I don't believe they had any kind of support agreements.
- AshamedCaptain 2y agoThat is the point.
- bongodongobob 2y agoThat's one option of many but not the only way to license.
- bayindirh 2y agoWindows as an OS is not as resilient as Linux when it comes to non-ideal operating conditions. Plus, Linux is way lighter when compared to Windows. I can easily fit a stable and reliable server inside 512MB of RAM with a couple of services on top of it. You can only dream this on Windows. CPU requirements has the same gap. Linux is way lighter. Lastly, Linux can be tweaked from terminal completely. You need to do complex tricks to do the same in Windows.
- ajross 2y ago> Plus, Linux is way lighter when compared to Windows. More specifically than just "lighter", the Linux distro metaphor and ecosystems have already adapted to decomposed use cases. You can run the same Debian or whatever image in a Docker container that you do on the bare server (or RPi/SBC) that you do in a Desktop VM or a Xen cloud host. Your ssh-based deployment and maintenance scripting works the same, etc... Windows gets sticky and weird the farther you get from a desktop deployment. It's a soup of special case tooling and "Here's How You Do This One Thing". So when those things change, Linux folks just tweak their install scripts a bit where Windows users need to wait for someone to Design a Product for the niche. This is what everyone was saying back at the dawn of cloud hosting, and it's exactly how it's played out. Windows can be made to work, but... why would you?
- tonymet 2y agoThis is also a distribution problem. If there was a distro with NT kernel, SSH and core services it could run on the same hardware.
- bayindirh 2y agoNope. NT is designed with “not POSIX, not UNIX” ethos, and this affects the interfaces in and around the OS profoundly. You won’t be able to configure and communicate with NT kernel the way you talk with *NIX system, i.e.: with files. You open a serial port the same way you open any file. Same call, single line. In Windows that was 30+ lines to begin with. NT is not bad, but it’s not UNIX, and designed to be complete opposite of it. No user land can change that. Even “subsystem” functionality can’t make it replace Linux as we see today.
- alfalfasprout 2y agoEven if there was an easy way to run windows headless and microsoft didn't charge per-core licenses I actually think the platform itself is the issue-- It's that windows isn't POSIX compliant. It's easier to port libraries, etc. to run on OSX than it is on Windows. There's all sorts of weird gotchas when porting to windows as well. Setting up many language runtimes, compilers, etc. is all very different and oftentimes poorly supported. There's far smaller of a critical mass of libraries that will run on windows either (natively not on a VM).
- katbyte 2y agoYep. My MacBook and Debian servers act pretty similar from a cli perspective. If it’s in apt it’s nearly always in brew
- bithead 2y agoBrew makes me cringe. Apt just installs what you need and then it's done. Brew makes a thing about updating everything - I'm always reluctant about it. It does make having multiple versions of python fairly easy.
- znpy 2y agoa while ago there was a bit of fuss about Windows having introduced something very similar to containers... in the sense that you could spawn small windows "instances" (I don't remember the correct name) and run applications in there. similar to "containers" (as a bunch of namespaces) rather than jails rather than zones. IIRC Kubernetes could have windows node as well? EDIT: yep... https://kubernetes.io/docs/concepts/windows/intro/ https://kubernetes.io/docs/concepts/windows/intro/
- pxc 2y agoThey are in fact containers. Docker can leverage them, although usually Docker Desktop users are running Linux containers under emulation. https://learn.microsoft.com/en-us/virtualization/windowscontainers/about/ https://learn.microsoft.com/en-us/virtualization/windowscont...