Download presentation
Presentation is loading. Please wait.
Published byZoe Kennedy Modified over 9 years ago
1
Mark Simms (@mabsimms) Principal Program Manager Windows Azure Customer Advisory Team
12
What are the “9”s Availability %Downtime per yearDowntime per month*Downtime per week 90% ("one nine")36.5 days72 hours16.8 hours 99% ("two nines")3.65 days7.20 hours1.68 hours 99.9% ("three nines")8.76 hours43.2 minutes10.1 minutes 99.99% ("four nines")52.56 minutes4.32 minutes1.01 minutes 99.999% ("five nines")5.26 minutes25.9 seconds6.05 seconds 99.9999% ("six nines")31.5 seconds2.59 seconds0.605 seconds 12 Study Windows Azure Platform SLAs: Compute External Connectivity: 99.95% (2 or more instances) Compute Instance Availability: 99.9% (2 or more instances) Storage Availability: 99.9% SQL Azure Availability: 99.9%
21
PlatformContextSample Target e2e latency max “Fast First” Retry Count DelayBackoff SQL Database Synchronous (e.g. render web page) 200 msYes350 msLinear Asynchronous (e.g. process queue item) 60 secondsNo45 sExponential Azure Cache Synchronous (e.g. render web page) 100 msYes310 msLinear Asynchronous (e.g. process queue item) 500 msYes3100 msExponential
25
definition: design elements that can cause an outage.
26
definition: a predictable root cause of the outage that occurs at a Failure Point.
27
Failure Mode Example 27 public int GetBusinessData(string[] parameters) { try { var config = Config.Open(_configPath); var conn = ConnectToDB(config.ConnectString); var data = conn.GetData(_sproc, parameters); return data; } catch (Exception e) { WriteEventLogEvent(100, E_ExceptionInDal); throw; } Potential Failure Points: Database Server Database Table Configuration File Potential Failure Modes: DB Server not responding DB offline DB access denied Sproc execute denied DB doesn’t exist DB timeout on connect Index corrupt Database corrupt Table doesn’t exist Table corrupt Config file missing or invalid
52
52 Microsoft Confidential Push vs. Pull Load Balanced Push Sync and good for sequential processing Dependent on downstream services Throttling vs. Performance Managed Pull/Throughput Asynchronous and event driven processing Easy Parallelisation and Pipelining Extending logic is easy Logic based Priority Date Amount Etc. Time based ASAP Gradually Periodically On-Demand Volume based Single In Batches
53
53 Microsoft Confidential Data on the inside – Data on the outside http://msdn.microsoft.com/en-us/library/ms954587.aspx Immutable (versions) Requires open schema for interop Reference Data Low concurrency updates (e.g. shopping basket) Activity Data Highly concurrent update (e.g. inventory) Should live in worker role Resource (shared) Data
54
54 Microsoft Confidential “Query Ready” Cache Query patterns Push the data close to where it is queried – Example: BING Maps Process, structure, produce, format etc. data and cache “query ready” data Light/cheap data production is OK Pure and Idempotent operations are usually good candidates Duplication is OK Same data in a different format Same data in multiple places This requires processing data before it is queried - NOT at the query time All data can be cached Some data can be cached: Frequently used Process Heavy, Expensive data Build as you Go
55
55 Microsoft Confidential Distributed Caching Simple to administer No need to manage and host a distributed cache yourself. Integrates easily into existing applications ASP.NET session state and output cache providers enable no-code integration. Same managed interfaces as Windows Server AppFabric Cache On-Premises App Windows Azure App AppFabric Cache APIs Windows Server AppFabric Cache AppFabric Cache APIs Windows Azure AppFabric Caching
58
01100100 01100001 01110100 01100001
60
pic1.jpg Content Delivery Network Blob Service Edge Location pic1.jpg
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.