Enabling Database as a Service with the Microsoft Private Cloud Stack
Hello Readers,
During the course of the last few weeks and months, we’ve been publishing many different articles related to automating database deployments, templates for database workloads in Windows Azure Pack (WAP), blog posts about how to leverage the WAP APIs to work with virtual machines and/or databases, and many others. All of these relate to specific subtopics in a larger “Database as a Service” solution.
Well, now is the time to bring everything together, and summarize some ways to enable Database as a Service with the Microsoft Private Cloud stack!
This time, instead of writing a blog post series, we’re providing the content as a downloadable document, similar to an eBook format. This will also simplify offline reading when needed.
This document – titled Enabling Database as a Service with the Microsoft Private Cloud stack – is available here: The document includes:
Update : In May 2015, this paper was updated with the latest changes and enhancements in Update Rollups (UR) 3, 5 and 6 for Windows Azure Pack. There are also a few additional FAQ entries in the second part of the document. Download link remains the same, and blog post for v1.1 is here. |
Full agenda
The full agenda follows:
1. First, let’s define “Database as a Service”
2. Delivering Database as a Service scenarios through System Center and the Windows Azure Pack
- Preparing the VM Clouds fabric
- Templates for virtual machines with SQL Server
- Preparing the SQL Servers fabric
- Enabling Database as a Service for tenants, through Plans and subscriptions
- Looking at the tenant experience
- Plan subscription
- Creating a virtual machine with SQL Server installed
- Creating a database
3. Some requirements that make Windows Azure Pack a good fit for Database as a Service
4. Frequently Asked Questions about Database as a Service in the context of Windows Azure Pack
- Do I need to use both the VM Clouds and the SQL Server resource providers?
- What if I like the shared approach, but want to provide more dedicated servers to my tenants?
- How can I can provide additional value added services for my tenants when plans are subscribed?
- Can I pre-provision resources for my tenants, when they subscribe to my plans?
- Using Windows Azure Pack, can I also enable Database as a Service for other types of database software?
- My processes are largely based on ITIL today. How can I combine ITIL with Database as a Service?
- When using the shared model with the SQL Server Resource Provider, how can I ensure my tenants get their fair share of performance?
- Can I get data for potential chargeback with my tenants?
5. Other options with System Center
6. Looking beyond Database as a Service: Why Microsoft to virtualize and manage SQL Server
7. Appendix: Links reference
Reference links
And, finally, here are the links leveraged throughout the document, provided as a reference for convenience:
- Building Clouds Blog – this is where you are now!
- Windows Azure Pack overview
- Overview of the SQL Server Resource Provider for Windows Azure Pack
- Service Models feed and the Web Platform Installer (WebPI)
- References for Creation, Configuration, and Automation of VM Role Gallery Items
- Sample VM Role Gallery Items for SQL Server, and Update to the Sample VM Role Gallery Items for SQL Server
- VM Role Example kit
- Configure SQL AlwaysOn Availability Groups in Windows Azure Pack
- SQL Azure Database Basic, Standard and Premium offerings
- Dedicating a part of the SQL Server fabric to a specific tenant
- Custom Resource Providers in Windows Azure Pack - Extending the Hello World Sample calling a SMA Runbook
- Automation–The New World of Tenant Provisioning with Windows Azure Pack (Blog post series). More specifically, Part 4 shows how to deploy Virtual Machines on behalf of a tenant, and Part 5 shows how to deploy SQL Server databases on behalf of a tenant, and discusses how to integrate with ITIL processes
- Custom Resource Providers in Windows Azure Pack – Moving from Hello World to your own Resource Provider
- VM Role Gallery Items for Oracle DB 12c
- Chargeback : Service Reporting feature overview
- Chargeback : Partner Cloud Cruiser
- SQL Server Self Service Kit
- SQL Server Self-Service Kit “SMA Edition”
- Oracle Self-Service Kit
- 1 million IOPS from a single VM at TechEd Europe 2012
- Windows Server 2012 Hyper-V Delivers On Scalability and Performance for Virtualized Enterprise Applications
We hope this all up document on the Database as a Service topic will be helpful. Thanks for reading and, as always, feel free to share any feedback!
Comments
- Anonymous
January 01, 2003
Hi Kevin
When it comes to documentation, the document from this blog post covers mainly the management side of things, but does not go into details about how to design the SQL Server fabric, understanding that you can rely on existing SQL Server best practices for that, which may vary based on your requirements. For example, if you will eventually be using more IaaS than PaaS in your Database as a Service approach, a document covering some guidelines can be found here :http://www.microsoft.com/en-us/download/details.aspx?id=39295.
I am in touch with the WAP team about the other items you mentioned below, and will get back to you on this when I get more details
Thanks - Anonymous
January 01, 2003
Hi Kevin,
Regarding your other question, the SQL Server Resource Provider in WAP keeps tracks of databases created by a tenant in each subscription ("tenant" being the account name that can be seen in the "my account" section of the tenant portal, or used to sign into WAP) . So chargeback data can be retrieved for the actual subscription owner and databases (number of databases and space allocated).
Thanks!
Bruno - Anonymous
January 01, 2003
Hi Kevin
This is not changed in UR2. Remember you can still have Windows Authentication enabled via mixed mode, it's just that you also need SQL authentication when registering the server, and for dbowner assignment for the new tenant databases. We heard the feedback from multiple customers that having the ability to create new tenant databases with Windows Authentication instead of just SQL authentication would be a nice addition, and providing more flexibility like this is under consideration, but we cannot commit to any timeframe yet.
Thanks! - Anonymous
January 01, 2003
Thanks Kevin. Here is also a good place to suggest features for Windows Azure Pack, or just to pile on to something already in the list:http://feedback.azure.com/forums/255259-azure-pack
The WAP team actively monitors these votes and comments. - Anonymous
January 01, 2003
Hi Kevin
I wanted to post a follow up to my previous comment, but was waiting for Update 3 for WAP to be released. It was released yesterday and is available/described here :http://support.microsoft.com/kb/2965416
The reason I was waiting for Update 3 is that we've made a change in that update, on how databases are created by the SQL Server provider:
WAP will not give tenants dbo rights on databases created after Update 3 is applied and, if contained database authentication is enabled on the hosting server, WAP will create the database as contained by default after Update 3 is applied. While I have not personally tested it yet, it is my understanding that creating contained databases by default should help with self-service user creation in Management Studio. Also, as a consequence of not giving tenants dbo rights, they should now not be able to delete their databases outside of WAP.
This is item #10 in the Update 3 KB article previously mentioned.
Note that already existing databases won’t be changed, and a TechNet article is being published to explain how admins can "migrate" existing databases to the new settings.
Thanks
Bruno - Anonymous
June 30, 2014
Hi Bruno,
In your "Enabling database as a service with the Microsoft Private Cloud Stack" document you mention the following in relation to Active directory use with the SQL resource provider in WAP - "Another prerequisite is that the SQL Server instance should have SQL Server authentication enabled, as this is required to register the server with the SQL Server resource provider). While this requirements may sound surprising for some of our enterprise readers, remember this can also be used in service providers scenarios, where the SQL Server fabric servers are likely to be in a hoster domain, fully decorrelated from the tenants domains." Is this still a limitation? I would prefer to be able to make use of active directory (windows) authentication as it allows for easier transition for existing customers in the new cloud model. I believe a roll up 2 was released recently, has this been changed in the new version or is it just for web services?
regards
Kevin - Anonymous
June 30, 2014
Hi again,
In addition to the above I am just wondering if for example you didn't use AD and relied on SQL authentication only, as a service provider, how would you know who to bill? If the client is forced to use domain/username it tells you exactly who is using the system but as for SQL names the user could just type in "Bob" or "HRSVC3030" or something.
regards
Kevin - Anonymous
July 08, 2014
Me again. I am busy with a POC and am exploring everything to see how I can deliver a database as a service solution to multiple customers. I am struggling to find decent documentation etc. on the DaaS specifically, particularly on how to put the whole thing together form a SQL perspective. If you know of any links etc. I would be very grateful if you could point me in the right direction. This blog is a goldmine, I am just struggling to find SQL specific stuff. I am finding funnies for example in WAP each database that gets created only has one SQL account tied to it (given dbo access). In our environments we typically have a number of users that would use a database. I see that in management studio you can (as a user) add other users to your database but they have to have been created first (in master) and you have to know their login name as you can't see them at all! Also I see a user can delete a database in management studio (they have dbo rights after all) but that deletion is not communicated to the WAP portal. You can even add extra storage (using add on’s) to a database that has been deleted! I am assuming I am going to have to make use of policies etc to make some stuff work. Is there a way for example to have database created as partially contained on creation or instead of giving a user dbo rights have them restricted to read / write?
Apologies for all the questions!
regards
Kevin - Anonymous
August 06, 2014
Thanks Bruno!
That looks like good news. It seems ever since I started on this journey that WAP really is evolving rapidly. When somone asks about capabilities during a POC I sometimes feel like answering "lets see what next week brings!" :)