On Aug. 18, Jeffrey Snover finally got his wish. It was a wish that we in the PowerShell community knew was eventually coming judging from his tongue-in-cheek responses when asked about it for many months. Windows PowerShell was renamed simply to PowerShell because Windows was no longer its only supported operating system.
It was now available on Linux and Mac OS X and, even better, it was completely open source, meaning that anyone could contribute directly to the project from a Github repository. Many people asked, “PowerShell on Linux? What’s next, flying pigs?”
It was, in Snover’s words, the greatest moment for PowerShell since 1.0 was introduced. So what’s the big deal anyway? Linux and OS X users have long had similar shells and scripting languages like Bash, Python, Perl and others. What was so important about PowerShell coming to Linux and how does this affect Linux administrators?
To truly see how big of a deal this is, and how much this isn’t your father’s Microsoft, you need to understand Microsoft’s long-standing opinion of Linux. Historically, Windows and Linux have been mortal enemies, evidenced by Steve Ballmer’s controversial statement back in 2001 that “Linux is a cancer.
Times Are Changing
When Satya Nadella was elected CEO of Microsoft in 2014, he set the Microsoft mothership on a decidedly different course, accepting Linux not as a competitor but rather as just another tool that Microsoft’s customers use. After all, an Azure virtual machine running Linux pays exactly the same amount as one running Windows.
PowerShell was one of the pioneers in this new, more open Microsoft. This was the biggest news of this deal. History aside, PowerShell on Linux isn’t just all hype and a symbol of how Microsoft has changed. There are many features from a technical standpoint that some IT pros will benefit from.
We live in a heterogeneous, cloud-focused world. Nowadays, forward-thinking organizations don’t necessarily care about the operating system their services run on. As long as the service is responsive, scalable and just works, the underlying infrastructure is abstracted away. This is a core idea of the “platform as a service” (PaaS) or any number of “as a service” offerings you may see out there. As a result, administrators and developers need a single tool to control all of these instances regardless of operating system. This is what makes PowerShell on Linux so beneficial.
PowerShell Across Platforms
Windows administrators can now manage Linux and build tools just as they would Windows with only a few minor changes. They no longer have to learn a new scripting language. They can now leverage their PowerShell knowledge and directly apply that to their Linux servers. It makes managing servers operating-system independent to a certain extent.
The same can be said for Linux administrators that have to manage Windows systems, but they will probably not benefit as much. Why? Because they’ve had tools to do this longer than PowerShell has been around. Most senior administrators and developers are already pros at languages like Bash and Python.
If an admin or developer only works on Linux today, PowerShell on Linux won’t be a big deal. They will just continue scripting and building apps in a language that’s comfortable to them, and that’s just fine with Microsoft.
Microsoft’s not trying to take over the Linux world with their language. They completely understand that Linux already has mature tools. They are providing a bridge between what we would call the “Windows guy” and the “Linux guy” which traditionally has been two very separate teams. By building this bridge, they are getting more involved with the open-source community, which makes PowerShell a better product and, being a public company, they hope to use that bridge for some of the Linux community to cross over to the Microsoft side.
Is an open-source PowerShell on Linux a big deal? It is for the mostly Windows shop that curses the world every time they need to make a change on a Linux system but not for the Linux shops that only manage Linux. But on the flip side: if you’re a Linux administrator or developer that only works with Linux, will you use PowerShell? That’s largely up to you.