This is a real life story on how a software as a service application moved to the cloud, to azure, over a period of two years. We discuss migration, business drivers, technology, and how it got done. We talk through more modern ways to refactor or change code to get into the cloud nowadays.
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Customer migration to Azure SQL database, December 2019
1. Modernize your old
database-heavy application
to cloud architecture
George Walters
Cloud Partner Strategist, Microsoft
george.walters@microsoft.com
@geo_walters on twitter
2. From Legacy to the Cloud!
3
1. Why would someone give up on-premises SaaS
infrastructure for Azure?
2. Technology decisions behind this conversion
3. Proposed Architecture
4. Changes to Azure during planning and rollout
5. Futures: Alternate architecture open discussion
3. 1920 1980s 2010s 2020s
Source: Yale Professor Richard Foster
Average lifespan of a company on S&P 500
12. Redeploy as-is to cloud
• Reduce Capex
• Free up datacenter space
• Quick cloud ROI
IaaS
Minimally alter to take better
advantage of cloud
• Faster, shorter, updates
• Code portability
• Greater cloud efficiency
(resources, speed, cost)
Containers
PaaS
Materially alter/decompose
application to services
• App scale and agility
• Easier adoption of new
cloud capabilities
• Mix technology stacks
PaaS
Serverless
Microservices
New code written with cloud
native approach
• Accelerate innovation
• Build apps faster
• Reduce operational cost
Description
Drivers
Technologies
Rehost Refactor Rearchitect Rebuild
13. 14
On-Premises
To Azure
Application
Architecture
Changes Azure
User PC
Internet
Clock
Admin UI (.NET and COM)
Web Page
Business
Logic
Data
Access
Service Layer (VB/COM)
Business
Logic
Data
Access
LOB.
Data Layer
HRO
HRIS
HRIS
Tablet
Current State Proposed Future Architecture
User PC
Internet
Clock
LOB.
Data Layer
HRO
HRIS
HRIS
Tablet
Client UI (.NET and COM)
Web Page
Business
Logic
Data
Access
Service Layer
.NET
Business Logic
Data Access
Client UI
Web Roles
Admin UI
Web Roles
Worker
Roles
Client DB 1..
SQL Azure
Client DB N
SQL Azure
Master DB
SQL IaaS VM
Firewall
Firewall
Master DB Client DB 1..Client DB N
14. What were the recommendations to migrate to Azure?
15
18. Azure SQL Database
Intelligent database service with infinite scale
Manage thousands
of DBs as one
Faster time
to market
Lower TCO
47% staff hours
reclaimed for other tasks
“Moving to Elastic Pools will save us a
½ million dollars this year alone.”
75% faster app
deployment cycles
“We can get things out faster with
Azure SQL Database”
53% less expensive
than on-prem/hosted
“To be able to do what we’re doing
in Azure, we’d need an investment
of millions.”
Customer
1
Customer
…500
Customer
2
Greater security
Built-in security with AI-
based Threat Detection
“We encrypt when data comes in and
decrypt at the point of consumption.”
SECURITY
Delivers 406% ROI and 71% fewer cases of downtime*
*Data source & customer quotes: The Business Value of Microsoft Azure SQL Database Services, IDC, March 2015
21. Power your data estate anywhere
Business intelligence
Advanced Analytics & AI
Any language, any platform, anywhere
Least vulnerable data platform, with more certifications than any other cloud provider
Structured
Unstructured
OLTP
MOBILE
ERP
LOB
Graph
Social
IoT
Media
DATA SOURCES DATA INSIGHTS
Datavirtualization
DATA MANAGEMENT
Dataintegration
Big data processing
Data warehousing
Operational data
SECURITY
FLEXIBILITY .NET Azure 3rd
JAVA
Power BI
Azure
Machine Learning
Azure
Stream Analytics
Azure
Cognitive Services
SQL Server
Reporting Services
and Mobile BI
SQL Server Analysis
Services, R or Python
Azure
HDInsight
Azure SQL
Data Warehouse
Azure
Data Lake
Azure
Cosmos DB
Azure
SQL Database
SQL Server
SQL Server
Data Warehouse
Apache
Hadoop
ON-PREM CLOUD
22. Microsoft Azure Data Services
transactional processing
rich query
managed as a service
elastic scale
Internet accessible http/rest
schema-free data model
arbitrary data formats
23. In 2019, what would I do?
26
ANY Application rationalization:
Can I do SaaS? Can I do PaaS? Can I do IaaS?
SCRIPT IT!
Lift and shift? -> Azure SQL Database Managed Instance or VMs
Refactor -> Azure SQL DB plus Web Apps
Use Azure SQL DB DTU Calculator!
Advanced Refactor -> CosmosDB! (Planet-scale multi-write auto-indexing)
Data Warehouse -> Azure SQL DB or Azure SQL DW
Use Azure SQL DW DWU Calculator!
Reporting -> Power BI
Embedded lets end-users see reports in iFrame without license
Cubes -> Azure Analysis Services
Learn Kubernetes! --- WHAT?!
24. Insights in minutes
and rich reports
Choice of platform
and language
Most secure
over the last 8 years5
0
20
40
60
80
100
120
140
160
180
200
Vulnerabilities(2010-2017)
The best of Power BI and
SQL Server Reporting Services
with Power BI Report Server
Industry-leading
performance
#1 OLTP performance1
#1 DW performance on
1TB2, 10TB3, and 30TB4
Intelligent Query Processing
Industry-leading performance and security, with intelligence over all your data
Private cloud Public cloud
Most consistent data platformIn-memory across all workloads
1/10th the cost of Oracle
T-SQL
Java
C/C++
PHP
Node.js
C#/VB.NET
Python
Ruby
All TPC Claims as of 1/19/2018.
1 http://www.tpc.org/4081; 2 http://www.tpc.org/3331; 3 http://www.tpc.org/3326; 4 http://www.tpc.org/3321; 5 National Institute of Standards and Technology Comprehensive Vulnerability Database
Intelligence over
any data
AI and Machine Learning
over all data with the power
of SQL and Apache Spark
25. PolyBase
SQL Server Hadoop
T-SQL query
• Manage structured & unstructured data
• Simple T-SQL to query Hadoop (HDFS)
• JSON support
Quote:
$658.39
Stretch database
App
Microsoft
Azure
Query
Customer data
Product data
Order History
Stretch to cloud
✓
• Data is encrypted & queryable
• Save money & improve
customer experience
• No application changes
Learn more!
www.microsoft.com/
SQLServer2016
Order history
Name SSN Date
Philip Wenger cm61ba906fd 2/28/2005
Denny Usher ox7ff654ae6d 3/18/2005
Alicia Hodge i2y36cg776rg 4/10/2005
Alta Levy nx290pldo90l 4/27/2005
Dionne Hardin ypo85ba616rj 5/12/2005
Kristy Flowers bns51ra806fd 5/22/2005
Sara Wiley mci12hh906fj 6/07/2005
Whitney Lang utb76b916gi 6/18/2014
Lorenzo Olds px61hi9306fj 7/1/2014
Sophie Cook ol43bi506gd 7/12/2014
Aida Durham tx83hal916fi 7/29/2014
Name DOB State
Denny Usher 11/13/58 WA
Gina Burch 04/29/76 WA
Real-time
operational analytics
0100101010110
ETL
In-memory
ColumnStore
In-memory
OLTP
Real-time business
problem detection
2-24
hrs
• Up to 30x faster transactions with
in-memory OLTP
• Queries from minutes to seconds
In-database
Advanced Analytics
R built-in to SQL Server
Mission critical OLTP
• R built-in to your T-SQL
• Real-time operational analytics
without moving the data
• Open source R with in-memory &
massive scale – multi-threading and
massive parallel processing
End-to-end mobile BI
• In-memory built-in
• Real-time with direct query capabilities
• Powerful modeling with 250+ built-in
analytical functions
• Mobile reports with online
& offline access
• Modern data visualizations with
Reporting Services or Power BI
Highest performing
data warehouse
SMP MPP
Petabyte-
scale
Data marts
Azure SQL Data Warehouse
MPP
SQL Server SQL Server +
Analytics Platform System
Data marts Petabyte-
scale
SMP
• Scale to MPP on-premises &
in the cloud
• Simple T-SQL to manage structured
and unstructured data
• ½ the cost of Oracle Exadata
SQL Server in Azure VM
Always Encrypted
App
SELECT Name FROM Patients
WHERE SSN=@SSN
@SSN='198-33-0987'
SQL Server
Column
Master
Key
Query
Column
Encryption
Key
Enhanced
ADO.NET
Library
Denny Usher
Name
198-33-0987
SSN
USA
Country
Result Set
Philip Wegner
Name
1x7fg655se2e
SSN
USA
Country
Denny Usher 0x7ff654ae6d USA
Alicia Hodge 0y8fj754ea2c USA
dbo.Patients
Denny Usher
Name
0x7ff654ae6d
SSN
USA
Country
Result Set
SELECT Name FROM
Patients WHERE
SSN=@SSN
@SSN=0x7ff654ae6d
• Protect data at rest and in motion
• Without impacting
database performance
Trusted
On-premises
Cloud
28. From Legacy to the Cloud!
31
1. Why would someone give up on-premises SaaS
infrastructure for Azure?
2. Technology decisions behind this conversion
3. Proposed Architecture
4. Changes to Azure during planning and rollout
5. Futures: Alternate architecture open discussion
29. Thank you!
@geo_walters
george.walters@microsoft.com
Resources:
Microsoft Documentation (Pretty good nowadays!) https://docs.microsoft.com/en-us/
Learning via docs (and MVA): https://docs.microsoft.com/en-us/learn/
Hands-on labs: https://www.microsoft.com/handsonlabs
In-Person events: https://events.microsoft.com/
SQL Saturday (Centered around Microsoft data platform): http://www.sqlsaturday.com
EdX has tons of material: https://www.edx.org/course?search_query=microsoft