SQL Server for Linux: A sign of Microsoft's weakness. Sort of
Also signals stronger cross-platform tools, access to new markets
Analysis Microsoft is porting SQL Server to Linux, with a private preview available now and full availability “in mid-2017”.
This is a big strategic move for the company. Microsoft’s server applications, including Active Directory, Exchange, SharePoint, SQL Server and Dynamics CRM, and the various components of System Center, have previously been Windows-only.
SQL Server dates from 1989 (for OS/2) and was originally ported from Unix, in association with Sybase and Ashton Tate. The first Windows version was in 1993, when Windows NT was introduced. Microsoft gradually rewrote the ported code, so by the time of SQL Server 7.0 in 1998, it was mostly its own. Porting it to other operating systems made no sense; after all, it was itself originally a port.
Microsoft put SQL Server at the heart of its development platform, alongside the .NET programming runtime, and in fact combined the two, adding .NET stored procedures to SQL Server 2005. The Visual Studio IDE has special support for SQL Server, and Microsoft steered developers to use it by default in their client-server applications, using it in all their examples and building special programming support into .NET with LINQ (Language Integrated Query) to SQL in 2007.
SQL Server, in other words, became a key part of Microsoft’s Windows platform, extending the company’s desktop dominance to the server. It was one of the components that kept businesses hooked to Windows. Porting it to Linux, in days before cloud and mobile, would only have weakened that hold.
What has changed today? “Windows everywhere” no longer works, thanks to Microsoft’s fumbling failures in mobile and an industry shift towards web applications and cloud computing, where Linux servers predominate. Even on the desktop, Macs at the high end and the odd Google Chromebook at the low end have weakened Microsoft’s hold. Seen in this light, the appearance of SQL Server on Linux is a sign of weakness, not strength.
That said, Microsoft has figured out ways to make money in a world of diverse operating systems, welcoming Linux into its Azure cloud and supporting services such as Office 365 on iOS and Android as well as Windows.
Porting SQL Server to Linux increases its potential market, and will help Microsoft to compete with Oracle and to run on public clouds such as AWS (Amazon Web Services) which are mainly Linux-based.
There are some tricky issues ahead though. SQL Server is a complex product, with features that support business intelligence and data warehousing as well as relational data management. High availability features rely on Windows Server Failover Clustering. SQL Server 2014 introduced a fast in-memory database technology called Hekaton (the proper name is SQL Server In-Memory OLTP) that was designed to integrate tightly with the Windows operating system. Guthrie has not said how much of SQL Server is destined for Linux, referring only to the “core relational database capabilities” that are now in preview. More details may emerge on Thursday, at an event in New York to launch SQL Server 2016.
SQL Server’s .NET stored procedures are another interesting area. Microsoft has been hard at work creating a cross-platform version of .NET called .NET Core, though it is not yet done, and it may be that SQL Server on Linux will use this.
The likelihood is that SQL Server will continue to work better on Windows than on Linux for a while yet.
The positive spin, then, is Microsoft is strengthening its cross-platform development platform and opening new markets by bringing SQL Server to Linux. It should be seen alongside .NET Core, Linux on Azure, and other initiatives like the Linux R Server acquired from Revolution Analytics.
The negative spin is that this is a symptom of the weakening hold of Windows in the IT industry.
Both are true, and Microsoft’s task now is to create software that succeeds on its own merits across multiple operating systems, rather than simply because it is the default choice in Windows world.®