SQL Server 2017 went into general availability today. Today's release is a remarkable step in SQL Server's history, because it's not just a release for Windows. Today marks the general availability of SQL Server 2017 for Linux. There's also a containerized version for deployment using Docker.

SQL Server for Linux was announced in March of last year to widespread surprise. SQL Server is the kind of software that shifts Windows licenses—people buy Windows Server for the express purpose of running SQL Server—so porting it to Linux would risk forfeiting its corresponding Windows Server revenue.

Scott Guthrie, executive vice president for cloud and enterprise, acknowledged that risk but felt that it was offset by the opportunity SQL Server for Linux presented. SQL Server has a rich feature set, and potential customers were telling Microsoft that they'd love to use it—but they were Linux shops or were dependent on Docker and containerization. As such, being Windows-only prevented sales to these customers.

Bringing the Windows-dependent software to Linux made use of a Microsoft Research project named Drawbridge that investigated new approaches to virtualization and software isolation. It happened that this research work aligned neatly with the way that SQL Server itself was already engineered; both Drawbridge and SQL Server relied on a notion of a software library sitting between the application and the host OS to provide essential functionality such as memory management and thread scheduling.

Interest in SQL Server for Linux seems high; during its preview period, there have been some 2 million downloads of the SQL Server for Linux Docker image. While SQL Server looks costly compared to the likes of MySQL and Postgresql, for companies seeking a commercially supported database, SQL Server tends to look dirt cheap compared to Oracle. And in adding Linux support, a key Oracle advantage—its operating system agnosticism—has been substantially eradicated.

While most of SQL Server's core features are available on both Windows and Linux, a few capabilities that are currently particularly dependent on Windows' features aren't in the Linux version. But for the most part, SQL Server for Linux is a drop-in replacement for the Windows version, with the same APIs, the same features, and the same management tools.

That same compatibility has also been extended to the Azure cloud. The Azure SQL Database has always been similar to SQL Server, but, with Managed Instances (released in preview at Build), developers can now move applications to use Azure SQL Databases with no code changes and full compatibility. Microsoft is also introducing a new service, the Azure Database Migration Service, that'll migrate data from on-premises databases to the cloud.

The company maintains that its hybrid cloud platform is without parallel. Systems such as Azure Stack and Azure SQL Managed Instances mean that local and cloud applications and deployments are not merely similar but truly consistent and integrated.

Azure itself continues to pick up new features willy-nilly: announced today are reserved virtual machine instances, offering up to a 72-percent discount on virtual machines given a one or three-year commitment; Azure Cost Management services, free for all Azure customers to make it easier to keep track of cloud expenditure; and integration between Cosmos DB, Microsoft's new NoSQL database, and Azure Functions, for developing highly scalable event-driven, serverless applications.