Introduction to SQL Server 2014 Hybrid Cloud
Most applications have some key challenges, such as high efficiency, business value, complex hardware configurations, massive peaks on demand, and complying with industry and corporate regulations. Considering all these factors and building an enterprise-grade technology can be very challenging. Microsoft Hybrid Cloud Strategy provides support for traditional, private cloud, public cloud, and hybrid cloud environments to overcome these key challenges.
When your business requires a flexible IT infrastructure that can scale on demand, you can build a private cloud in your data center or a public cloud in Windows Azure global data centers. When you extend your data center to meet the public cloud, you build a hybrid cloud model.
This topic introduces the SQL Server 2014 features that support Hybrid Cloud scenarios. For detailed information on Microsoft Hybrid Cloud Strategy and SQL Server, see SQL Server Hybrid IT web site.
By using Microsoft technologies, you can run code both on-premises and in the cloud, run in the cloud using on-premises data, or run entirely in the cloud leveraging more than one data center. Therefore, you can move your applications to the cloud at your own pace while preserving the value of existing legacy IT investments.
In this article, we’ll focus on the hybrid cloud scenarios that span from on-premises SQL Server to Windows Azure public cloud offerings: SQL Server in Windows Azure Virtual Machines and Windows Azure Storage. Specifically, we’ll discuss the following scenarios:
One of the most fundamental administrator tasks is backing up and restoring databases. With SQL Server and Windows Azure, you can safely backup your databases in the cloud.
The key benefits of using the backup and restore capabilities of SQL Server with Windows Azure Storage as a backup destination include:
Limitless low-cost storage
Highly available storage (geographically replicated to ensure no data loss)
Off-site storage that can support disaster recovery and compliance requirements
Simplified remote backup and restore process
The following is a list of backup and restore capabilities of SQL Server for cloud and on-premises scenarios:
The SQL Server Backup to URL feature enables you to back up to Windows Azure Storage by specifying URL as the backup destination. With this feature, you can perform a manual backup or configure your own backup strategy like you would for a local storage or other off-site options.
The Backup Encryption feature enables you to encrypt the data while creating a backup for your storage destinations: on-premises and Windows Azure Storage.
The Backup Compression (SQL Server) feature enables you to create a backup, which is smaller than an uncompressed backup of the same data. Compressing a backup needs less device I/O and therefore usually increases backup speed significantly. This can bring great benefits when storing backup files in Windows Azure Storage.
The SQL Server Managed Backup to Windows Azure feature enables you to automatically backup SQL Server databases to Windows Azure Storage. With this feature, you can configure SQL Server to manage the backup strategy and schedule backups for a single database, or several databases, or set defaults at the instance level.
The SQL Server Backup to Windows Azure Tool enables backup to Windows Azure Blob Storage and encrypts and compresses SQL Server backups stored locally or in the cloud. This tool enables a single cloud backup strategy across for several versions of SQL Server, such as SQL Server 2005, 2008, 2008 R2, and 2014.
Having a stable disaster recovery solution for your databases is essential for your business’s success. Most customers need to configure a disaster recovery site and purchase additional hardware for database replicas. With SQL Server and Windows Azure, you can maintain one or more replicas of your databases in the cloud.
The key benefits of maintaining secondary replicas in Windows Azure include:
Low-cost disaster recovery solution
Transparent application failover
Available replicas to offload read workloads and backups
You can maintain secondary replicas in Windows Azure by using any of the following techniques:
The Add Azure Replica Wizard allows you to deploy one or more replicas of your databases to a virtual machine in Windows Azure for disaster recovery.
AlwaysOn Availability Groups, database mirroring, and log shipping are the most common technologies that you can use to address your application’s high availability and disaster recovery needs. For information, see High Availability and Disaster Recovery for SQL Server in Windows Azure Virtual Machines.
Storing on-premises SQL Server data files in Windows Azure Storage provides a flexible, reliable, and limitless off-site storage for your databases. Starting with SQL Server 2014, you can use a new feature, SQL Server Data Files in Windows Azure, to store SQL Server database files in Windows Azure Storage. With this feature, you can move data and log files from on-premises database into Windows Azure Storage, while keeping the compute node of SQL Server running on-premises. This feature enables you to have unlimited storage capacity in Windows Azure Storage.
The key benefits of storing SQL Server data files Windows Azure Storage include:
Unlimited low-cost storage in Windows Azure Storage
Best suited for offloading historical read workloads to the cloud to support on-premises reporting applications
Facilitate disaster recovery by separating the compute instance (an instance of SQL Server) and the data (SQL Server data files). This allows you to easily attach the database to another instance of SQL Server in an on-premises environment or in a Windows Azure virtual machine in case of a disaster.
The cloud computing brings some key benefits to enterprises, such as limitless virtualized resources are available for you on a pay-per-use basis, you can leverage publicly available cloud data centers rather than building out and manage data centers on your own, and therefore you can lower IT and hardware costs.
With SQL Server in Windows Azure Virtual Machines, you can move the existing on-premises applications to Windows Azure with minimal or no code changes. Administrators and developers can still use the same development and administration tools that are available on-premises.
Moving a database from on-premises SQL Server to SQL Server running in a Windows Azure Virtual Machine typically takes one of these paths:
Moving just the database: There are several tools and techniques available to move existing on-premises databases to SQL Server in Windows Azure Virtual Machines. For guidelines and recommendations on migration to SQL Server in Windows Azure Virtual Machines, see Getting Ready to Migrate to SQL Server in Windows Azure Virtual Machines and also Migrating to SQL Server in a Windows Azure Virtual Machine.
In addition, starting with SQL Server 2014, a new wizard, Deploy a SQL Server Database to a Microsoft Azure Virtual Machine is available for you to deploy the database to another SQL Server instance running in a Windows Azure Virtual Machine.
Moving the entire virtual machine: You can bring your own SQL Server virtual machines to Windows Azure or create one by using the platform image. Then, you can upload and attach a data disk that already contains data to the virtual machine, or attach an empty disk to the machine. Having a SQL Server data instance on Windows Azure Virtual Machines with attached data disks provides another persistent storage for your data files and application data. For comprehensive information and how-tos, see SQL Server Deployment in Windows Azure Virtual Machines.
If you plan to move the application tiers (such as the presentation tier, the business tier, and the database tier) to Windows Azure Virtual Machines, we recommend that you review the recommendations given in the Application Patterns and Development Strategies for SQL Server in Windows Azure Virtual Machines article. The goal of this article is to provide solution architects and developers a foundation for good application architecture and design, which they can follow when migrating existing applications to Windows Azure as well as developing new applications in Windows Azure. For each application pattern, the article describes an on-premises scenario, its respective cloud-enabled solution, and the related technical recommendations. In addition, the article discusses Windows Azure specific development strategies so that you can design your applications correctly.