database and public endpoints redundancy on azure (radu vunvulea)
DESCRIPTION
This is the perfect session if you need to design a solution that needs to run over Windows Azure and needs to be available 24 hours every day, 7 days per week. We will discuss different concepts and solutions to have databases and/or public API’s available even if a part of cloud infrastructure will be down. Topics like automatically backups, failover mechanism, traffic manager and redundancy will be discussed.TRANSCRIPT
Premium conference on Microsoft technologies itcampro@ itcamp14#
Database and Public
Endpoints redundancy on
Azure
@RaduVunvulea, iQuest
http://vunvulearadu.blogspot.com
Premium conference on Microsoft technologies itcampro@ itcamp14#
Hello ITCamp!
RADU VUNVULEA
MCTS MCP HOME AUTOMATION
MVP ENTERPRISE
AUTOMOTIVE PHARMA
LEAN AND AGILE E-COMMERCE
WEB iQuest
AZURE JAVASCRIPT VUNVULEARADU.BLOGSPOT.COM
MOBILE DOTNET @RaduVunvulea
WCF WPF ENTHUSIASTIC
Premium conference on Microsoft technologies itcampro@ itcamp14#
Huge thanks to our sponsors & partners!
Premium conference on Microsoft technologies itcampro@ itcamp14#
Cloud is not managed by God
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Define Redundancy
• SQL Database
• Storage
• Endpoints (HTTP/S, WCF)
• VM
Agenda
Premium conference on Microsoft technologies itcampro@ itcamp14#
Redundancy
Premium conference on Microsoft technologies itcampro@ itcamp14#
In engineering, redundancy is the duplication
of critical components or functions of a system
with the intention of increasing reliability of
the system, usually in the form of a backup or
fail-safe.
Source: Wikipedia
Redundancy
Premium conference on Microsoft technologies itcampro@ itcamp14#
Hardware
Dual Modular Redundancy
Triple Modular Redundancy
Information
Error detection
Correction
Time
Transient Fault Detection
Software
N-versions Programming
Type of Redundancy
Premium conference on Microsoft technologies itcampro@ itcamp14#
Hardware
Dual Modular Redundancy
Triple Modular Redundancy
Information
Error detection
Correction
Time
Transient Fault Detection
Software
N-versions Programming
Type of Redundancy
Premium conference on Microsoft technologies itcampro@ itcamp14#
Hardware
Dual Modular Redundancy
Triple Modular Redundancy
Information
Error detection
Correction
Time
Transient Fault Detection
Software
N-versions Programming
Type of Redundancy
Premium conference on Microsoft technologies itcampro@ itcamp14#
Hardware
Dual Modular Redundancy
Triple Modular Redundancy
Information
Error detection
Correction
Time
Transient Fault Detection
Software
N-versions Programming
Type of Redundancy
Premium conference on Microsoft technologies itcampro@ itcamp14#
HOW WE CAN TEST IT?
Premium conference on Microsoft technologies itcampro@ itcamp14#
Netflix: The Chaos Monkey’s job is to randomly
kill instances and services within our
architecture
Chaos Monkey
Premium conference on Microsoft technologies itcampro@ itcamp14#
Failover & Switchover
Premium conference on Microsoft technologies itcampro@ itcamp14#
Failover & Switchover
Premium conference on Microsoft technologies itcampro@ itcamp14#
SQL REDUDANCY
Premium conference on Microsoft technologies itcampro@ itcamp14#
SQL Data Sync
Premium conference on Microsoft technologies itcampro@ itcamp14#
DEMO
Let’s see some code
Premium conference on Microsoft technologies itcampro@ itcamp14#
SQL Backups
Premium conference on Microsoft technologies itcampro@ itcamp14#
DEMO
Let’s see some code
Premium conference on Microsoft technologies itcampro@ itcamp14#
AlwaysOn
Premium conference on Microsoft technologies itcampro@ itcamp14#
DISASTER RECOVERY PLAN
Premium conference on Microsoft technologies itcampro@ itcamp14#
Do you have a disaster recovery plan?
How long it takes to restart the entire system?
How complicated is your checklist?
Can you parallelize it?
Disaster Recovery Plan (DRP)
Premium conference on Microsoft technologies itcampro@ itcamp14#
Do you have a disaster recovery plan?
How long it takes to restart the entire system?
How complicated is your checklist?
Can you parallelize it?
AUTOMATION
Disaster Recovery Plan (DRP)
Premium conference on Microsoft technologies itcampro@ itcamp14#
ENDPOINT REDUNDANCY
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Any public endpoint
• Accessible from internet or private networks
Endpoint
Premium conference on Microsoft technologies itcampro@ itcamp14#
Load Balancer
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Free
• Out of the box
• Lever 3 Load Balancer type
– TCP Level
• No Sticky sessions
• Partial Configurable
Load Balancer
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Custom app endpoint
• Processor level, 500 Errors, Parallel task
• Configurable from *.cscfg files
• VM: Using Power Shell
Load Balancer Probe
<LoadBalancerProbes> <LoadBalancerProbe
name="FooProbe" protocol="http"
intervalInSeconds="30" path="/api/probe" port="80"
timeoutInSeconds="60" /> </LoadBalancerProbes>
Premium conference on Microsoft technologies itcampro@ itcamp14#
Redundancy
Premium conference on Microsoft technologies itcampro@ itcamp14#
Traffic Manager
Premium conference on Microsoft technologies itcampro@ itcamp14#
Traffic Manager
Premium conference on Microsoft technologies itcampro@ itcamp14#
Traffic Manager
• ~Load Balancer (Word Wide level)
• Redirect request based on client location
• Any kind of endpoint
– VM, Web/Worker Roles, DB and many more
– External Endpoints
• Methods: Failover, Round Robin, Performance
• Is not FREE (1B DNS query = $0.75)
• DNS TTL
Premium conference on Microsoft technologies itcampro@ itcamp14#
DEMO
Let’s see some code
Premium conference on Microsoft technologies itcampro@ itcamp14#
Traffic Manager
• [Not Supported] Hybrid Scenarios
Premium conference on Microsoft technologies itcampro@ itcamp14#
WHY REDUNDANCY IS SO
IMPORTANT?
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Compute 99.95%
• SQL Database 99.90%
• Storage 99.90%
• Storage (RA-GRS) 99.99%
• Active Directory 99.90%
• Cache 99.90%
• VM 99.95%
• Service Bus 99.95%
Windows Azure SLA’s
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Compute 99.95% 21.6m
• SQL Database 99.90% 43.2m
• Storage 99.90% 43.2m
• Storage (RA-GRS) 99.99% <8m
• Active Directory 99.90% 43.2m
• Cache 99.90% 43.2m
• VM 99.95% 21.6m
• Service Bus 99.95% 21.6m
Windows Azure SLA’s (per month)
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Compute 99.95% 21.6m
• SQL Database 99.90% 43.2m
• Storage 99.90% 43.2m
• Storage (RA-GRS) 99.99% <8m
• Active Directory 99.90% 43.2m
• Cache 99.90% 43.2m
• VM 99.95% 21.6m
• Service Bus 99.95% 21.6m
Windows Azure SLA’s
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Downtime per month: 216m
21.6*2+43.2*4=216m
Windows Azure SLA’s
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Downtime per month: 216m
21.6*2+43.2*4=216m
• Downtime per month: 0.5%
(100/43200)*216=0.5%
Windows Azure SLA’s
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Downtime per month: 216m
21.6*2+43.2*4=216m
• Downtime per month: 0.5%
(100/43200)*216=0.5%
• Uptime: 99.5%
100-0.5=99.5%
Windows Azure SLA’s
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Compute 99.95% 21.6m
• SQL Database 99.90% 43.2m
• Storage 99.90% 43.2m
• Storage (RA-GRS) 99.99% <8m
• Active Directory 99.90% 43.2m
• Cache 99.90% 43.2m
• VM 99.95% 21.6m
• Service Bus 99.95% 21.6m
Windows Azure SLA’s
Premium conference on Microsoft technologies itcampro@ itcamp14#
WCF ENDPOINTS REDUNDANCY
Premium conference on Microsoft technologies itcampro@ itcamp14#
Service Bus Relay
Relay
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Steps to integrate in existing application
– Add assembly reference to SB Relay
– Update WCF configuration sections
(client and backend)
Service Bus Relay
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Works only with
– Async calls
– Fire and Forget calls
• Broker between endpoint and client
• Store messages until backend is available
• WCF Endpoint (Azure or on-premises)
• Price model similar with SB (per messages)
Service Bus Relay
Premium conference on Microsoft technologies itcampro@ itcamp14#
STORAGE REDUNDANCY
Premium conference on Microsoft technologies itcampro@ itcamp14#
• 3 copy of the content in the same data center
Locally Redundant Storage
1
3
2
Premium conference on Microsoft technologies itcampro@ itcamp14#
• 2 different data centers
• Async replication
Geographically Redundant Storage
1
3
2
1
3
2
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Similar with GRS
• Read only access to the secondary storage
• Redirecting managed by developer
• Async replication
• 99.99% Uptime
Read Access Geo Redundant Storage
Premium conference on Microsoft technologies itcampro@ itcamp14#
DEMO
Let’s see some code
Premium conference on Microsoft technologies itcampro@ itcamp14#
Traffic Manager
Premium conference on Microsoft technologies itcampro@ itcamp14#
CHECK HEALTH STATUS OF
OTHER SERVICES
Traffic Manager
Premium conference on Microsoft technologies itcampro@ itcamp14#
Import Export Service
Premium conference on Microsoft technologies itcampro@ itcamp14#
Import/Export Service
Premium conference on Microsoft technologies itcampro@ itcamp14#
DEMO
Let’s see some code
Premium conference on Microsoft technologies itcampro@ itcamp14#
MTBF, MTTR
Premium conference on Microsoft technologies itcampro@ itcamp14#
Mean Time Between Failures
Mean Time To Recovery
MTBF -> MTTR
Premium conference on Microsoft technologies itcampro@ itcamp14#
VM REDUNDANCY
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Same features offered by System Center on-
premises
• Availability Set
• Windows Server Failover Cluster
– Real time Sync
VM
Premium conference on Microsoft technologies itcampro@ itcamp14#
CONCLUSION
Premium conference on Microsoft technologies itcampro@ itcamp14#
• Everything has a price
• Calculate up-time for specific roles and use-
case
• Don’t trust the 99.99% myth
• Be as flexible as possible
• Automate
• Recovery plans
Conclusion
Premium conference on Microsoft technologies itcampro@ itcamp14#
Q & A