robgibbon
on 10 November 2021
SQL Server on Ubuntu Pro: bringing it all back home
Not going to lie, the Microsoft SQL Server is my all-time favourite Microsoft product. For a long time, SQL Server was only available for Windows, but not much is really sacred. So now Microsoft, in collaboration with Canonical, are distributing and supporting several flavours of SQL Server on Ubuntu Pro for Azure. I’m going to take you on a short tour of the history of SQL Server, and I’ll try to explain what makes SQL Server on Ubuntu Pro something quite awesome.
She belongs to me
Ashton-Tate/Microsoft SQL Server was originally conceived and delivered for OS/2, not Windows, as a joint collaboration between Microsoft, Ashton-Tate (developer of dBASE) and Sybase (Sybase DataServer) in the late 1980s. But once Windows NT shipped in 1993, SQL Server was further developed exclusively by Microsoft. So in IT terms, SQL Server has a very long heritage.
The design team behind Windows NT were heavily influenced by Digital Equipment Corporation’s (DEC) VMS operating system, and Win32 is now widely accepted to be built around VMS architecture and design principles. If you increment each letter in VMS, you get WNT, but jokes aside it is genuinely no coincidence that the W32 kernel architecture and the VMS kernel architecture are closely aligned; Microsoft Windows is in fact the descendant of an honorable and pedigree lineage of mainframe and midrange computer operating systems going back to the early 1960s.
Early versions of SQL Server were able to hold their own, belting out solid performance on x86 PC systems costing a fraction of the price of a comparable minicomputer of that era, and as such SQL Server managed to make quite some traction with devotees of the (then de-facto) client-server compute architecture. In 1998, widely acclaimed engineer James Hamilton (yep, that’s right, the Amazon AWS Vice President) took over management and leadership of the Microsoft SQL Server product development team, and was able to bring his expertise to bear. Hamilton led SQL Server through releases 7 to SQL Server 2005. With SQL Server 7, Microsoft got the seminal milestone release that defined Microsoft SQL Server as a serious contender in the enterprise RDBMS space. But with SQL Server 7, Microsoft also got a storage engine deeply tied to, and reliant on, the Windows subsystem. This strategy of coupling SQL Server to Windows meant SQL Server could gain agility by rapidly building on and relying on Windows NT system services, behaviours and features, without having to worry about portability – but it came at the cost of being unable to fully address the market.
No limit
With the release of SQL Server 2017, Microsoft introduced the features needed to enable SQL Server to run on Linux, closing this long-standing shortcoming and enabling the SQL Server team to fully address the needs of enterprise IT departments with more flexible deployment options. And Microsoft has continued to work together with us at Canonical to bring a highly performant and fully supported solution for SQL Server to the Azure cloud, based around the Ubuntu Pro 20.04 LTS operating system.
Right now you can get SQL Server 2019 – Standard and Enterprise editions – on both Ubuntu Pro 18.04 LTS and Ubuntu Pro 20.04 LTS, and they come with some solid security and management features as you’d expect – like Transparent Data Encryption (TDE) and Row-Level Security.
With SQL Server on Ubuntu Pro, SQL Server makes use of the XFS filesystem, a journaling filesystem popular on Linux, that offers Direct I/O capabilities, meaning: blazing fast. We’ve extended XFS to include support for Forced Unit Access (FUA) in the Ubuntu kernel, meaning that data is reliably synchronized with underlying NVMe SSD storage media – that’s important for the SQL Server transaction log, where it’s essential to ensure transactional consistency in the event of a crash.
Another sweet feature we’ve added is the ability for SQL Server to use persistent memory (PMEM) devices out of the box – no configuration necessary! PMEM has RAM-comparable performance and access characteristics, but as a nonvolatile device – consequently supercharging your SQL Server on Ubuntu Pro setup. And we’ve also built a high availability solution for SQL Server on Ubuntu Pro 20.04 LTS based around the tried and true Corosync and Pacemaker, enabling scenarios with high uptime and resilience needs, with specialized fencing agents for the major public clouds.
With Ubuntu Pro, customers get up to 10 years of maintenance updates, and Ubuntu Pro users can enable officially certified components for FIPS and Common Criteria EAL2 compliance regimes, supporting scenarios like FedRAMP, HIPAA, PCI and ISO. With integrated hardening automation to apply and audit CIS benchmark, customers can readily enable industry-standard benchmarks for security hardened compute profiles. With Kernel Livepatch, Ubuntu Pro systems receive regular kernel updates immediately, without requiring a system reboot. Additionally, Ubuntu Pro adds 10 years extended security coverage for a range of open source applications.
It’s alright
SQL Server on Ubuntu Pro for Azure is pretty cool, it’s got loads of jazz – but is it supported? Well, yeah, it is. Microsoft and Canonical offer joint support on the entire solution, which means both security updates for the bits (and that’s up to ten years of security updates on the Ubuntu Pro 20.04 LTS bits), and 24×7 joint technical support from Microsoft and Canonical. How about that?!
To make things super straightforward, Microsoft and Canonical have put together and published a bunch of preconfigured, optimized, thoroughly tested and fully supported virtual machine images on the Microsoft Azure cloud marketplace with all the SQL Server on Ubuntu Pro, ready to run on a fully pay-as-you-go basis. Folks can check them out on the SQL server on Ubuntu Pro listing in the Azure Marketplace.
SQL Server on Ubuntu Pro delivers you an alternative, cost effective and fully supported RDBMS, giving Linux users a great option for both their custom applications and for many of their COTS (commercial off the shelf) applications that require a database. SQL Server on Ubuntu Pro is also a great, low-friction option for existing SQL Server users looking to move some or all of their database workloads to Linux.
Ubuntu ♥ SQL!
Questions? Contact our expert sales team to learn more!