In a bid to deliver management tools for clients to be used from anywhere, on any device, using Linux or Windows, Microsoft has announced the open sourcing of PowerShell on Linux and OS X. PowerShell is a task-based command-line shell and scripting language built on the .NET Framework to help IT professionals control and automate the administration of the Windows, and now Linux, operating systems and the applications that run on them. Along with PowerShell, Microsoft also announced its cloud management solution named Operation Management Suite (OMS) monitoring agent, generally available for Linux.
In an official Microsoft blog, Jeffrey Snover, Technical Fellow, Microsoft Enterprise Cloud Group, stated that Microsoft wants to earn customers’ preference as the platform for running all their workloads – Linux as well as Windows. This new thinking empowered the .NET team to port .NET Core to Linux and that in turn, enabled PowerShell to port to Linux as well.
PowerShell on Linux is now designed to enable customers to use the same tools, and the same people, to manage everything from anywhere. It is initially available on Ubuntu, Centos, as well as Red Hat, and also runs on Mac OS X. More platforms will be added in the future. You can download Alpha builds and check out the source code from GitHub.
The company claims that current and new users of PowerShell on Windows, Linux as well as application developers will be able to experience a rich interactive scripting language as well as a heterogeneous automation and configuration management that works well with their existing tools. Ideally, PowerShell on open source will allow Windows and Linux teams, which used to work separately, to work together.
Open sourcing PowerShell
Earlier this year, the company had open sourced its .NET framework and made .NET Core generally available for Linux and OS X. It had also made the SQL Server available on Linux. Since the PowerShell is based on the .NET framework , it seems inevitable to bring PowerShell to OS X and Linux. Microsoft claims to have started by open sourcing small portions of PowerShell and talking to its partners who were experienced with open source to understand what it took to succeed.
It learned that it was critical that individual users could use Git to checkout code, make changes, compile everything on their machines and run all the tests to verify that their change didn’t break anything. The company realized that it needed to invest in its engineering/build/test systems and work to define a governance model for clarity on roles, responsibilities, and processes so that community contributions could be smoothly incorporated into the product.
Snover also said, “The PowerShell team has always prided itself on being a very community focused team but this announcement takes it to the next level by making the source code available and by adopting an open source development model where we can enjoy a deeper connection with the community in RFCs, issues and accept contributions directly.”
We also needed to extend our community since open source, like so many things, takes a village and that village is key to a great experience! We are partnering with third party companies – Chef, Amazon Web Services, VMware, and Google to name a few – to create a rich, seamless experience across the platforms you know and use.
Microsoft claims that the initial release is an “alpha” mode and is community supported. In the future, it states to deliver an official Microsoft released version of PowerShell based on open source to anyone running a supported version of Windows or NIX OS.
The company also boasts of a PowerShell Editor Service, which will allow users to choose from a range of editors (VS Code and Sublime with others to follow) and get a great PowerShell authoring experience with Intelli-sense and debugging. And, an extended PowerShell Remoting Protocol (MS-PSRP) to use OpenSSH as a native transport, which will allow developers to use SSH or WINRM as a transport.
OMS Angle
Microsoft has also extended the PoweShell experience with its Operations Management Suite, which is its cloud management solution. The OMS gives the user visibility and control of applications and workloads across Azure and other clouds. It also enables customers to transform their cloud experience when using PowerShell on both Linux and Windows Server. OMS Automation elevates PowerShell and Desired State Configuration (DSC) with an available and scalable management service from Azure. Users can graphically author and manage all PowerShell resources including runbooks, DSC configurations and DSC node configurations from one place.
With the OMS hybrid runbook worker, Microsoft is also allowing users to extend their OMS Automation capability and apply, monitor and update configurations anywhere, including on-premises. With OMS for Linux generally available, both PowerShell and OMS claims to help customers gain insights and real-time visibility into their Linux workloads, and the power to quickly remediate any issues that may arise.