understanding the azure platform march 2010
DESCRIPTION
Understanding The Azure Platform Technical overviewTRANSCRIPT
Understanding Azure
David GristwoodApplication Architect, Microsoft blogs.msdn.com/david_gristwood
Why a Cloud Platform?
Reduce capital & operations costs Simplify application deployment &
management Simplify scaling to internet scale Cost effectively handle peak loads Focus on new functionality & not
infrastructure
Azure is Live…..
The Azure Philosophy
Azure is about Scale
• Azure is designed from the ground up for true Internet scale
• Global presence• Ride the “network
effect”• LinkedIn: 16 months for first
million users, 11 days for most recent million
• Facebook: 5 years to hit 250m users, 8 months to double
• Scale up and scale down
• Supports the “Scale Fast, Fail Fast” model
www.flickr.com/photos/januszbc/1776184496
Characteristics of Azure Applications
“Scale & Elasticity” • Need massive
scale• Need high
reliability• Have variable load• Have short or
unpredictable lifetime
http://www.flickr.com/photos/39919537@N06/3666813048/
Helps your Systems Scale
www.flickr.com/photos/39818355@N00/2128626176
• Most architecture is hidden inside code
• Azure encourages you to define your application into constituent parts
• Azure can scale the parts of your application as appropriate
Flexible Architecture
• Systems evolve over time
• Cloud is not an “all or nothing” proposition
• Azure makes it easier to extend to the cloud
www.flickr.com/photos/tomkpunkt/3695066577
Opening up the Cloud
www.flickr.com/photos/h19/2306213399/in/set-72157594224557858
• Allow developers to apply their existing skills to the cloud
• Support for .NET, Ruby, PHP, Java
• Interoperability with any platform, tools or technology
Natural Platform Evolution
• Windows Server 2008
• Virtualisation• Windows
Services, such as IIS, logging, diagnostics, etc
• Visual Studio & .NET
Flexible Business Model
• No up front hardware purchase
• Pay as you go costing model
• Ideal in current economical climate
www.flickr.com/photos/cleebster/2508660124
Data Centers
Windows Azure Platform Availability
North Central
USA
South Central
USA
Northern Europe
Western Europe
Eastern Asia
Southeast Asia
Microsoft has run Online Services since 19941st MSFT datacentre built in 1989 Running Online Services 24x7x365 MSN launched beta in 1994/public in 1995Global service delivery to 59 markets/36 languages ∙ 30B Live ID authentications/month ∙ 2B Bing queries/month
∙ 10B MSN page views/month ∙ 240B Messenger messages/month
Global Infrastructure to Run Your Services World WideQuincy, WA: Approx 500K sq ft, hydro-poweredSan Antonio, TX: Approx 475K sq ft, recyclable waterChicago, IL: Approx 700K sq ft, water economizationDublin, Ireland: Approx 303+K sq ft, air economization
Delivering an Efficient & Sustainable Cloud
Chicago Datacentre – Scalable, Sustainable
One of world’s largest datacentres using containers, on-line on July 2009 Cost $500 million, 700k sq ft facility
(approx 16 football fields) 30 MegaWatts today, 60 MW for future
use ISO 27001:2005 Accreditation SAS 70 Type I and II Attestations
40 ft containers with 1800-2500 servers Density of 10 times amount of
compute in equivalent space in traditional datacentres
Optimizes efficiency, reduces wastes and carbon footprint
Delivers an average PUE of 1.22 Plug-and-play infrastructure = Rapid
Deployment
Dublin Datacentre First Mega Datacentre built outside the
US, on-line on July 2009 Cost $500 million, 303+sq ft facility
and growing EU Datacenter Best Practice Award
Winner Stand-alone Server Pods
Environmentally Sustainable Free Air-Cooling via Air-Side
Economization 50% less energy use vs. traditional
facilities 1 % water use vs. traditional
facilities 1.25 PUE
5.4 MegaWatts today, 22.2 MW for future use
ISO 27001:2005 Accreditation SAS 70 Type I and II Attestations
Windows Azure
Windows Azure
Applications
AppFabric
SQL Azure
Applications
OthersMobileDesktopServer
The Azure PlatformThe Big Picture
Fabric
Storage
Config
Compute
Application
AppFabric
Windows Azure
Applications
Applications
SQL Azure
OthersMobileDesktopServer
Azure Development
Windows Azure for Application Developers
Portal HostedService
Storage
SDK
Develop Deploy Run
Development Fabric and Storage
Local Machine
Windows Azure Simulation Environment
Development Fabric
Development Storage
Visual Studio 2010
Visual Studio 2010
Visual Studio 2010
Portal
Azure Building Blocks
Azure Compute Building Blocks
Web Role
IIS Host
Your Code
Worker Role
System Host
Your Code
Windows Azure Roles
RoleEntryPoint represents role, RoleEnvironment represents Azure environment OnStart for initialization Run for work GetHealthStatus to report application
health RoleEnvironmentChanging to respond to
number of instances in the service StatusCheck event to be removed from LB
rotation
Azure Storage Building Blocks
Storage
Account
Queue
Blobs &Drives
Tables
Common Azure Pattern
Web Role Worker Role
BlobStorage
QueueStorage
Windows Azure Blobs
Containers
Pictures
Photo1.png
Blobs
Photo3.png
Photo2.png
Provide simple interface for storing named files along with metadata for the file
Windows Azure Blob features REST based API
http://myaccount.blob.core.windows.net/mycontainer/myblob
PutBlob, GetBlob, DeleteBlob, CopyBlob, SnapshotBlob, LeaseBlob, etc
Block Blob for streaming + commit-based writes Sequence of blocks, size limit 200GB
per blob Page Blob for random read/write
Array of pages, size limit 1TB per blob
Windows Azure Drives Page Blob formatted as a NTFS single
volume Virtual Hard Drive (VHD) NTFS APIs providing durable file storage Drives can be up to 1TB, up to 16 can be
mounted Can upload VHD via Page Blob then
mount Ease migration of existing Windows
applications to Azure Durability and survival of data on
application failover or hardware failure
Windows Azure Tables
Tables
Movies
Genre = …Title = …
Entities
Actors
Genre = …Title = …
Name = …DOB = …
Structured storage via entities, containing sets of properties
Windows Azure Tables Provides Massively Scalable
Structured Storage Billions of entities (rows) and TBs of
data Familiar and Easy to use API
WCF Data Services, LINQ Each entity can have up to 255
properties PartitionKey & RowKey as key and index Timestamp for optimistic concurrency No fixed schema for all other properties Property is stored as a <name, typed
value> pair
Partitions and RowsPartitionKey(Category)
RowKey(Title)
Timestamp ReleaseDate
Action Fast & Furious … 2009
Action The Bourne Ultimatum
… 2007
… … … …
Animation
Open Season 2 … 2009
Animation
The Ant Bully … 2006
… … … …
Comedy Office Space … 1999
… … … …
SciFi X-Men Origins: Wolverine
… 2009
… … … …
War Defiance … 2008
Partitions and RowsPartitionKey(Category)
RowKey(Title)
Timestamp ReleaseDate
Action Fast & Furious … 2009
Action The Bourne Ultimatum
… 2007
… … … …
Animation
Open Season 2 … 2009
Animation
The Ant Bully … 2006
PartitionKey(Category)
RowKey(Title)
Timestamp
ReleaseDate
Comedy Office Space … 1999
… … … …
SciFi X-Men Origins: Wolverine
… 2009
… … … …
War Defiance … 2008
PartitionKey(Category)
RowKey(Title)
Timestamp ReleaseDate
Action Fast & Furious … 2009
Action The Bourne Ultimatum
… 2007
… … … …
Animation
Open Season 2 … 2009
Animation
The Ant Bully … 2006
Comedy Office Space … 1999
… … … …
SciFi X-Men Origins: Wolverine
… 2009
… … … …
War Defiance … 2008
Server BTable = Movies
[Comedy - MaxKey)
Server ATable = Movies
[MinKey - Comedy)
Server ATable = Movies
Queues
Queues
ThumbnailJobs
“Body1”
Messages
“Body3”
“Body2”
Provide reliable storage and delivery of messages
Azure Features
Service Management APIProvide Lights-Out Service Management
Manage services programmatically via REST-based API X509 client certificates for authentication Viewing, creating, deleting, swapping,
modifying configuration settings, etc on deployments
Windows Azure Diagnostics
42
Cloud is much harder than single server Dynamic environment, no local access
Azure Diagnostics built for monitoring & data collection Focus on what to collect and when Designed for Azure
Based on standard APIs Traces, logs, crash dumps, IIS logs,
perf counters, ETW, etc Upload to Azure storage as required
Logging & Diagnostics
Service Management CmdLets
PowerShell cmdlets wrapping Azure Service Management and Diagnostics API
Simple to script out deployments, upgrades, scaling• Deploy new services• Upgrade services• Manage storage
accounts• Transfer diagnostics
information• etc
Service Upgrade Models Rolling upgrade (aka “In-
place”) Roles are updated across update
domains one at a time Service remains available during
upgrade Real-time hot swap (aka “VIP
Swap”) Virtual IP swap between staging &
production Swap service endpoints of
old/new version Enables complex architectural
changes Planned downtime
Stop and replace service with new version
Azure Content Delivery Network
Better performance and user experience by caching Azure blobs at strategically placed locations 18 locations globally (United States, Europe,
Asia, Australia and South America) and growing
Windows Azure Blob Service
pic1.jpg
Content Delivery Network
Edge Location
Edge Location Edge Locationpic1.jpg
The Fabric
Fault Domains
SQL Azure
49
“SQL Server in the Cloud”“Database as a Service”
SQL Azure vs SQL Server
Similarities Scalable, reliable, robust, SQL Server
technology foundation Same SQL Server core database service Same TDS access
Differences Supports subset of SQL Server 2008 T-SQL Limited to 1Gb or 10Gb database Different pricing model No Reporting Services, Analysis Services, etc
T-SQLTransact-SQL Features Supported Transact-SQL Features Unsupported
Constants Constraints Cursors Index management and
rebuilding indexes Local temporary tables Reserved keywords Stored procedures Statistics management Transactions Triggers Tables, joins, and table
variables Transact-SQL language
elements such as
o Create/drop databases
o Create/alter/drop tables
o Create/alter/drop users and logins
o and so on. User-defined functions Views, including
sys.synonyms view
Common Language Runtime (CLR) Database file placement Database mirroring Distributed queries Distributed transactions Filegroup management Global temporary tables Spatial data and indexes SQL Server configuration options SQL Server Service Broker System tables Trace Flags
SQL Azure related projects
Codename "Houston" Web management tooling SQL Server Management Studio 2008 R2 works
today Codename "Dallas“
“Information as a service” Codename "Sydney“
Punch holes through firewalls to integrate cloud and on-premise databases
SQL Azure Data Sync For Sync Framework
Codename “Dallas”
Information as a Service
54
Data or functionality that is “of value to many” – enabling applications, reports, BI analysis, etc… Examples include GIS/Spatial, traffic, movie show
times, crime, real-estate sales, financial data, navigation, census data, reviews, etc…
Various Classifications: Commercial: clean, supported, and regularly updated
from ISVs and Content Providers Trusted Public Domain: clean, unsupported data from
academia and governments (Census, FDA, …) Crowd Sourced: unreliable data in the public domain
from anyone and everyone
Information in the Cloud
Codename “Dallas”
Data ProviderData Consumer
Atom 1.0, RAW
• Find• Subscribe• Interact
Accessing Data from “Dallas”
AppFabric
“Infrastructure to help build and manage applications more easily”
Windows Server AppFabric Caching capabilities (“Velocity”) Workflow + service hosting
(“Dublin”) Windows Azure AppFabric (“.NET
Services”) Service Bus Access Control
Service Bus
59
Exposing internal applications on the Internet isn’t easy
Network address translation (NAT) and firewalls get in the way
The Service Bus: Provides a cloud-based
intermediary between clients and internal applications
Provides a service registry that clients can use to find the services they need
Service Bus
60
Access Control
61
Different organizations identify users through many different techniques
Applications can be faced with a confusing mess of security related code
The Access Control Service: Implements a security token service
(STS) in the cloud It accepts one token and issues another An administrator can define rules for
how this claims transformation is done
Access Control
62
Commercial Information
Azure PricingMoney & Architecture are rarely divorced
Pricing for launch reflect our costs Biggest cost is Windows Azure
compute c.f. Supermarket checkout model
Deals and bundles should follow
Windows Azure Platform Consumption Prices
Elastic, scalable, secure, & highly available automated service platform
Pay as you go and grow for only what you use when you use it
Compute
$0.12/hour
+ Variable Instance Sizes
Per service hour
Highly available, scalable, and self managed distributed database service
Web EditionPer database/month
$9.99/month(up to 1 GB DB/month)
Business Edition
$99.99/month(up to 10 GB DB/month)
Per database/month
Storage Per GB stored &
transactions$0.15 GB/month
$0.01/10K transactions
Prices shown in USD only
Windows Azure platform AppFabric Service Bus & Access ControlScalable, automated, highly available services for secure connectivity
Access Control
$0.015/10k Message Operations
Per Message Operation $0.015/10k Message
Operations
Per Message Operation
Service Bus
International prices are available
Windows Azure Instance Sizes
Unit of Compute Defined
Small
$0.12
Per service hour
Medium
$0.24
Per service hour
Large
$0.48
Per service hour
X Large
$0.96
Per service hour
Variable instance sizes to handle complex workloads of any size
Small
1 x 1.6Ghz (moderate IO)
Medium
2 x 1.6Ghz (high IO)
Large
4 x 1.6Ghz (high IO)
X-Large
8 x 1.6Ghz(high IO)
Equivalent compute capacity of a 1.6Ghz processor (on 64bit platform)
1.75 GB memory 3.5 GB memory 7.0 GB memory 14 GB memory
250 GB storage(instance storage)
500 GB storage(instance storage)
1000 GB storage(instance storage)
2000 GB (instance storage)
North America Region
S. Central - US Sub-region
N. Central – US Sub-region
Europe Region
W. Europe Sub-region
S.E. AsiaSub-region
Asia Pacific Region
E. AsiaSub-region
$0.10 GB Ingress
$0.15 GB Egress
$0.10 GB Ingress
$0.15 GB Egress
$0.30 GB Ingress
$0.45 GB Egress
N. Europe Sub-region
Windows Azure Platform Data Transfer Priced per GB transferred/month (prices shown in USD)
No Charge For Off Peak Ingress Promotion (ends 6/30/10)
On-board to Windows Azure platform at no charge Off peak times defined as: 10pm-6am Mon-Fri & from 10pm-Fri to 6am-
Mon for weekends in each designated regional time zones below
North America PST = UTC-8
Europe WET = UTC
Asia PacificSST = UTC+8
Azure Resources
www.Azure.com
© 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.