.Net SRE here, all our .Net REST APIs are deployed on Kubernetes. Devs are still mostly on Windows because Visual Studio.
I've worked with Azure team, all greenfield they do for Azure goes on Linux as well. Windows Server is pretty much dead to Microsoft though it will be continue to be supported and released because $$$.
It's been very hard to explain to my organisation that Windows Server is dead. We haven't deployed a system to it in two years, everything is some kind of dockerised linux thing but the "we're a Microsoft shop" idea prevails.
In the end we decided to just let the management think what they want. I've been more of a Unix person for 40 years but I kind of miss the "good" versions of Microsoft Server - in the 1990s / early 2000s it was a real contender. If they hadn't doubled down on weird things like Powershell it might still be a contender.
It hasn't. Powershell is probably one of great things to come out of Windows Server. I still use it with *nix machines and it powers some sidecars at work. If you are stuck with Windows Server, it's only thing that gives you a fighting chance of being able to do anything NotClickOps (tm)
Sure, it's got some unique characteristic that more traditional shell users dislike but that's just a matter of taste.
It irks me that the default for servers still seems to be 5.1 which is anemic and seems to have really weird quirks and syntax differences from later versions. As if the default silent jsondepth thing was not enough converfrom-json hash tables have case insensitive keys. Really?
Someone wrote some automation code that handles json payloads using powershell. When we tried to migrate to azure functions which uses 7.x by default things broke because users never cared to check sensitivity of key names.
It’s also slow even for interpreted language standards.
I’ll seriously never use powershell for anything serious ever again even though I admit syntax and design feels kinda nice.
Because backwards compatibility. I've run into stuff that doesn't working in 7.x without a rewrite.
It's just best to think about Powershell 5.1 and Powershell Core 7.x like Py2 -> Py3. Most of code works as is, some doesn't, and you should use latest when you can.
>Someone wrote some automation code that handles json payloads using powershell. When we tried to migrate to azure functions which uses 7.x by default things broke because users never cared to check sensitivity of key names.
Azure Functions are nightmare in its own. Not sure how much of that is Powershell fault vs Azure Functions.
>It’s also slow even for interpreted language standards.
Actually, it's blown Python out of the water at work. It's startup time can be painful as it's interpreting everything but once it gets going, it really moves. We use it to churn through 4GB CSV at work replacing a Python script, it's much much faster.
>I’ll seriously never use powershell for anything serious ever again even though I admit syntax and design feels kinda nice.
Your loss. Despite the few problems I run into, I really like it and wish more *nix people gave it a try. It's much better then bash nightmares I've seen.
Not really. More command-line admin programs and traditional shells like yori or bash would have been fine. Good enough for every other Network OS to date. Netware had great TUIs.
NT also had OS/2 and Posix subsystems ((checks calendar)) about thirty years ago, now that I think of it.
Not sure what you've used it for but Powershell is about the best thing to come out of Microsoft in the last decade. Very useful and extendable - useful anywhere bash is. It's also the scripting engine of choice for Azure and Entra ID too which is far from Windows Server Land.
I've worked with Azure team, all greenfield they do for Azure goes on Linux as well. Windows Server is pretty much dead to Microsoft though it will be continue to be supported and released because $$$.