building global and highly available services using windows azure
DESCRIPTION
Building Global and Highly Available Services Using Windows Azure. Name Title Microsoft Corporation. Agenda. As the load increases, are you still available? If platform fails are you still available? How do you upgrade your service? Thinking Globally - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/1.jpg)
Building Global and Highly Available Services Using Windows AzureNameTitleMicrosoft Corporation
![Page 2: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/2.jpg)
AgendaAs the load increases, are you still available?If platform fails are you still available?How do you upgrade your service?Thinking Globally If the compute is closer to the user, what about the dependencies?
![Page 3: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/3.jpg)
AssumptionsYou know the basicsWeb/Worker RolesSQL AzureWindows Azure StorageAsynchronous ProgrammingWindows Azure diagnostics
You have deployed a service to Windows AzureEverything can and will (eventually) break
![Page 4: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/4.jpg)
Why do services fail?Increased workloadFailureHardwareNetwork Platform ServiceTransient conditions
HumanUpgrades
![Page 5: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/5.jpg)
What do we mean by available?Same functionalityDegraded functionalityFailsafe
![Page 6: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/6.jpg)
As the load increases, are you still available?
![Page 7: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/7.jpg)
It is better to have 50 x 1GB database than 1 x 50GB database
What is wrong with this?
Scale me out too
![Page 8: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/8.jpg)
Everything needs to scale
What about this?
![Page 9: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/9.jpg)
As the load increases, are you still available?Scale everything OUTPartition data (for size AND performance)
TestTest at scaleSecurity Test
FeedbackEnable Windows Azure Diagnostics*Setup external monitoring
*May increase problem – scale that too
![Page 10: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/10.jpg)
If platform fails are you still available?
![Page 11: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/11.jpg)
Basics – what you get for freeElasticityEasily deploy compute resources and scale up and down
Automated Service ManagementWindows Azure will (automatically) recover bad nodes
Fault DomainsWindows Azure deploys services across fault boundaries
Storage Resilience3 copies of storage maintained
![Page 12: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/12.jpg)
Fault ToleranceWhen Windows Azure breaks, it fixes itself!Can your service?
Codifying OperationsUpgrade DomainsConfigure in ServiceDefinition.csdef<ServiceDefinition name="RedDir"xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" upgradeDomainCount="3">
Transient Datacenter ConditionsDo you have Retry Logic?
![Page 13: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/13.jpg)
What did you mean, retry logic?Transient conditions in the datacenter/network/serviceExample:SQL Azure Error 40501The service is currently busy. Retry the request after 10 seconds.
Transient Fault Handling Frameworkhttp://windowsazurecat.com/2011/02/transient-fault-handling-framework/ Retry against anything that might be external and have transient conditions*:SQL AzureWindows Azure StorageService Bus3rd Party Services
![Page 14: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/14.jpg)
RetryChange this to a code snippet on a slide.
demo
![Page 15: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/15.jpg)
How do you upgrade your service?
![Page 16: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/16.jpg)
Upgrade Strategies: VIP Swap
![Page 17: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/17.jpg)
Upgrade Strategies: Upgrade
WEB WORKER WEB WORKER
![Page 18: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/18.jpg)
Upgrade StrategiesNew Service & Swap DNS
![Page 19: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/19.jpg)
Thinking Globally
![Page 20: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/20.jpg)
Thinking GloballyNetwork latencyPut compute closer to user.Put data closer to user.
Global availabilityDatacenter outages.Synchronizing data.
![Page 21: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/21.jpg)
Network Latency
![Page 22: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/22.jpg)
Serve Blobs from the Edge24 global locations with 99.95% availabilityCDN now works for web apps, not just for public blobs
CDN Blob StorageClosest Point of Presence
Possibly many hops or poor links
Few hops
![Page 23: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/23.jpg)
Windows Azure Traffic ManagerDirect users to the service in the closest region with the Windows Azure Traffic Manager
Policies Monitoring
foo.cloudapp.net
DNS response1.2.3.4
![Page 24: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/24.jpg)
Traffic Manager
demo
![Page 25: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/25.jpg)
If the compute is closer to the user, what about the dependencies?
![Page 26: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/26.jpg)
Windows Azure Platform Services
Windows Azure Compute Create multiple deployments – user traffic manager to route traffic
Traffic Manager should update DNS to clients
Windows Azure Storage Role your own synchronization Service Specific implementation
SQL Azure Use SQL Azure Data Sync Service Service Specific implementation
Reporting Services Deploy reports to different locations Service Specific implementation
Service Bus Create multiple namespaces Service Specific implementation
Access Control Service Future Service Specific implementation
Cache Create deployment specific cache(s) Default programming model will handle cache failure
![Page 27: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/27.jpg)
Service Specific ImplementationsDoes your service fail without that platform service?Can your service use the same platform services from another data center?Can your service not use that platform service temporarily?
![Page 28: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/28.jpg)
Site FailoverIf a site specific dependency is out, fail over to another siteEasy: Use Traffic ManagerHard: Code your own
![Page 29: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/29.jpg)
Site Failover
demo
![Page 30: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/30.jpg)
Synchronizing Data
demo
![Page 31: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/31.jpg)
SummaryWindows Azure gives you high availability capabilities for freeThink about scaling outHandle transient conditions
Codify operationsAutomate redeployments etc.
Use Global Features for maximum availability & reachWindows Azure Traffic ManagerSQL Data Sync
![Page 32: Building Global and Highly Available Services Using Windows Azure](https://reader035.vdocument.in/reader035/viewer/2022070503/56815ef7550346895dcdb5aa/html5/thumbnails/32.jpg)
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to
be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION
IN THIS PRESENTATION.