Introduction To Cloud Computing With Microsoft Azure
Introduction To Cloud Computing With Microsoft Azure
Microsoft Azure
Michael Stiefel
www.reliablesoftware.com
[email protected]
http://www.reliablesoftware.com/dasblog/default.aspx
Copyright 2009 Reliable Software, Inc.
Azure Platform
Service management
Compute
Storage
Developer experience
You define rules and provide code
Platform deploys, monitors, and manages your service
according to your rules
Your Service
SQL
Azure
Access
Control
Live
Services
Dynamic
CRM
Services
n
Web Role
m
Worker Role
No up front commitment
Pay for resources as needed
Economic Conditions
Pricing
Service Level Agreement (SLA)
SQL Azure
Up to 1 GB database $9.99 /month
Up to 10 GB database $99.99 / month
Bandwidth
0.1 in per GB
0.15 out per GB
Utility SLA
2007
2008
Goal
Actual
Goal
Actual
80%
84.64%
80%
85.47%
1.373
1.027
1.373
1.051
168.69
82.61
168.69
78.55
87.78%
98.52%
88.37% 98.73%
93.15%
98.75%
93.15% 99.05%
1.496
.974
1.496
1.080
Compelling Case
SMB Applications
Massive Computation Needs
No Need to Build to Peak Capacity
Cloud Bursting
Software as a Service
Latency Exists
Speed of light in fiber optic cable: 124,000 miles per
second
A ping Japan from Boston takes 100 ms.
Real number is about 250 ms.
Fetch 10 images for a web site: 1 second
Ignores Latency of the operation
Bandwidth is Limited
Shannon's Law: C = B log2 (1 + S / N)
Capacity = bit / second
Bandwidth (hertz)
S/N * 5 to double capacity given bandwidth
CAP Theorem
Consistency
Availability
Tolerance to
network
Partitions
Pessimistic Locking
Minority Partitions
Invalid
Availability
Partitioning
Optimistic
Can Denormalize
No ACID transactions
Compensation
Storage in Azure
World of Consistency
SQL Azure
World of Internet Scale (Numbers or Geography)
Blobs, Tables, Queues
Car Table
Key
Attribute 1
Attribute 2
Attribute 3
Make: BMW
Color: Grey
Year 2003
Make: Nissan
Color : Red
Yellow
Year: 2005
Plane: Boeing
Color: Blue
Attribute 4
Transmission: Easytronic
Engine: Rolls Royce
No Partitioning
Natural Partitioning
Partitioning for Availability
How consistent?
Business Decision
How much does it cost to get it absolutely right?
Computers can remember their guesses
Can replicate to share guesses
It may be cheaper to forget, and reconcile later
Demos ?
Conclusions
Understanding Azure is about understanding
Economics of cost and availability
Need for Scalability
Architectural Implications
Design for Eventual Consistency
Remember the 2 / 10 rule