10 Great Questions to ask about the Windows Azure PlatformEric Nelson http://www.ericnelson.co.uk David Gristwood http://blogs.msdn.com/david_gristwood Application ArchitectsMicrosoft UK
Get better connected with our team http://bit.ly/ukisvfirststop (Blog/Twitter/LinkedIn/FREE Events)
Where is Windows Azure?
1
North Central
USA
South Central
USA
Northern Europe
Western Europe
Eastern Asia
Southeast Asia
24 x Node CDN
Dublin Datacentre First Mega Datacentre built outside the US, on-line on July 2009
Cost $500 million EU Datacenter Best Practice
Award Winner Stand-alone Server Pods
Environmentally Sustainable
Free Air-Cooling via Air-Side Economization
1 % water use vs. traditional facilities
50ms50ms
100ms
Windows Azure Traffic Manager
*Performance – traffic sent to closest service in terms of network latency*Round Robin – traffic distributed equally across all services*Failover – traffic sent to primary service, if offline, to next service in a list
Traffic ManagerMonitorin
gPolicies*
foo.cloudapp.net foo-us.cloudapp.net
foo-europe.cloudapp.net
foo-asia.cloudapp.net
1.2.3.4DNS response
Will My Code Just Work?
Short answer - “It depends”Long Answer – “It really does depend”Azure specific code
Role Programming Model defines OnStart(), Run() and OnStop() methodsBlob, Table and Queue storage APIAzure services such as AppFabric Cache
Architectural designExploiting power and economics of the cloudSurviving failure of any one part of the systemLatency, security, scalability, resiliance
2
A Common Windows Azure Pattern
Web Role* Worker Role
SQL Azure / Windows Azure Storage**
QueueStorage**
* 2 x Instances for SLA ** Triple replicated for durability
Will it run Foo/Bar/?
Things it can do….NET, Native code (C/C++), PhP, Ruby, JavaCMS and Blogging Engines – Umbraco, DotnetNuke, BlogEngine, etcOpen Source Frameworks - Lucene, etc…
Things it can not do (today)…SharePointActive DirectoryThings needing “full SQL Server”
2b
How big a solution can it handle?
Big Limits
SoftHard
3Question: How do you sell 150,000 Tickets in 10 Seconds?
Answer: 750 Compute Instances and 550 databases
Running on Windows Azure
Facebook and Twitter
Near Real-Time Search
Microsoft Zune Media Storage and
Delivery
Telemetry for Kinect
Game Saves in Cloud
Facebook/Twitter data stored into blobsIngestion engine process blobs
Annotate with auth/spam/adult scores, content classification , expands links, etcUses Tables heavily for indexing
Queues to manage work flowResults stored back into blobsBing takes resulting blobs and folds into search index
BING REALTIME FACEBOOK/TWITTER SEARCH INGESTION ENGINE
Running on Windows Azure Storage
Windows Azure Blobs
User postingsStatus updates
…………
Bing Ingestion Engine (Azure Service)
Windows Azure Tables
Windows Azure Queues
peak 40,000 Requests/sec2~3 billion Requests per day
Took 1 dev 2 months to design, build, release to production
Index Facebook/Twitter data within 15 seconds of update
VM
VM
VM
VM
Soft Limits
5 Storage Accounts 6 Hosted Services (Projects)20 Cores across all your hosted services150 SQL Azure Database Web 15 SQL Azure Database Business 10TB Data Transfer per month, 100 million ACS tx per month etc
Hard LimitsCompute
1000s of instances (VMs)Maximum Instance Size – 8 Cores, 14GB Memory25 roles per Hosted Service
Windows Azure Storage 100TB1 Table 100TB, each Entity 1MB1 Queue 100TB, each Message 64KB1 Blob 1TB
SQL Azure database 50GBSQL Server LimitsFederation
How small a solution can it handle?
Very smallSingle role instance
running multiple web siteseach web site multi tenanted
A single instance of a role can be Extra Small
Test/Debug/Demo – not liveP.S. Your MSDN Premium includes 2 role instances
3b
Can you deploy on-premise ORin the cloud?
The goodIt is WindowsIt is .NET It is Visual StudioIt is SQL Server
4
The badIt has new constraintsIt has new bitsIt is not SQL Server
Typically < 5% is Windows Azure specific code
API differences e.g. AppFabric Caching is a subsetExtra bits e.g Windows Azure StorageDealing with “the cloud”
Timeouts, Latency, Retries
“Almost symmetrical”
What are the differences between SQL Azure and SQL Server?
Largely the same Macro
Missing Analysis Services/Reporting Services/SQL Agent/CLRBut also get Data Sync, ODATA (CTPs)
MicroTSQL differencesOperations – no backup/restoreRuntime – Throttling
5
How fast is it?
Comparative hardwareSQL Azure
Database 32 GB RAM, 8 CPU cores and 12 hard drives
Compute Nodes aka VM sizes
Test it yourselfhttp://azurescope.cloudapp.net/
Blob/Table/Queue
Design Targets
6Building Blocks vs Architecture
Will it AutoScale?
Storage – yes
Compute – not reallyExpensive resource, so more complex
Diagnostic MonitorCollect Event Logs, Trace Logs, Performance Counters
Programmatic Service Management REST API
Script with PowerShell CmdLets
OptionsRoll your own policyEnterprise Library Autoscaling BlockThird party tools
7
AzureWatch from Paraleap Technologies offers elasticity-as-a-service for Windows Azure
How Secure Is It?
We take security very seriously How secure are you?Examples
Global Foundation Service ISO 27001:2005 Accreditation - Security ManagementSAS 70 Type I and II Attestations - Audit standard for our internal controls systemwww.globalfoundationservices.com
Auto patching of the platform
8
How Much Will It Cost?
Azure drives cost based architecture model
Azure exposes costs more explicitlyControlling resources is key for highly scalable systems
Platform chargesData center egress Windows Azure VMs, storage, storage transactionsSQL Azure database sizeAppFabric
9
The Demand Curve
TIME
IT C
AP
AC
ITY
Actual Load
Allocated IT-capacities
Too Much Power
Not Enough Power
Load Forecast
The Demand Curve
Actual Load
Capacity on Demand
Lower Capex
No capital laying idle
No screaming customers
Resources go up...
And...down
TIME
IT C
AP
AC
ITY
Load Forecast
Compute Price
Extra small instance $0.05 per hour
Small instance (default) $0.12 per hour
Medium instance $0.24 per hour
Large instance $0.48 per hour
Extra Large instance $0.96 per hour
All pay as you go pricing
SQL Azure
$99.99 per database up to 10GB per month
$199.98 per database up to 20GB per month
$299.97 per database up to 30GB per month
$399.96 per database up to 40GB per month
$499.95 per database up to 50GB per month
Windows Azure storage
$0.15 per GB stored per month based on the daily average
$0.01 per 10,000 storage transactions
Data transfers
North America and Europe regions: $0.15 per GB out
Asia Pacific Region: $0.20 per GB out
But for BizSpark Members….
Free
Azure Pricing Calculator
http://www.microsoft.com/windowsazure/pricing-calculator/
<Insert Your Question Here>
10
?
Summary
1. Where is Windows Azure? You decide (Dublin)2. Will my code just work? It depends (but yes)3. How big/small a solution can it handle?
Enormous/tiny4. Can you deploy on-premise OR cloud? Yes5. Differences between SQL Azure and SQL Server?
Many/Few – it depends6. How fast is it? Pretty fast7. Will it Autoscale? Storage - Yes, Compute - No8. How secure is it? Very9. How much will it cost? Less than you think 10. ?
© 2010 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.