SQL Server is one of Microsoft’s strongest enterprise software products. Both in terms of revenue and industry reputation, it is widely adopted for its ease of use while at the same time offering high end features in terms of security, performance, availability and reliability.
The SQL Server Family of Products
Nowadays, when I think of SQL Server, I also think of it more like a family of SQL Server products:
1. The retail SQL Server product used on-premises or in IaaS cloud environments.
2. The fully managed Database as a Service: Azure SQL Database.
3. The fully managed Data Warehouse as a Service: Azure SQL Data Warehouse.
And now we’re going to have a new member of the family inside the Azure SQL Database service!
Today at the Data Amp event Scott Guthrie (Executive Vice President of the Cloud and Enterprise group in Microsoft) shared the announcement of this new offering, here’s the slide he showed:
Currently being called Azure SQL Managed Instance (final name to be determined), it is here to make migrations of SQL Server to Azure easier than ever. And once you’ve migrated, it will make management easier than ever as well!
What is the use case of this new offering?
Let’s step back and look at why Azure SQL Managed Instances are being released. Currently there is a gap of functionality between the retail SQL Server and Azure SQL Database. For example: a client that has an application that uses multiple databases and lots of code using three part names. Azure SQL Database doesn’t support three part names, so if you wanted to migrate this instance to Azure, your only choice would be to deploy and manage it as a SQL Server VM on IaaS. And yes, you can enable backup and patching agents, but at the end of the day, the configuration of the VM, maintenance of the OS and all the responsibility for SQL Server is still in your hands.
This is where the Azure SQL Managed Instance comes in. It provides a fully managed, higher feature-compatible instance that is a lot more similar to the SQL Server instance concept that we all know from the retail product. You don’t have to be responsible of every bit like with IaaS, while at the same time, you can continue running as an instance, with the features that are not compatible with the Azure SQL Database single database model. This means migration is straightforward without having to worry about compatibility or features not supported. It’s also easier because you don’t have to build every single piece of IaaS.
If you have experience with Azure SQL Database you might be thinking, how does this compare to the elastic database pools? The difference is that the pools are still created from databases that are single entities and the only thing they share are the elastic resources. On the other hand, Azure SQL Managed Instance will hold the database inside the instance container so they will be able to use three part names, linked servers, and other features that we are accustomed to using on the on-premises SQL Server.
Best of all, because Azure SQL Managed Instance is built on top of the PaaS framework that powers Azure SQL Database, once it’s migrated, it is fully managed in terms of OS, built-in HA, backups, etc.
As we can see in the diagram below, Azure SQL Managed Instance sits between having a full VM running SQL Server and the fully contained individual database paradigm of Azure SQL Database. And just like Azure SQL Db, with a Managed Instance the client can enjoy the continuous improvement and release of features that come with Microsoft’s cloud-first development model.
Here at Pythian we have seen an exponential increase in projects to help clients adopt and move applications and database workloads to the public cloud. We are very excited about this new offering that will make migrating and managing SQL Server in Azure that much easier. We also anticipate that a very large percentage of our clients’ current SQL Server workloads on-premises will be a perfect fit for Azure SQL Managed Instance.
If you are running SQL Server and planning to migrate to the cloud, I hope I have piqued your interest. In the coming months we will have blog posts sharing more details in terms of implementation, features, migration path and more. Stay tuned!