Download Building Big: Lessons learned from Windows Azure

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
design and
architecture
•
•
Scale
Availability
highly available services
Room
Level
Title
Presenter
Nexus/Normandy
300
Designing awesome XAML apps in Visual Studio and
Blend for Windows 8 and Windows Phone 8
Jeffrey Ferman
Trident/Thunder
300
Developing Mobile Solutions with Windows Azure
Part II
Nick Harris
Chris Risner
Odyssey
200
Desktop apps: WPF 4.5 and Visual Studio 2012
Pete Brown (DPE)
Magellan
200
WP8 HTML5/IE10 for Developers
Rick Xu
Jorge Peraza
James Hamilton, https://www.usenix.org/events/lisa07/tech/full_papers/hamilton/hamilton.pdf
Partition the service
Support geo-distribution
Optimize for density
Design for Failure
• Do not trust underlying components
• Decouple components
• Avoid single points of failure
Instrument everything
• Implement inter-service monitoring and
alerting
• Instrument for production testing
• Configurable logging
Platform
Context
Sample Target e2e
latency max
“Fast
First”
Retry Delay
Count
Backoff
SQL
Database
Synchronous (e.g.
render web page)
200 ms
Yes
3
50 ms
Linear
Asynchronous (e.g.
process queue item)
60 seconds
No
4
5s
Exponential
Synchronous (e.g.
render web page)
100 ms
Yes
3
10 ms
Linear
Asynchronous (e.g.
process queue item)
500 ms
Yes
3
100 ms Exponential
Azure
Cache
Seconds
Web Request Response Latency
450
400
350
300
250
200
150
100
50
0
1
2
3
4
5
6
7
8
9
10
11
12
Avg Latency
13
14
15
16
17
18
Response latency
19
20
21
22
23
24
25
26
27
28
29
Digimarc
not
Slide 18
Azure Traffic Manager
pull
autonomous
receive
nearest
Region 1
Region 3
Region 2
Web Role
Web Role
Web Role
Cache Role
Cache Role
Cache Role
Worker Role
Worker Role
Worker Role
Azure
Storage
DB
Azure
Storage
Source Data
DB
Azure
Storage
DB
•
•
•
•
Per-Application
Server
Data Sources
High value data
- Filter
- Aggregate
- Publish
High value data consumer
- Generate alerts
- Display dashboard
- Operational intelligence
High volume data
- Batch
- Partition
- Archive
High volume data consumer
- Data mining / analysis
- Historical trends
- Root Cause Analysis
- IIS logs
- Application logs
- Performance counters
Handling transient
failures
Logging
transient
failures
Logging full exception
(not .ToString())
Logging all external API
calls with timing
Best Practices for the Design of Large-Scale Services on Windows Azure Cloud Services
www.windowsazure.com/build
Please submit session evals on the Build Windows 8 App
or at http://aka.ms/BuildSessions
Related documents