Elastic database patterns for SaaS applications in Azure

Slides:



Advertisements
Similar presentations
 Built for SaaS and enterprise applications  Elastic database model for unpredictable workloads  99.99% availability with global reach  Geo-replication.
Advertisements

Review DirectQuery in SSAS 2016, best practices and use cases
Learn how the cloud is accelerating network transformation
5 reasons to store your backups on ReFS 3.0 and Storage Spaces
Use relational database as a service
C# and VB code-focused development with Visual Studio
Connected Infrastructure
2/20/2018 7:04 PM BRK1038 Meet Azure Information Protection customers and learn about their success stories Jeffrey Kalfut Strategy & Architecture Manager,
BRK1017 Taking your hybrid management and security strategy to the cloud with Operations Management Suite Jeremy Winter and Srini Chandrasekar.
Enterprise grade security in your Hadoop clusters on Azure
Microsoft Ignite /30/2018 9:28 PM BRK3174
Extending IT Best Practices to Microsoft Azure
Transform yourself and build your IT cloud career path
Deliver business insights with Microsoft Dynamics AX and Power BI
Examine information management in Cortana Intelligence
Develop, debug and deploy containerized applications with Docker
Operational Analytics in SQL Server 2016 and Azure SQL Database
5/27/ :57 PM Tips & Tricks for Deploying and Managing Microsoft Dynamics 365 for Sales and Service Sean McNellis Shawn Dieken Dynamics 365 Principal.
Build interactive data analysis environments using Apache Spark
6/1/ :10 AM BRK3120 Learning from MYOB: design patterns for SaaS applications on SQL Database Principal Program Manager,
Microsoft /2/2018 3:42 PM BRK3129 Query Big Data using the Expanded T-SQL footprint with PolyBase in SQL Server 2016 Casey Karst Program Manager.
BRK3288-Discover data-driven apps that learn and adapt
Windows Server* 2016 & Intel® Technologies
Conduct a successful pilot deployment of Microsoft Intune
Review the Nutanix Cloud Platform System Standard solution
Microsoft Ignite /11/2018 1:18 AM BRK4017
Microsoft /23/2018 1:11 AM BRK3180 Migrate CRM OnPremise organizations to CRM Online cloud using Dynamics Lifecycle Services (LCS) Aditya Varma Ganapathy.
Web development productivity with Visual Studio
Deep Dive into the Azure Container Service
Red Hat OpenShift on Microsoft Azure
SQL DB Elastic Pools for SaaS
Microsoft Ignite /22/2018 3:27 PM BRK2121
Secure Remote Access to on-premises Web Apps using Azure AD
BRK2264 Move 13,000+ global Dynamics CRM users from on-premises to Online at Caterpillar Inc. Todd Byrne & John Finney 1 Business Unit Name Here.
Master Modern PaaS for the Enterprise with Azure App Service
BRK1018 Discover how Manulife and Rackspace manage their hybrid environments today Satya Vel Principal Program Manager Operations Management Suite + System.
Get Started with Common Data Model (CDM) and PowerApps
Connected Infrastructure
Microsoft Ignite /8/2018 3:50 PM BRK2112
Design Seamless Upgrades to SQL Server 2016 with Query Store
Uncover data protection in the world of Panama Papers
SQL Server for Java developers
Azure SQL Database – Scaling in and Scaling out with elastic pool
Microsoft /8/2018 4:45 PM BRK3062 BRK3062- Build smarter and scalable applications using Microsoft Azure Database Services Moshe Gutman CEO, GeoSafe.
Bring new levels of visibility to your datacenter with Cisco Tetration
Microsoft Ignite /16/2018 2:39 PM BRK3307
Add intelligence to Dynamics AX with Cortana Intelligence suite
Use server-based personal desktops in Windows Server 2016
Azure SQL Data Warehouse Scaling: Configuration and Guidance
Accelerate Your Transition from Traditional IT to the Cloud
Master Windows 10 Deployments - Expert Level
BRK Maximize the power of SQL Azure with Dynamics AX
Protect your OneDrive and SharePoint files on mobile devices
Microsoft Ignite /13/ :55 PM BRK3153
Explore web development with Microsoft ASP.NET Core 1.0
Microsoft Ignite /14/ :21 AM BRK2101
Migrate to CRM Online - Tips and Tricks
Searching for Rio: Azure Search, NBC Sports, and the Olympics
Determine your role in a managed service
Dive into Predictive Maintenance using Cortana Intelligence Suite
Microsoft Ignite /17/2018 2:42 AM BRK2223
Secure your Active Directory to mitigate risk in the cloud
Project Springfield Fuzz your code before hackers do
Microsoft Ignite /22/2018 3:58 PM BRK2254
Build and maintain applications with Azure Resource Manager
Automating Windows 10 and software deployments from the Cloud
Task recorder in Dynamics AX
Learn how to use and customize the Dynamics AX interactive help system
Modern cloud PaaS for mobile apps, web sites, API's and business logic apps
Microsoft Virtual Academy
Presentation transcript:

Elastic database patterns for SaaS applications in Azure Microsoft 2016 7/2/2018 9:57 AM BRK3064 Elastic database patterns for SaaS applications in Azure Torsten Grabs Principal Program Manager © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Agenda Overview of Azure SQL Database 7/2/2018 9:57 AM Agenda Overview of Azure SQL Database Canonical application architecture in Azure Azure SQL Database concepts Data Models for Elastic Database Apps Classification of database applications in Azure Data tier design patterns for multi-tenant and SaaS applications Design Patterns for Elastic Database Apps Manage database capacity at scale Query across many databases Orchestrating management tasks at scale Managing data distribution Transactions across databases Summary © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

01 | Azure SQL Database

Canonical Azure Application Model IoT Canonical Azure Application Model Application built on Microsoft Azure Network tier Azure Traffic Manager App tier Azure Web Jobs Azure Web Sites Azure Web Roles Data tier Azure SQL Database Azure DocumentDB Azure HDInsight Streaming Azure Storage Azure Search

Build 2015 7/2/2018 9:57 AM Azure SQL Database Fully managed SQL database service so you can focus on your business Built for SaaS and Enterprise applications Predictable performance & pricing 99.99% availability built-in Geo-replication and restore services for data protection Secure and compliant for your sensitive data Fully compatible with SQL Server 2014 databases © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Azure SQL Database Service Tiers Build 2015 7/2/2018 9:57 AM Azure SQL Database Service Tiers Basic Standard Premium Light transactional workloads Go-to option for most business applications High throughput and business-critical databases Intended Use 99.99% Availability • •• ••• Performance Fully compatible with SQL Server 2014 databases Programming Surface Isolated databases and elastic database pools Workload Elasticity © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Singleton vs Elastic Databases Singleton databases Fixed resource reservations Optimized for apps with predictable performance demands Seamless scale up and down through service tiers Elastic pool database Individual database resources fluctuate dynamically with capacity demands For workloads with unpredictable database resource consumption Pool resources shared among a group of databases Helps avoid overprovisioning databases to meet peak demand Elastic database pool can host hundreds of databases Resources and cost budget are per pool Cost are independent of database count in pool

Demo Creating an Azure SQL Database

02 | Data Models for Elastic Database Applications

Application Segments in SQL Database ISVs Going SaaS & Cloud-born SaaS Enterprise apps serving customers Enterprise apps serving employees Multi-tenant software application using thousands of databases to service their cloud hosted customers Applications designed for elasticity and scale with efficient and agile operational model Line of business applications empowering employees while remove CAPEX, reduce OPEX

SaaS provider customer (tenant) end-user Build 2015 7/2/2018 9:57 AM Data-intensive SaaS applications SaaS provider customer (tenant) end-user Scaling to unlimited customers Data isolation, privacy, protection Unpredictable usage across customers © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Multi-tenant Data Models Desirable application patterns with ideal tenant isolation properties and most cost-effective resource sharing Resource sharing Tenant Isolation Little resource sharing Lots of resource sharing Little isolation Lots of isolation Shared - Single All tenants in a single(large) database Database-per-tenant Every tenant gets its own DB Shared-Sharded Multiple tenants per DB, sharded across many DBs Increasing deployment & manageability cost Increasing cost for tenant isolation DevOps

Designed for SaaS: Azure SQL DB’s Elastic Capabilities Tenant Isolation Elastic database tools & capabilities Resource sharing Little resource sharing Lots of resource sharing Little isolation Lots of isolation Shared - Single All tenants in a single(large) database Database-per-tenant Every tenant gets its own DB Shared-Sharded Multiple tenants per DB, sharded across many DBs Increasing deployment & manageability cost Increasing cost for tenant isolation DevOps Database-per-tenant with Elastic Pools Tenant isolation combined with sharing resources in an elastic database pool

Demo WingTip Tickets SaaS Application

03 | Typical Design Patterns with Elastic Database SaaS Applications

Typical elastic database application architecture Scalable cloud service, load balanced in normal use Cloud Service Catalog database holds mapping to customer databases Catalog Customer Catalog Cust 1 Cust 2 Cust 3 Cust N Scale out data tier by adding additional customer databases Customer Databases

Pattern 1: Manage database capacity with many dbs Cloud Service Catalog Customer Catalog Cust 1 Cust 2 Cust 3 Cust 4 Cust 5 Cust 6 Cust 7 Cust 9 Cust 9 Cus Cus Cust N Cust 1 Cust 2 Cust 3 Cust 4 Cust 5 Cust 6 Cust 7 Cust 8 Customer Databases

Elastic Pools: Manage database resources Elastic databases, Elastic database pools Pooled resources leveraged by many databases Example: Standard elastic pool Standard elastic pool provides 200-1200* eDTUs for up to 400 databases Elastic Standard databases can burst up to 100 eDTUs (S3 level) Create/configure pool via portal, PowerShell, REST APIs Move databases in/out using portal, PowerShell, REST APIs, T-SQL Databases remain online throughout Monitoring and alerting is available on both pool and databases

Demo Elastic Database Pools

Pattern 2: Querying across many databases Cloud Service PowerBI Catalog Customer Catalog Elastic Query Cust 1 Cust 2 Cust 3 Cust N Customer Databases

Elastic Query: Querying across databases Connect to a single SQL DB database using familiar SQL DB connection strings Simple setup with T-SQL DDL Transparent querying of many databases from a single database Familiar programming experience with T-SQL, ADO. NET Linq, EF etc. Use familiar development and BI tools to query across many databases Designed for interactive querying

Demo Elastic Database Query

Pattern 3: Managing many databases Cloud Service Catalog Customer Catalog T-SQL Cust 1 Cust 2 Cust 3 Cust N Customer Databases

Elastic Jobs: Managing many databases Apply changes or administrative operations to many databases Use familiar T-SQL scripts to define jobs Built-in automatic retries in case of transient failures Tightly integrated with elastic pools in the new Azure Portal Powershell experience for more control Designed for batch processing

Demo Elastic Database Jobs

Pattern 4: Managing data distribution 1. End users connect to cloud service Cloud Service 2. Cloud service looks up customer in catalog 3. Cloud service routes directly to customer database Catalog Customer Catalog Cust 1 Cust 2 Cust 3 Cust N Customer Databases

Elastic Client Library: Manage data distribution Define and manage data distribution to databases Define the set of databases that is the data tier of your application Map customers (tenants) to databases Route database requests (data-dependent routing) Route incoming requests to the correct database Ensure correct routing if databases move Performance: Cache routing information

Demo Elastic Database Client Library

Pattern 5: Transactions across databases 1. End users connect to cloud service Cloud Service 2. Changes several databases as part of the request Catalog Customer Catalog Cust 1 Cust 2 Cust 3 Cust N Customer Databases

Elastic Transactions: Atomic changes across databases With Elastic transactions, you can run transactions that stretch across several databases in SQL DB Example use cases: Financial transactions across tenants in a SaaS application As part of order processing, updating the sales and inventory databases Familiar development experience with .NET Starting with .NET 4.6.1

Summary

Main take-aways Azure SQL Database SQL Server-based relational database in Azure with pay-as-you-go elasticity Data Models for Elastic Database Apps Different design patterns for data tiers from scale-up to scale-out Tenant isolation and density requirements define the options for multi-tenant and SaaS applications Design Patterns Manage database capacity at scale: Elastic Database Pools Query across many databases: Elastic Database Query Orchestrating management tasks at scale: Elastic Database Jobs Managing data distribution: Elastic Database Client Library Transactions across databases: Elastic Database Transactions

References Elastic Database overview: https://azure.microsoft.com/en-us/documentation/articles/sql- database-elastic-scale-introduction/ Elastic Pools: https://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic-pool- guidance/ Elastic Query: https://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic- query-overview/ Elastic Jobs: https://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic-jobs- overview/ Elastic Tools: https://azure.microsoft.com/en-us/documentation/articles/sql-database-elastic- database-client-library/ Elastic Transactions: https://azure.microsoft.com/en-us/documentation/articles/sql-database- elastic-transactions-overview/

Free IT Pro resources To advance your career in cloud technology Microsoft Ignite 2016 7/2/2018 9:57 AM Free IT Pro resources To advance your career in cloud technology Plan your career path Microsoft IT Pro Career Center www.microsoft.com/itprocareercenter Cloud role mapping Expert advice on skills needed Self-paced curriculum by cloud role $300 Azure credits and extended trials Pluralsight 3 month subscription (10 courses) Phone support incident Weekly short videos and insights from Microsoft’s leaders and engineers Connect with community of peers and Microsoft experts Get started with Azure Microsoft IT Pro Cloud Essentials www.microsoft.com/itprocloudessentials Demos and how-to videos Microsoft Mechanics www.microsoft.com/mechanics Connect with peers and experts Microsoft Tech Community https://techcommunity.microsoft.com © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Please evaluate this session 7/2/2018 9:57 AM Please evaluate this session Your feedback is important to us! From your PC or Tablet visit MyIgnite at http://myignite.microsoft.com From your phone download and use the Ignite Mobile App by scanning the QR code above or visiting https://aka.ms/ignite.mobileapp © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

7/2/2018 9:57 AM © 2014 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.