enabling database as a service with the microsoft private cloud stack-v11
Post on 09-Jul-2016
Embed Size (px)
DESCRIPTIONEnabling Database as a Service With the Microsoft Private Cloud Stack-V11
Enabling Database as a Service with the Microsoft Private Cloud stackA Building Clouds Blog eBook | Enterprise Cloud Group CAT Team
Author: Bruno Saille (Microsoft)Published: May 2015, Version 1.1
AbstractThis paper is for IT Professionals and Database Administrators who would like to enable Database as a Service (DBaaS) for their end users. Providing DBaaS to applications owners or developers is a topic that comes up quite often these days in our interactions with customers. The Microsoft Private Cloud stack offers several ways to provide DBaaS. This document summarizes the options, and which requirements may lead you to prefer one option compared to the others. While this will mainly be in the context of Microsoft SQLServer, we will also cover options to achieve DBaaS for other types of database software.This paper applies to WindowsServer2012R2, Microsoft SystemCenter2012R2, and Microsoft WindowsAzurePack for WindowsServer.
2015 Microsoft Corporation. All rights reserved. This document is provided "as-is." Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. Some examples are for illustration only and are fictitious. No real association is intended or inferred. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. You may modify this document for your internal, reference purposes.Some information relates to pre-released product which may be substantially modified before its commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Table of ContentsIntroduction: First, lets define Database as a Service4Delivering DBaaS scenarios through System Center and the Windows Azure Pack5Preparing the VM Clouds fabric7Templates for virtual machines with SQL Server9Preparing the SQL Servers fabric10Enabling DBaaS for tenants, through plans and subscriptions12Looking at the tenant experience18Plan subscription18Creating a virtual machine with SQL Server installed20Creating a database24Some requirements that make Windows Azure Pack a good fit for DBaaS31Frequently Asked Questions about Database as a Service in the context of Windows Azure Pack32Do I need to use both the VM Clouds and the SQL Server resource providers?32What if I like the shared approach, but want to provide more dedicated servers to my tenants?33How is the location of new databases determined in the shared model?34How can I can provide additional value-added services for my tenants?34Can I pre-provision resources for my tenants when they subscribe to my plans?35Using Windows Azure Pack, can I also enable Database as a Service for other types of database software?35My processes are largely based on ITIL today. How can I combine ITIL with Database as a Service?36Can I use the APIs to interact with the databases, as an administrator or a tenant?36How can I ensure that my tenants get their fair share of performance when using the shared model with the SQL Server resource provider?36When using IaaS to deploy SQLServer virtual machines, could my tenants also deploy highly-available virtual machines?37Can I get data for potential chargeback with my tenants?38Other options with System Center38Looking beyond Database as a Service: Why leverage Microsoft technologies to virtualize and manage SQL Server40References42
Introduction: First, lets define Database as a ServiceEveryone has a different definition based on their requirements, but ultimately Database as a Service (DBaaS) means giving end users application owners, developers, and others the ability to request and provision database engine components in a self-service manner. For some enterprises and service providers, responding to requests for database services is an activity that takes a lot of time from DBAs on a daily basis, and automating it frees up valuable time for other value-added tasks, reduces human error, and increases consistency and confidence in operations.Depending on the requirements, the scope of a DBaaS implementation may include coverage for all or part of the following considerations: What components should be deployed? Deployment of a database, an instance, a machine with MicrosoftSQLServer installer, or a set of machines including SQLServer? Should or will deployments occur on a shared fabric only, or will we want to enable dedicated scenarios where database components are dedicated to a specific tenant? What about the service level and high availability aspects? Are we talking about deploying commodity databases without any high availability capabilities, or surfacing highly available database components? How much of the lifecycle of the database component should be covered? Is it just about the deployment and delegation of the database components, or should it cover the full lifecycle (resize, monitoring, database user management, decommissioning, etc.)?There is no good or bad answer to these questions, it just depends on what IT and business issues you are trying to solve with your DBaaS implementation.Whatever the end solution chosen, it will likely consist of multiple building blocks or layers like these: The fabric is the foundation layer providing compute, network, and storage resources for hosting the SQLServer database components. This fabric can benefit from the performance and scale capabilities from WindowsServer and SQLServer. For example, increased Hyper-V guest VM scale and performance (virtual processors, memory, disk IOPS), storage flexibility and choices for both virtual machines and databases (SMB support, Storage Spaces, etc.). Resource consolidation and pooling are often the first phase of a SQLServer private cloud project leading to DBaaS, meaning that optimizing the footprint and performance of the fabric is generally an important topic. The self-service interface (portal and APIs) sits as the top layer to receive requests and let users know about the status and progress of those requests, and possibly interact with their delegated resources A management and automation layer to integrate the self-service interface with the fabric. The management layer may also provide added benefits like in-depth application-level monitoring, inventory, patching, and backup/restore capabilities.This document will focus on how the Microsoft stack addresses these different layers in the context of DBaaS, leveraging Microsoft WindowsAzurePack (WAP) as the main portal, and it will also mention other options as well.Finally, while DBaaS is a key benefit of the Microsoft Private Cloud stack in SQLServer environments, there are other reasons why WindowsServer and MicrosoftSystemCenter are a great platform to virtualize and manage SQLServer. Some of these reasons are detailed in the last section of this document. Delivering DBaaS scenarios through System Center and the Windows Azure PackIn conjunction with WindowsServer and SystemCenter, Windows Azure Pack[footnoteRef:1] (WAP) enables enterprises and service providers to deliver a subset of MicrosoftAzure services in their datacenters. WAP provides consistency with Azure through the user experience in the portal, and also aims at providing consistency through the APIs. Both the portal and the APIs ship as part of WAP. [1: http://bit.ly/1JGfr94]
WAP provides several services out of the box, including web sites, VM Clouds, and SQLServer, among others. These services are surfaced by WAP through the corresponding resource providers.
WAP admin portal
WAP tenant portalMore specifically in the context of this discussion:1. The VM Clouds resource provider enables tenants to deploy and manage virtual machines, which could host SQL Server, on top of a Hyper-V fabric managed by the Virtual Machine Manager (VMM) component of System Center. This is typically what most people would call Infrastructure as a Service (IaaS), and it maps to the dedicated scenarios.2. The SQL Server resource provider (described here[footnoteRef:2] and in this session from Ignite 2015[footnoteRef:3]) enables tenants to deploy and manage databases on top of a SQLServer fabric. This is sometimes referred to as a Platform as a Service (PaaS) approach, and it maps to the shared scenarios. [2: http://bit.ly/1GMIlk1] [3: http://channel9.msdn.com/Events/Ignite/2015/BRK3501]
With these two resources providers and in the context of WAP, the three layers mentioned in the introduction look like the figure below. The figure is simplified, because VM Clouds are also managed by System Center.
Microsoft Private Cloud stackWhether the VMs or databases are highly available or not depends on how the underlying fabric was designed. For example, the SQLServer resource provider can work with SQLServer hosts using AlwaysOn configurations.In the next section of this document, we will look more closely at each provider to understand their capabilities out of the box, and what additional content is available to help you realize the DBaaS potential.Note: Both resource providers can be used in plans surfaced to tenants. Whether you would use one or both of them depends on your requirements, and the resources at your disposal. It is also possible to mix and match, that is, to have some plans offering virtual machines and databases, and other plans only offering one of these. For more details on this topic, see the section titled Do I need to use both the VM Clouds and the SQL Server resource providers? in the FAQ section of this document.Preparing the VM Clouds fabricThe VM Cloud fabric consists of clouds leveraging compute, network and storage on Hyper-V hosts, on which tenants will be given the ability to deploy virtual machines hosting SQLServer.The fabric for virtual machines is made up of clouds, as define