Modernize to the cloud with Azure SQL Database

Introduction

In today’s fast-changing business environment, organizations must adapt quickly to stay competitive. These days, getting ahead means moving to the cloud. Optimizing IT operations on the path to modernization can increase global reach and scale while freeing up IT resources to focus on business transformation. Platform as a service (PaaS) allows you to avoid the expense and complexity of buying and managing software licenses, the underlying application infrastructure and middleware, or the development tools and resources. To achieve modernization, IT must optimize operations in the following areas to effectively manage growth in the cloud: - Delivering a responsive service - Responding to changes in demand - Maintaining continuity - Predicting and managing costs - Learning/adopting new languages and platforms This can be challenging due to limited staff and other resources, creating a dilemma for organizations that must balance data security and access with the cost of managing and maintaining their databases.

Microsoft Azure SQL Database

Azure SQL Database is the only intelligent cloud database service built for app developers. Its built-in machine learning quickly identifies your application’s unique characteristics so it can dynamically adapt to maximize performance and reliability. It’s the only database service that offers machine learning–based threat detection. Whereas research shows that it can take an organization days, months, or years to discover a breach, Azure SQL Database Threat Detection learns the patterns of each unique database so that it can detect potential threats and send an alert in minutes. With no virtual machines on the back end, Azure SQL Database is the only cloud database service that transparently responds to rapidly changing resource requirements, scaling on the fly with minimal downtime. Azure SQL Database offers Basic, Standard, Premium, and Premium RS service tiers for both single databases and elastic pools. Service tiers are primarily differentiated by performance level, storage size, and price. All service tiers provide flexibility in changing performance level and storage size. Azure SQL Database offers in-memory technologies that improve throughput and latency on transactional processing workloads up to 30x over traditional table and database engines. It also delivers faster business insights with up to 100x faster queries and reports over traditional row-oriented storage.

Azure SQL Database protects your data and maintains business continuity with built-in high availability and business continuity tools. Powered by a global network of Microsoft-managed datacenters, Azure helps keep your app running 24/7 with a financially backed 99.99% availability SLA. In addition, Azure SQL Database provides built-in business continuity and global scalability features such as automatic backups, point-in-time restores, and active geo-replication to minimize data loss and achieve fast recovery after disruptive events. With Azure SQL Database as your software as a service (SaaS) platform, you never have to compromise when designing tenancy models for the data tiers of multitenant applications. It’s the only cloud database that allows SaaS providers and IT to manage thousands of databases as one while maintaining security isolation, ensuring the performance of each database, and pooling resources for maximum budget efficiency. Azure SQL Database allows you to focus on what you do best: building great apps. Deliver your app with the efficiency your business demands and connect it to Azure SQL Database with the tools and platforms you prefer. You can leverage open-source tools like cheetah, sql-cli, and VS Code, or Microsoft tools like Visual Studio and SQL Server Management Studio. You can also use the Azure portal, PowerShell, and REST APIs to gain additional productivity. Develop with a choice of popular languages such as C#, Java, Node.js, Ruby, PHP, and Python—or with frameworks such as Entity Framework, Hibernate, Ruby on Rails, and Django.

Planning your migration

This section walks you through the pre-migration steps, including understanding your migration options, assessing your current data ecosystem, and implementing a proof of concept.

MIGRATION OPTIONS

Azure SQL Database is a service designed for applications that will use a database as a self-contained service. Databases can be grouped to simplify management options or share resources. Microsoft offers three options for Azure SQL Database, each suited for different types of workloads: elastic pools, logical servers, and the newly announced Managed Instance. This section each option and identifies potential scenarios to help you select the right option for your organization.

ELASTIC DATABASE POOLS

An elastic pool is a collection of databases that share common resources such as CPU, IO, and memory. Resources used by the pool automatically scale up or down based on demand, to a maximum defined by the service level. Three service levels are available for elastic pools: basic, standard, and premium.

Elastic pools work well for workloads that have periods of time in which different databases encounter high traffic. Auto-scaling ensures availability to the indemand databases while scaling down resources allocated to inactive databases. If needed, resources can be reserved for databases that may be in demand all the time or serve a mission-critical function, limiting the impact of resource shifts within the pool.

ELASTIC POOLS FOR MULTI-TENANCY

Software as a Service (SaaS) developers build applications on top of large-scale data tiers consisting of multiple databases. A common pattern is to provision a single database for each tenant. The problem with this approach is that different customers have varying and unpredictable usage patterns. This makes it difficult to predict the resource requirements of each database. Elastic pools solve this problem by ensuring that databases get the performance resources they need when they need it. They provide a simple resource allocation mechanism within a predictable budget. A shared model could pose problems with tenant isolation issues and application development complexities. However, for multi-tenant applications that provide a service to consumers, tenant isolation may not be as important as minimizing cost. Azure SQL Database provides features to help customers who need to build isolation for improved security and management at scale in the data tier. To learn more about elastic pools, read Elastic pools help you manage and scale multiple Azure SQL databases.

LOGICAL SERVERS

Logical servers are the default option when provisioning Azure SQL databases. The logical server allows administrators to perform tasks across multiple databases. Individual databases within a logical server are self-contained. Each database has its own service tier and can be independently scaled by changing the service tier. Unlike elastic pools, logical servers do not share resources, which ensures that individual databases are not impacted by scaling changes of other databases within the logical group.

AZURE SQL DATABASE FOR HA/DR

When building new cloud-based applications to take advantage of the cost savings and performance optimization that cloud services provide, Azure SQL databases grouped into a logical server provides scale and cost efficiency with less overhead. This approach provides the benefits of a fully managed cloud service, helps lower initial time-to-market, and can provide long-term cost
optimization. Azure SQL Database works well for teams that need built-in high availability and disaster recovery, without the need to manage the underlying operating system and configuration settings.

MANAGED INSTANCE

Managed Instance is a new deployment option in Azure SQL Database that is currently in private preview. These Managed Instances have near-100% parity with SQL Server on-premises solutions, including features such as CLR support, SQL Server Agent, and cross-database querying. Managed Instance also offers support for virtual networks using private IP addresses. There is no public-facing endpoint for those instances, creating a solution isolated from the public Internet. With Managed Instance, organizations can utilize features including automatic backups and built-in high-availability, in addition to the latest innovations in Azure SQL Database, such as scalability improvements, monitoring, built-in intelligence, and security. Since Managed Instance is a database as a service (DBaaS), these benefits come without the overhead of managing an operating system.

MANAGED INSTANCE FOR FEATURE PARITY

With Managed Instance, you don’t have to be responsible for operating system management. You can continue running as an instance, with the familiar onpremises SQL Server features that are not available with the Azure SQL Database single-database model. This reduces migration concerns as feature parity means not having to worry about compatibility or unsupported features. Teams can focus on continuing to modernize and optimize.

ASSESS YOUR CURRENT DATA ECOSYSTEM

Once you have a basic understanding of the Azure SQL Database solutions available, the next step is to take inventory of your existing databases and applications. This establishes the starting point for your modernization effort and helps you understand the potential challenges in your path so that you can plan accordingly. Evaluating existing applications and databases thoroughly will greatly improve the results of your migration effort. Unlike the traditional process of evaluating database properties and file sizes, consider how each application and database is used, which databases encounter peak use times, and which applications use multiple databases or cross database queries. Identify any specific security requirements and make an informed decision as to which Azure SQL Database type you will use; elastic pool, logical server, or Managed Instance.

CHOOSE AND IMPLEMENT A PROOF OF CONCEPT

Before committing to the full-scale migration effort, your stakeholders will want to see a proof of concept (POC) migration take place. This is an opportunity to walk through the migration process, take some measurements for success, and finalize the TCO/ROI analysis as well as the deployment plan. Choosing the POC project can be difficult. The goal is to find an application and database with sufficient use and size—but not one that is critical to daily operations. Consider a group of users who are willing to participate in the POC and can provide enough activity before and after migration for analysis. Define key measures for success. Ideally, these are measures that factor into TCO or ROI calculations, but they can be simple measures for performance or resiliency. These measures will be critical not only for confirming the POC’s success, but for validating whether your organization’s goals will be met in the production-level migration.

Implementing your migration plan

The new Azure Database Migration Service (DMS) will help you migrate existing on-premises SQL Server, Oracle, and MySQL databases to Azure SQL Database, Azure SQL Database Managed Instance, or SQL Server on Azure virtual machines.

SPEED YOUR MIGRATION WITH A GUIDED PROCESS

DMS streamlines the process for migrating on-premises databases to Azure. It simplifies the migration of existing on-premises SQL Server, Oracle, and MySQL databases to Azure, whether your target database is Azure SQL Database, Managed Instance, or SQL Server in an Azure virtual machine. DMS provides an automated workflow with assessment reporting. It guides you through exactly what you need to do prior to migrating, and no specialty skills are required to use it. The DMS guided process presents options that are easy to understand and implement, so you get the job done right the first time. For an opportunity to participate in the limited preview of this service, please sign up.

Next steps

Migration is one step on your path to modernization. Extend your DBaaS solution with Azure services to maximize your reach and scale. From SaaS applications to business intelligence, from big data analytics to IoT, Azure has service offerings that can accelerate your organization’s transformation to the modern ecosystem.

Summary

Azure SQL Database is the only intelligent cloud database service built for app developers, with capabilities such as machine learning–based threat detection and built-in machine learning to dynamically adapt to maximize performance and reliability. With Azure SQL Database, IT organizations can better deliver a responsive service while maintaining continuity, predicting and managing costs, and adopting new languages and platforms. Azure SQL Database is also the only cloud database service that transparently responds to rapidly changing resource requirements, scaling on-the-fly with minimal downtime. Moving your SQL Server databases to Azure has never been easier or more economical. DMS enables you to seamlessly lift and shift your databases to Managed Instance and experience the rich SQL Server programming surface area in the cloud, with the operational and financial benefits of the intelligent, fully managed SQL Database.

Call to action

Get started on your path to modernization today. Information in this document, including URL and other Internet website references, is subject to change without notice. Unless otherwise noted, the companies, organizations, products, domain names, email addresses, logos, people, places, and events depicted in examples herein are fictitious. No association with any real company, organization, product, domain name, email address, logo, person, place, or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2017 Microsoft Corporation. All rights reserved. Microsoft, Microsoft Azure, Azure SQL Database, and Azure Database Migration Service are either registered trademarks or trademarks of the Microsoft group of companies. All other trademarks are property of their respective owners.