You are on page 1of 54

WI N301-

Modernizing Microsoft SQL


Server on AWS
Bini Berhe Mona Soni Luke Sawatsky
Sr. Solutions Architect VP of Software Engineering
Amazon Web Engineering Dow Manager Dow Jones
Services Jones

© 2019, Amazon Web Services, Inc. or its affiliates. All rights


reserved.
Related breakouts and
workshops
WIN313 – Design, migrate, and optimize SQL Server on AWS
WIN401 – Modernize your SQL Server workloads to Amazon
Aurora DAT321 – Deep dive on Amazon Aurora with MySQL
compatibility
DAT328 – Deep dive on Amazon Aurora with PostgreSQL
compatibility
Agend
a
What does modernization mean?

Microsoft SQL Server on Linux

Optimized CPUs for Amazon

EC2 What is Amazon Aurora?

AWS Database Migration Service (AWS

DMS) What is the Database Freedom

Program?

Dow Jones story


What does modernization
mean?
“Modernization refers to a model of a progressive transition
from a ‘pre-modern’ or ‘traditional’ to a ‘modern’ society”
-Wikipedia

Adobe Stock image licensed by Amazon 2019


Why is it important to
modernize?

Adobe Stock image licensed by Amazon 2019


Windows Server vs.
Linux
SQL Server replatforming
assistant

https://tinyurl.com/tmvwz99
License optimization with Optimize
CPUs
• Control active vCPUs and hyper-threading
status when launching new Amazon EC2
instances
• Reduce the number of SQL Server licenses
Instance Type • Currently available forActive
Total vCPUs BYOL option
vCPUs with Optimize SQL Server license savings
CPUs

r5.4xlarge 16 8 50%

r5.8xlarge 32 8 75%

*Sample licensing example only


What is
Aurora?
Amazon
Cloud-native engine
RDS
Open-source engines Commercial engines

Amazon Aurora

Amazon RDS
• Automatic fail-over
platform • Advanced monitoring
• Backup & recovery • Isolation & security • Routine maintenance
• X-region replication • Industry compliance • Push-button scaling
• Automated patching
Image credit: By Mackphillips - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=55946550
Aurora: Reimagining the relational
database
1 Scale-out, distributed architecture using purpose-
built storage system

2 Service-oriented architecture leveraging AWS


services
3 Fully managed service, automating administrative
tasks
4 Cloud-native capabilities simplify
use

Aurora is fast . . .
5x more throughput than MySQL; 3x more throughput
than PostgreSQL
Scale-out, distributed, multi-tenant
design .. . Region
Purpose-built, log-structured
Availability Zone 1 Availability Zone 2 Availability Zone 3
distributed storage
M aster Reader Reader Reader Reader Reader
Storage volume is striped 1 5 8 9 15
across hundreds of SQL SQL SQL SQL SQL SQL

storage nodes distributed Transactions Transactions …


Transactions Transactions Transactions … Transactions

over 3 different Caching Caching … Caching Caching Caching

Caching
Availability Zones
6-way replication, 2 per AZ
Shared storage volume

Quorums survive
AZ+1 failure
Master and up to 15
readers all
point to the same Storage nodes with SSDs
storage
With provisioned Aurora, you size the
master Region

Availability Zone 1 Availability Zone 2 Availability Zone 3


Size for the peak
load
M aster
-or- SQL
Transactions
Caching

Continuously monitor and


manually scale compute up/down
Shared storage volume

Storage nodes with SSDs


Aurora
serverless
Responds to your application load
automatically

Scale capacity with no downtime

Multi-tenant proxy is highly

available Scale target has warm

buffer pool Shuts down when not

in use
Database health at a
glance
Aurora comes with comprehensive monitoring built
in:
Amazon CloudWatch Amazon CloudWatch Enhanced Performance
Metrics Logs Monitoring Insights
Performance
insights
Available for both MySQL and
PostgreSQL compatible versions of
Aurora Max CPU

Easy and powerful dashboard showing load


on your database

Helps you identify source of bottlenecks: top


SQL queries, wait statistics

Adjustable time frame (hour, day, week, month)

7 days of performance data history free—


perfect for developers; up to 2 years of long-
term retention for production use cases
Database
cloning
Get faster access to copies of your data so you
can:
1 Test changes in pre-production on
relevant data sets

2 Reorganize a database with


minimal
production impact

3 Save a point-in-time snapshot for


data analysis without impacting
production systems
Fast database cloning with
Aurora BENCHMARKS

Available for both MySQL and


PostgreSQL compatible versions of
Aurora DEV/TEST
APPLICATIONS
CLONE

Creation of clone takes a few


minutes
Data copy happens only on write, when the
original CLONE CLONE
and cloned volumes start to differ
Operations on clone do not affect the source PRODUCTION
APPLICATIONS
PRODUCTION
APPLICATIONS
cluster
Up to 15 clones from the same
source
Pay only for the data storage difference on the PRODUCTION DATABASE

clone
Aurora
backtracking
Easily undo changes to your
data:
1 Reduce risk of database changes at
scale

2 Undo unintentional DML and DDL


changes

3 Mitigate risk of malicious changes to


your data

4 Avoid time-consuming data restore


from
backups
Going back in time with
Backtrack t4
Invisible Invisible
t2 t3

Rewind to t3
t0 t1

Rewind to t1

t0 t1 t2 t3 t4

• Backtrack brings the database to a point in time without requiring restore from
backups
• Backtrack is not destructive
• You can backtrack multiple times to find the right point in time
• Pay for the volume of change records retained for the desired duration (up to 72
hours)
New
Innovations
AWS DMS
AWS DMS

Simple to use Minimal downtime Supports most widely used


databases

Low cost Fast and easy to set Reliable


up
AWS DMS—homogeneous database
migrations

Microsoft SQL AWS DMS RDS SQL


Server on premises, Server
EC2, or RDS
AWS DMS—heterogeneous database
migrations
Step 1

Microsoft SQL Schema Conversion Tool Aurora


Server on premises,
EC2, or RDS

Step 2

Microsoft SQL AWS DMS Aurora


Server on premises,
EC2, or RDS
AWS DMS—database
consolidation

AWS DMS Aurora

Multiple SQL Server databases


on premises, on EC2, or on
RDS
AWS Schema Conversion
Tool

AWS SCT
Database
Freedom
Database Freedom is an AWS database migration initiative focused
on accelerating enterprise migrations from commercial database
engines (Oracle and SQL Server) to AWS-native database services
What we hear from customers about legacy
databases
AUDIT

Very expensive Proprietary Lock-in Punitive licensing You’ve got mail


Discover Database Freedom with
AWS
Customer
benefits
• Database and analytics portfolio discovery and assessment
Innovation • Improved automation with migration tools to reduce level of manual effort
• Purpose-built database and analytics services to meet your business needs

• Complement your existing data and analytics teams with AWS migration
Expertise
specialists, i.e., AWS Professional Services, System Integrators, Architects
• Reduce migration timeline by leveraging best practices as documented in
Migration Playbooks

• Reduce risk and cost of migration efforts by utilizing POC/pilot credits


• Build migration business case by taking advantage of generous financial
Programs
incentives and reduce legacy database vendor licensing costs
• Kick off your migration journey by leveraging AWS and partner resources
Modernization
journey
336
65 5
To cloud or not to
cloud?
What “success” meant for this
project
• On-time delivery
• Minimal disruption to our
customers
• Accuracy of the data
• Cost optimization
• Optimum resource utilization
On
premises
DJ NOIS Wombat NLS Coindesk Kraken
Symbology
MarketWatc
h Virtual
Queue Stock
MdpLogger Mama Adapter Exchange
Processor

NetCat Loader Cron Alerts


Email

Provider

Calculated
Quotestore Datastore Screener
Feed
Newswires

Bluegrass
SQL Server
Database

Michelangelo Dylan

Aggregator Ronco Varasto API


Web Pages
Web Apps Real-time feed processors
Mobile Apps
Intraday systems
Newspaper
Riverjack Dextor End-of-day and symbology
systems Client-facing APIs
External clients
On-premises Microsoft SQL Server 2008
database
Master Master
(Principal) (M irror
)

Distributor Distributor

Subscribers
S ubscribers
(4)
(5)
Plan your
architecture
IDEAL REALISTIC
● .NET Core ● .NET Standard
● Docker containers ● Windows Amazon EC2
● Secure password storage instances
● Full CI/CD pipeline ● Hashicorp Vault
● Amazon Aurora database ● Modified CI/CD pipeline
● Using AWS services like ● Amazon Aurora database
ElastiCache, Amazon SQS,
etc.
● Limited Amazon services
Migrate the database with
DMS
● AWS Schema Conversion Tool
● AWS Database Migration Service
• Continuous migration of entire
database
• One-time migration of entire database
• One-time migration of select schemas
Factset Coindesk Kraken

DJ
Symbology Queue MarketWatc
Processor h Virtual
Stock
Exchange
MdpLogger Adapter Alerts

Email
Loader Provider

Calculate
NetCat Cron Quotestore Datastore Screener
d Feed
Newswires

Dylan Bluegrass
Amazon
Aurora MySQL

On premises

Michelangelo

Aggregator Ronco Varasto API Web Pages Real-time feed processors


Web Apps
Mobile Apps Intraday systems
Newspaper End-of-day and symbology
Riverjack Dextor systems Client-facing APIs
External clients
Amazon Aurora global
cluster
VIRGINIA O HIO

Reader Reader
Writer
(5) (6)
Cost savings SQL Server vs.
Aurora
SQL SERVER AURO RA
● Principals ● RDS - Transfer
● Subscribers ● RDS - Compute
● Rack power/space ● RDS - Other
● Maintenance ● RDS - Storage
● SAN storage ● RDS - GP2
storage
● Hardware costs

$130,560.00/year $60,505.32/year
Post-migration

Amazon CloudWatch NewRelic


CloudHealth
costs
Mistakes made, lessons
learned

• The more separate your • Test the data as soon


services, the better as possible
How did we
do?
Best
practices
•AWS Well-Architected Review
(WAR)
• Security review
• Proper planning and estimation
• CI/CD implementation
• Scope management
• Communication
• Optimum resource utilization
• Minimal external dependencies
Thank
you!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights
reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights
reserved.

You might also like