AWS RDS vs Azure vs Managed Services for SQL Server
We are evaluating pros and cons of different hosting solutions for SQL Server which best suits our business needs.
Our business needs
Our demand is very predictable seasonal demand.
We are very small and can’t afford dedicated team for managing database infrastructure.( No DBA Team )
Sky high expectation from Customers on availability and reliability for about 2 months in a year.
Few minutes of downtown during peak period can cause havoc to our business .
Fixed budget with very little wiggle room.
Our plan is to evaluate AWS SQL Server RDS, Azure RDS , Managed solutions from hosting provider.
Evaluate each option in these categories.
1. Performance and Reliability
2. Ability to scale up during peak loads
3. Cost ( Based on Network , Storage, Memory and CPU )
4. Operations Efficiency
5. Compliance
Infrastructure Requirements :
SQL Server Enterprise Edition since we use enterprise features
AlwaysOn Availability group for High Availability
Geo Replication or Multi Availability zone implementation for Cloud based databases
Ability to route Read/Write workloads
128 Gig RAM – Minimum
1 – 2 TB Storage with 500 Gigs of SSD for TempDB Database and High Volume Tables
Memory Optimized OLTP Support which needs SQL Server 2016 Edition
Ability to handle ~ 30 K IOPS during peak load
Amazon AWS SQL Server RDS
RDS Pricing Link : AWS SQL Server RDS Pricing
http://www.ec2instances.info/rds/?selected=db.r3.8xlarge
Enterprise Edition Single-AZ Deployment
Price Per Hour | |
---|---|
Memory Optimized Instances – Current Generation | |
db.r3.2xlarge | $5.810 |
db.r3.4xlarge | $11.404 |
db.r3.8xlarge | $19.271 |
Multi-AZ Deployment
Price Per Hour | |
---|---|
Memory Optimized Instances – Current Generation | |
db.r3.2xlarge | $11.620 |
db.r3.4xlarge | $22.808 |
db.r3.8xlarge | $38.542 |
AWS SQL Server RDS Configurations
On-Demand for SQL Server (License Included)
Multi-AZ Deployment
Region: US East (N. Virginia)
Memory Optimized Instances – Current Generation Price Per Hour
RAM : 244 GB
10 Gigabit 32 vCPU
20,000 Provisioned IOPS
db.r3.8xlarge | 244 GB | 2 x 320 SSD | Intel Xeon E5-2670 v2 (Ivy Bridge) | 32 vCPUs | 10 Gigabit |
Azure Pricing Calculator
Azure performance is measured in DTU. We have been collecting our performance metrics during load test. The following link provides lightweight utility to convert perfmon counters to Azure DTU’s.
Perfmon Counters to Azure DTU Conversion Utility Link : Perfmon to Azure DTU calculator
Understanding DTUs
Based on Microsoft definition : https://azure.microsoft.com/en-us/documentation/articles/sql-database-service-tiers/
The Database Transaction Unit (DTU) is the unit of measure in SQL Database that represents the relative power of databases based on a real-world measure: the database transaction. We took a set of operations that are typical for an online transaction processing (OLTP) request, and then measured how many transactions could be completed per second under fully loaded.
Azure RDS Pricing Calculator Link : Azure RDS Pricing Calculator
Azure Options for SQL Server
https://azure.microsoft.com/en-us/pricing/details/sql-database/
Basic
eDTUs PER POOL | MAX STORAGE PER POOL 1 | MAX DBs PER POOL | MAX eDTUs PER DATABASE | PRICE 2 |
---|---|---|---|---|
100 | 10 GB | 200 | 5 | ~$149/mo |
200 | 20 GB | 400 | 5 | ~$298/mo |
400 | 39 GB | 400 | 5 | ~$595/mo |
800 | 78 GB | 400 | 5 | ~$1,198/mo |
1200 | 117 GB | 400 | 5 | ~$1,800/mo |
Standard
eDTUs PER POOL | MAX STORAGE PER POOL 1 | MAX DBs PER POOL | MAX eDTUs PER DATABASE | PRICE 2 |
---|---|---|---|---|
100 | 100 GB | 200 | 100 | ~$223/mo |
200 | 200 GB | 400 | 100 | ~$446/mo |
400 | 400 GB | 400 | 100 | ~$900/mo |
800 | 800 GB | 400 | 100 | ~$1,800/mo |
1200 | 1.2 TB | 400 | 100 | ~$2,701/mo |
Premium
eDTUs PER POOL | MAX STORAGE PER POOL 1 | MAX DBs PER POOL | MAX eDTUs PER DATABASE | PRICE 2 |
---|---|---|---|---|
125 | 250 GB | 50 | 125 | ~$697/mo |
250 | 500 GB | 50 | 250 | ~$1,399/mo |
500 | 750 GB | 50 | 500 | ~$2,790/mo |
1000 | 750 GB | 50 | 1000 | ~$5,580/mo |
1500 | 750 GB | 50 | 1000 | ~$8,370/mo |