Microsoft SQL on Linux and future development

Just out of left field Microsoft is in the process of making Microsoft SQL available on Linux with a full stable version that’ll be ready by 2017 ( link ). I believe this move by Microsoft has two matters worth considering:

1) Windows Nano Server is an on going project by Microsoft to dismantle Windows and rebuild it in a way which avoids the spaghetti code mess. The work started out over 10 years ago with min-win but as time has gone along it appears that all the components have been given a clean make over with the most recent being the Universal CRT that brings the standard C and C++ library into compliance with the open standards that exist. Part of that probably also involves decoupling the lower levels of the operating system so that the core consists of the kernel, C and C++ library and all the other libraries only dependent upon either the C/C++ run time library and the kernel interfaces that are exposed to user land. In other words the sort of system that results from it is something akin to FreeBSD mini iso or the ArchLinux basic core where you build up from there.

With the base core and GUI-less stack there is Microsoft working on having to decouple the UI front end from the server software itself given that the software when written always assumed that you had a UI running all the time where as a lot of the work would be done via the UI. Times have changed and Microsoft wishes to make management via PowerShell a first class experience which involves porting PowerShell to Core .NET which is the open source .NET project which is available on Windows Nano Server and can be installed via a package manager which then opens up possibilities for headless management.

Net result? code is being cleaned up so that their whole range of server software can be installed on the nano server so it is only natural that as a byproduct the ‘guts’ of their server software become more platform independent then in the long run I have a feeling that Microsoft will create modern UWP front end that you point to a server or can run locally to control the system itself. Basically it is a piece meal bit by bit clean up of Windows.

2) Microsoft is running where the money is and if that means providing their middleware on more than Windows then I think that is the future they’re looking at. As Nadella noted – they go where the money which is no different to say Oracle who provide their server software on Windows, Linux and Solaris even though they would you prefer that you bought a server off them running Solaris they’re more than happy to sell you a copy of Oracle to run on Linux if it means keeping you as a customer in some form.

Regarding point (1) it reminds me of the sort of work that is being done when it comes to the C++ standard particularly around threading and 2D drawing which makes me wonder whether part of this has to do with the win32 deprecation where the lower level parts of the operating system as replaced with open standard technologies with UWP sitting on top of that open platform so then it is easier to scoop up the UWP layer then transplant it on non-Microsoft platforms and provide the same experience regardless of the platform.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s