Cloud computing can help organizations reduce costs and optimize investments to stay competitive in today's dynamically changing economy. With the explosion of data across devices, applications, and services, SQL Server workloads are prime tenants for cloud deployments.
With so many cloud-based offerings available for SQL Server, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS), each organization will have its own unique journey to the cloud. For those organizations running SQL Server for their mission-critical workloads, the journey to cloud computing starts with a private cloud implementation, such as the Microsoft Private Cloud.
Before an organization can plan and deploy a Microsoft Private Cloud solution for SQL Server, it's important to understand the journey to the cloud. To help you understand the journey, I'll answer four commonly asked questions:
- What are the fundamental attributes of a cloud solution?
- What are the key components in a Microsoft Private Cloud?
- How can I optimize SQL Server for Microsoft Private Cloud?
- Can I purchase a Microsoft Private Cloud appliance dedicated for SQL Server?
Fundamental Attributes of a Cloud Solution
- Shared infrastructure -- A cloud solution runs on a shared virtualized infrastructure and ensures the resources affiliated with the shared virtualized infrastructure are fully optimized, standardized, and highly available. The shared resources that typically make up a cloud solution include the computers and the network and storage resources. The cloud is multi-tenant capable with the ability to host multiple applications and services while meeting security and privacy concerns.
- Scalable and elastic -- The cloud infrastructure is able to dynamically grow and contract based on the business requirements of the application, service, or organization.
- Self-service based -- The cloud solution offers a self-service experience so application and service owners can perform real-time deployments of applications or services in a rapid fashion.
- Usage based -- The cloud is metered so that the organization can implement a charge-back system to charge consumers or business owners for resource consumption. If the organization doesn't charge customers or business owners for usage, the organization can use the information provided to monitor usage.
Key Components in a Microsoft Private Cloud
In the IaaS model, private clouds are built on a virtualization foundation and have additional layers for automation, management, orchestration, administration, and tenant interfaces. A Microsoft Private Cloud is built on a Hyper-V foundation, with the Microsoft System Center family of products providing the additional management layers. Following is a brief look at the key components.
Windows Server 2008 R2 Hyper-V. Hyper-V provides the virtualization platform that enables organizations to deploy a Microsoft Private Cloud and eventually transition workloads to a public cloud if desired. Hyper-V includes many capabilities, such as multi-tenant support, increased scalability, and support for up to 64 logical processors and 1TB of RAM on each host. In addition, the Live Migration and Dynamic Memory features are beneficial for Microsoft Private Cloud deployments for SQL Server.
Live Migration provides high availability by moving running virtual machines (VMs) from one Hyper-V physical host to another without any observed downtime or loss of service. Therefore, when migrating SQL Server workloads to the Microsoft Private Cloud, you can use this feature to provide high availability and to minimize planned downtime for SQL Server databases.
Dynamic Memory is a new Hyper-V feature introduced in Windows Server 2008 R2 SP1. It enables organizations to better utilize the memory resources of Hyper-V hosts. Memory is treated as a shared resource and is dynamically added or removed to a VM based on usage and the changing workloads of each machine. In short, Dynamic Memory enables more efficient use of memory for SQL Server VMs while maintaining consistent workload performance and scalability, which translates to increased VM density for SQL Server.
System Center Virtual Machine Manager. VMM is a centralized solution for managing VMs and Hyper-V hosts. It enables increased server utilization and the intelligent placement of VMs. VMM includes tools for rapid provisioning and a library for storing VM templates and software for Microsoft Private Cloud deployments. VMM also includes migration tools to convert physical servers to virtual servers, which is handy when migrating physical machines running SQL Server to the Microsoft Private Cloud.
System Center Virtual Machine Manager Self-Service Portal 2.0 with SP1 . This portal provides self-service and rapid-provisioning capabilities for the Microsoft Private Cloud solution. This means an organization can consume SQL Server by means of IaaS.
System Center Operations Manager. Ops Manager provides end-to-end service management that can be customized and extended for improved service levels across all VMs or the Hyper-V hosts within the Microsoft Private Cloud. Administrators can use it to identify and resolve problems affecting the health of the private cloud and the distributed IT services (e.g., SQL Server) within the private cloud. Ops Manager includes a SQL Server Management Pack that monitors SQL Server and provides alerts. When an alert is detected, Ops Manager sends out an email notification or runs a script to address the alert. Ops Manager can also be used to manage physical servers and applications within an organization's data center.
System Center Configuration Manager. SCCM provides many capabilities for private cloud implementations:
- You can use SCCM for asset management by conducting an inventory of all the private cloud resources, such as VMs, Hyper-V hosts, services, and applications. This is handy, especially for organizations suffering from VM and application sprawl. Alternatively, you can use SCCM to inventory all the SQL Server instances in a physical infrastructure that you plan on migrating to the Microsoft Private Cloud.
- You can use SCCM to rapidly deploy services and applications. For example, you can use it to deploy Windows Server 2008 R2 and the SQL Server 2012 or SQL Server 2008 R2 database platform to VMs.
- You can use SCCM to automatically update VMs and applications with the latest critical updates and service packs. This is advantageous for organizations with a very large private cloud implementation, as it can be a long and tedious process ensuring all VMs running SQL Server are updated with the latest patches and service packs.
System Center Data Protection Manager . DPM provides continuous data protection for VMs hosted on servers running within the Microsoft Private Cloud. This protection includes online backups of supported guest VMs hosted on clustered or standalone systems, protection of VMs during the Live Migration process, and item-level recovery from host-level backups. DPM 2010 has a component that backs up and restores SQL Server databases. DPM 2010 also offers disk-to-disk, disk-to-tape, and disk-to-disk-to-tape alternatives. All these features help ensure that the private cloud solution is protected and always available.
System Center Orchestrator . Orchestrator, which is replacing Opalis Integration Server, orchestrates, integrates, and automates IT processes through the creation of runbooks that allow organizations to define and standardize best practices and improve operational efficiency within their private cloud solution. For example, an organization might use Orchestrator to automate a workflow process that conducts a rolling service pack upgrade on a SQL Server failover cluster instance. The workflow process could apply service packs to the appropriate passive nodes, run tests to validate that the installation on each passive node was successful, conduct a failover, and eventually conduct the installation on the active node.
System Center Service Manager . Service Manager delivers an integrated platform for automating and adapting IT service management best practices for an organization. It includes core process management packs for incident and problem resolution, change control, and configuration and knowledge management.
How to Optimize SQL Server for Microsoft Private Cloud
One of the main goals affiliated with deploying private clouds is a reduction in the total cost of ownership (TCO) affiliated with an organization's capital and operational investments, while simultaneously ensuring that the organization's computers and network and storage resources are fully utilized and optimized. Here's how you can optimize a Microsoft Private Cloud for SQL Server.
Resource pooling. Pooling resources in the private cloud can reduce hardware costs and data center space. The key steps affiliated with pooling SQL Server resources are discovering all the SQL Server instances and databases within the physical infrastructure, conducting capacity planning, and moving the appropriate SQL Server instances and databases to the private cloud.
You can use the Microsoft Assessment and Planning (MAP) Toolkit to identify the SQL Server instances and databases within your physical infrastructure. This agentless inventory, assessment, and reporting tool includes many wizards to walk you through the inventory and assessment processes. With the information you obtain, you can determine which SQL Server instances and databases are good candidates for the private cloud.
After you determine which SQL Server instances and databases to move to the private cloud, you can use VMM's tools to convert SQL Server physical servers to virtual servers that will reside in the private cloud. Alternatively, you can use the native SQL Server Management Studio (SSMS) tools (e.g., Copy Database wizard) to migrate just the databases from the physical servers to new VMs running SQL Server.
Elasticity and scal ability. Deploying SQL Server in a private cloud can improve an organization's agility and scalability because more databases can be efficiently hosted on a single solution. The strategies for achieving elasticity and scalability for SQL Server databases in a Microsoft Private Cloud include:
- Load balancing SQL Server VMs among Hyper-V hosts with VMM
- Scaling out private cloud resources by adding up to 16 Hyper-V hosts within a single private cloud cluster deployment
- Scaling up by first installing the maximum amount of processors and memory within each Hyper-V host and then using Hyper-V's Dynamic Memory to increase SQL Server VM density
High availability . The private cloud offers high availability for mission-critical SQL Server workloads by offering Live Migration and guest failover clustering capabilities. As Figure 2 shows, you can use Live Migration to move running SQL Server VMs from one Hyper-V host to another without service disruption or downtime. You can use guest failover clustering if additional protection is required from unplanned downtime. A guest failover cluster is simply a SQL Server failover cluster. However, each node affiliated with the SQL Server failover cluster is virtualized within the private cloud.
With the upcoming release of SQL Server 2012, you can leverage AlwaysOn Availability Groups to provide both high availability and disaster recovery for your databases running on SQL Server 2012 instances within the Microsoft Private Cloud. You can also leverage AlwaysOn Failover Clustering to create a multi-subnet guest cluster between two data centers.
Self-service provisioning and rapid deployments . Windows Server 2008 R2, SQL Server 2012, and SQL Server 2008 R2 offer support for the Sysprep tool. You can use Sysprep to create SQL Server VM templates and store them in the VMM library. You can then deploy the new SQL Server VM from the library on demand. Currently, the SQL Server Sysprep tool supports only the database engine and SQL Server Reporting Services (SSRS). However, you can use VMM and SCCM post-deployment scripts to automate the installation of other SQL Server components.
Alternatively, you use the Self-Service Portal 2.0 workflow interface to rapidly provision VMs. For example, suppose you need to deploy a new SQL Server instance that will support a new application. By placing a self-service request on the portal, you can choose a SQL Server instance that meets your needs from a predefined list of configurations. The SQL Server VM is deployed in the Microsoft Private Cloud within minutes after the request is approved by the person who manages the cloud. Moreover, you can include how long the VM will be needed in the self-service request. The Microsoft Private Cloud solution will then automatically decommission the VM after it's no longer needed and reclaim the private cloud resources.
Metering and usage reports . By using the metering and usage reports associated with System Center, you can track resource usage and charge-back costs, as shown in Figure 3. You can even use the information in the reports to assign a cost for the consumption of SQL Server VMs within the Microsoft Private Cloud.
Private Cloud Appliances for SQL Server
Some organizations might not want to build their own private cloud solution using the Microsoft Private Cloud reference architecture because they don't have the appropriate hardware or in-house technical experience. These organizations can purchase a preconfigured Microsoft Private Cloud appliance from a Microsoft vendor. For example, the HP Enterprise Database Consolidation (DBC) Appliance is a preconfigured Microsoft Private Cloud appliance optimized for SQL Server. It comes preloaded with Windows Server 2008 R2 Hyper-V, System Center components, and SQL Server VM templates. The hardware is built on HP ProLiant blade servers, HP StorageWorks P2000, and HP ProCurve switches. (For more information about the HP Enterprise DBC, see "First Look: HP Enterprise Database Consolidation Appliance.")
SQL Server Consolidation and Virtualization
One of the key database trends over the past five years has been consolidation. The consolidation trend has led to a trend toward virtualization. SQL Server can benefit from a private cloud deployment such as the Microsoft Private Cloud because it addresses both consolidation and virtualization and provides the management layers and provisioning tools for SQL Server. A private cloud solution for SQL Server can help organizations reduce hardware costs and data center space, while increasing their agility, standardization, and control.