Over the next few years, PowerShell is going to become essential for the data professional. With both PowerShell and SQL Server now running on Linux, the former is the increasingly-obvious way of scripting and managing the latter.
PowerShell is a very useful scripting language, and has been of strategic value in large IT organizations for some time. However good it is, it has always suffered from being very closely tied to the Windows environment. This is changing, and the work has been going on for some time. Not only have an increasing number of libraries such as DSC resources, PowerShell scripts and the documentation itself become open source, but also PowerShell for Linux and Mac OSX, powered by .NET Core, is now open-source, in GitHub, under an MIT license. It is, at this stage, only alpha but we are heading for a released product 'based upon community input and business needs', possibly before the end of the year.
The objective is a single codebase for PowerShell that allows contributions from the community of users. It'll be the same code wherever it runs. The idea is to provide a single management stack for the typical large organization that has a heterogeneous IT server environment, and who are increasingly running services on the Cloud (Azure, AWS and Google).
It is quite a daunting task. In its general architecture, Windows has always had an API culture whereas UNIX and Linux has been more document-oriented, with a trend toward structured data documents. Providing a framework that is equally at home in both settings is hard work. However, PowerShell was always imbued with the Unix culture in the way it worked, and the inspiration it took from Unix Bash. Many of the team who designed PowerShell were from a UNIX background. Even when pipeline issues are resolved, there is a lot more that is required. It isn't enough that scripts will run; the scripts have to be easily editable in a range of Linux-based text editors such as VS Code and Sublime, with IntelliSense and debugging. Also, PowerShell remoting has to be extended to work with Linux servers, by including OpenSSH as a 'native' transport.
I'd guess that a version of SMO will run on NET Core soon. I'm not so sure that SSIS is going to make the leap though, even though for data integration PowerShell is not yet a super-slick alternative. It is very apparent that PowerShell and SMO are getting a lot of love from Microsoft at the moment, and it is easy to see why. They are a major requirement for the goal of a single management stack for databases across all the popular hosting environments.
Phil Factor.