In my previous post I talked about cloud infrastructure options when looking at providers. So in this post I thought I would talk about SQL Server related services available with the top four providers.
As I mentioned in my last post those providers are Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP) and IBM Cloud. I’ll only post the more interesting links about the services. You can find out more information about each one in search engines online.
Virtual machines and containers
Now before we delve into anything else I want to highlight that all four providers allow you to have SQL Server running on Virtual machines. However, the infrastructure behind they use for networking and other things are handled in different ways.
Also, they all offer support to run SQL Server in containers to a degree.If you’re looking to do either of these read the documentation.
It’s worth mentioning that since Microsoft develop SQL Server they will probably always be the first to have the images of the latest versions of SQL Server available. Now with that being said and the IaaS offerings covered lets look at PaaS solutions.
Amazon Web Services (AWS)
We’ll cover AWS first since they are the most established vendor. Their PaaS solution for DB’s is called RDS, which offers you the choice of six separate types of DB engines. Luckily one of those types are SQL Server.
RDS is presented as an entire instance of SQL, it supports various versions of the SQL database engine from 2008 R2 to 2017. Some SQL Server features are not supported in RDS. However there are some limitations so read the documentation.
High Availability in RDS is available using what Amazon calls Multi-AZ deployments. You can migrate databases to RDS using the AWS Database Migration Service.
AWS Online Tech Talks on YouTube done an interesting webinar about RDS and SQL Server on Virtual Machines which you can view here.
Currently there are two PaaS solutions available purely for SQL databases, in addition they have other services related to SQL Server.
First is called Azure SQL Database which is the longest serving PaaS service and focuses on a per database offering. Microsoft have a PaaS solution to host a whole SQL instance in Azure called Managed Instance.
1. Azure SQL Database
Azure SQL Database was the first PaaS solution for SQL Server databases offered by Microsoft. It focuses on a single database offering. You do have the databases under a logical server, however the focus is to manage each database individually in Azure.
For a database to be used in Azure SQL database by database schema changes may be required. Mainly due to the fact that there are some limitations with data types.
However, new features that are due to be released in SQL Server on-premises are usually released first in Azure SQL Database.
In Azure SQL Database you can create Elastic Pools. Which is where a bunch of single databases can share a pool of resources. Those resources are based on demand. This means the databases in that pool can use more or less.
Replicating databases can be done locally in a region using Availability Zones. Across regions it is available using Active Geo-Replication which allows you to have up to four readable secondary copies of the database.
Something relatively new to Azure SQL Database is Auto-failover groups. These allow you to manage geo-replication, connectivity and failover for a group of Azure SQL databases together.
2. Azure Managed Instances
Managed instances are reasonably new to Azure. They work on the concept of supporting a whole instance of SQL Server. They are thought to be more secure then Azure SQL Database as well.
Earlier this year I was lucky enough to see a session at SQLBits by Microsoft employees Mike Boswell, Borko Novakovic and Vincent Rouet. You can view the session here.
Like a lot of services in Azure Microsoft constantly update Managed Instances. Therefore hot off the press, here is a link to this weeks latest announcements.
Additional to these PaaS solutions Microsoft Azure offers you services like Azure SQL Database Hyperscale which is in preview, Azure SQL Data Warehouse, Azure Analysis Services and SQL Resource Provider.
1. Azure SQL Database Hyperscale
Now this is a new service in Azure which was talked about during one of the keynotes at this years PASS Summit. It’s a completely cloud archited, high performance Data Platform service based on Azure.
It promises to be able to scale up to 100TB and high performance. It is currently in Preview which is another term for a beta version. For more information and a good diagram you can view the announcement about it here.
2. Azure SQL Data Warehouse
Microsoft also offers a PaaS Big Data solution based on SQL Server called Azure SQL Data Warehouse. It can be supported using SSMS but architecturally it’s very different. To migrate data to it you tend to either use an SSIS package to import the data or use the BCP utility.
3. Azure Analysis Services
Since Analysis Services is part of SQL Server it gets a mention here. Microsoft offers a version of Analysis Services in Azure. However, it currently only supports the Tabular models. Some online models do hint that Multidimensional models might be supported at a later date.
In the meantime you can watch renowned Analysis Services expert Chris Webb talk about it in this video.
4. SQL Resource Provider in Azure Stack
Now since I’m covering Azure here I better quickly cover what SQL Server related offerings are in Azure Stack. However, if you’ve never heard of it rest assured you will in a future post. In Azure Stack you can implement Virtual machines with SQL installed the same as in Azure.
In addition it has a SQL Server service offering available called SQL Resource Provider. I’ll avoid repeating Books Online, for more information go here.
Google Cloud Platform (GCP)
PaaS solutions for databases is called Cloud SQL and based on MySQL and PostgreSQL. Therefore is no Microsoft SQL Server support in this service.
PaaS solutions for databases consists of many separate DB offerings, however none of them are based on Microsoft SQL Server.
Well I hope this overview was informative for you. Feel free to let me know your opinions below.