Azure SQL PaaS - first look

It's been a somewhat 'interesting' week- with Oracle's frankly outrageous announcement that they are doubling the licence cost to host Oracle in Azure and AWS we've been looking again at our hosting strategy in general and have now made SQL Server our primary port. In light of that I've now been looking further into the SQL server offerings available to us.

We already have various version of SQL in use on premise in out 'normal' datacentres so we have some experience but we now want to see what is available in the cloud. We already are quite well progressed with our use of Azure (largely thanks to all the legal/compliance type issues being dealt with due to office 365) and we have a freshly rolled out express route connection into Azure from our offices (this is basically a dedicated line to allow you better an more stable bandwidth and latency to the Azure datacentre - while also allowing private peering - which removes the need to have public ip addresses on your servers).

For now I'm ignoring just installing SQL Server on IaaS boxes - this will of course work and is a known entity - what I'm more interested in is the SQL PaaS and the SQL datawarehouse - for this post I'm just looking into SQL PaaS.

We've found already that PaaS can mean different things to different people - the way i rate a good PaaS is that if you have no access to the underlying os and don;t need to worry about it then that is a 'proper' PaaS. Many things calling themselves Paas are really just IaaS+ - the software is pre-installed and you have some automated tasks available - but you still have server access and have to worry about the aspects of that.

I'm happy to say the SQL PaaS offering seems to be a proper PaaS - here is a quick walk through of the steps i followed to set it up - you will see at no point did i have to go to any kind of windows desktop to do anything.

OK so here we go

First up we choose the SQL databases option and click add

Then we give it a name - in my case sqlpaastest, assign it to a resource group,choose the source we want to use for it - can either be a blank database , a backup or the sample one you see i chose below. Then click into the choose server option

If you already have a SQL PaaS server in place (i.e. you went through this wizard before - you can add an additional one to it). If not you will add a new one - this is not creating a VM like you would do in the VM wizard but a special class of VM just used for SQL Paas. The username and password you choose here will be the sqlserver login credentials

Choose the number of DTU's you want - this is some measure of how much performance you want - in this case i just choose the cheapest

After about 4 minutes the server/instance is provisioned

We can then browse some of the properties to find the connection details

Firing up management studio we then try to connect with those details

And initially we are blocked there is a default firewall rule that blocks all access - but it does try to launch a wizard to get you added automatically - for me this didn't work - but this could have been some issue with corporate firewalls/proxies blocking things

I just got this error

It's easily added directly in the portal though to give myself access

Once that's done we can connect just fine.

Comparing with a traditional database below - we can see there is a much reduced set of options as we don't have a full fat SQL database any more - it's a subset of functionality here in PaaS - at least anything server/os related is absent

There are comparisons on a high level here between SQL pass and Iaas

And a more complete feature comparison list here

Sql Paas is a different product to full SQL and you need to be aware of that - although it seems the version number displayed in management studio seems to be SQL 2014 base release - as seen from this very useful site

So first look seems quite impressive - still lots to investigate but first impressions leave me feeling optimistic.