Understanding the Windows Azure platform - june

Preview:

DESCRIPTION

 

Citation preview

Understanding the

Windows Azure Platform

David Gristwood

Application 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

The Azure Philosophy

Windows Azure is about Scale

• Windows 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/ScroffTheBad

Application Characteristics “Scale & Elasticity” • Need massive scale

• Social networking, web 2.0

• Need high reliability

• LOB, software as a service

• Have variable load / unpredictable lifetime

• Ticketing, marketing

• Parallel processing

• Financial applications

• Don’t fit in well with a company’s data center

• Avoid IT dept, joint ventures

• Benefit from external storage

• Archive

http://www.flickr.com/photos/39919537@N06/3666813048/

Source: Alexa

~4x normal load (Holiday shopping)

• target.com • walmart.com

• toysrus.com • barnesandnoble.com

Jan 2009 Jan 2010

Helps your Systems Scale

www.flickr.com/photos/39818355@N00/2128626176

• Most architecture is

hidden inside code

• Windows Azure

encourages you to

define your application

into constituent parts

• Windows Azure can

scale the parts of your

application as

appropriate

Flexible Architecture

• Systems evolve over

time

• Cloud is not an “all

or nothing”

proposition

• Windows 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

Azure Adoption

Azure is Live…..

http://www.liveonazure.com/

Managing Data Centric Applications with Capacity Bursts

Elastic scale – database as a service Pay as you grow and shrink Easy to provision and manage database No hardware, no manual database administration required

Promotions, events, ticket selling businesses are “bursts – bound” by nature Capacity constraints limit business agility High costs of entry into new business Difficult to roll out extra capacity quickly Idle capacity “off-bursts” is cost prohibitive

Cap

acit

y

Time

“Capacity Bursting“

Average Usage

Average Usage Co

mp

ute

#

of

Hr’

s

Challenges Today

Data Centers

North Central USA

South Central USA

Northern Europe

Western Europe

Eastern Asia

Southeast Asia

Regional hosting

200ms Latency from 2 regional hosting

San Antonio

Chicago

Dublin

Singapore

Amsterdam

Hosting locations within 100ms of 100ms of the customer

At least one hosting location can can be reached within 100ms, but but not two

No points to test from or greater greater than 200ms latency

Hong Kong

Microsoft has run Online Services since 1994 1st MSFT datacentre built in 1989 Running Online Services 24x7x365 Global 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 Wide Quincy, WA: Approx 500K sq ft, hydro-powered San Antonio, TX: Approx 475K sq ft, recyclable water Chicago, IL: Approx 700K sq ft, water economization Dublin, Ireland: Approx 303+K sq ft, air economization

http://www.globalfoundationservices.com/

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

Security

ISO 27001:2005 Accreditation - Security Management

SAS 70 Type I and II Attestations - Audit standard for our internal controls system

Containers

40 ft containers with 1800-2500 servers

10 x density traditional datacentres

Optimizes efficiency, reduces wastes & carbon footprint

Delivers an average PUE of 1.22

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

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

Windows Azure

AppFabric

SQL Azure

Applications

Others Mobile Desktop Server

The Windows Azure Platform

The Big Picture

Fabric

Storage

Config

Compute

Application

AppFabric

Windows Azure

Applications

Applications

SQL Azure

Others Mobile

Desktop

Server

Azure Building Blocks

Azure Compute Building Blocks

Windows Azure Roles

Your role class typically derives from RoleEntryPoint represents role

Do initialization in OnStart()

Do work in Run()

You call into RoleEnvironment to enumerate roles, endpoints, etc

You get called in response to changes in the number of instances in the service

Can force restart

Windows Azure Storage Building Blocks

Each storage account can hold up to 100 TB

Windows Azure Blobs Provide simple interface for storing named files

along with metadata for the file

Windows Azure Blob features

REST based API

ouraccount.blob.core.windows.net/thecontainer/

myblob

PutBlob, GetBlob, DeleteBlob, CopyBlob,

SnapshotBlob, LeaseBlob, etc

Block Blob for streaming + commit-based

writes

Page Blob for random read/write

100 Tb per storage account

Windows Azure Drives Page Blob formatted as a NTFS single volume

Virtual Hard Drive (VHD)

NTFS APIs providing durable file storage on Page

Blobs

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 Structured storage via entities, containing sets of

properties

Windows Azure Tables Provides Massively Scalable Structured Storage

Billions of entities (rows) and TBs of data

Can utilise thousands of servers as it scales up

Triple replicated for durability

Familiar and easy to use REST based API

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

Windows Azure Tables

Entity: Sports Car

MyTable1

Entity: Customer

Entity: Car

Table Partitions and Rows PartitionKey

(Category)

RowKey

(Title)

Timestamp ReleaseDate ………..

Action Clash of the Titans … 2010

Action The Bourne

Ultimatum

… 2007

… … … …

Animation Avatar … 2009

Animation How to Train Your

Dragon

… 2010

… … … …

Comedy What Happens in

Vegas

… 2008

… … … …

SciFi Alien 1979

… … … …

Horror Halloween … 1978

Windows Azure Queues Provide reliable storage and delivery of messages

Windows Azure Queues Provide reliable storage and delivery of

messages

Max size of message 8 Kb

Store URI to blog / table for larger data

No limit to number of messages in a queue

Messages must explicitly be deleted

Message expiration timeout

Message de-queue count for poison messages

Common Azure Pattern

Azure Features

Service Management API

Provide 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

41

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

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

Content Delivery Network

Better performance and user experience by caching

Azure blobs at strategically placed locations

19 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 Location pic1.jpg

The Fabric

Fault Domains

Azure Development

Windows Azure for Application Developers

Software Development Kit

Develop Run

Code

Data

Relational

Data

Portal

Deploy

API

Development Fabric and Storage

Visual Studio 2010

Visual Studio 2010

Visual Studio 2010

Azure Portal

SQL Azure

account servers

server

database

Account

Server

Datab

ase

Application

Internet

Azure Cloud

LB

TDS (tcp)

TDS (tcp)

TDS (tcp)

Applications use standard SQL

client libraries: ODBC, ADO.Net, …

Load balancer forwards ‘sticky’

sessions to TDS protocol tier

Gatewa

y

Gatewa

y

Gatewa

y

Gatewa

y

Gatewa

y

Gatewa

y

Scalability and Availability: Fabric, Failover, Replication, and Load balancing

SQL SQL SQL SQL SQL SQL

Gateway: TDS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to backend

SQL

SQL Azure & SQL Server

Similarities

“Just change the connection string”

Same SQL Server core database service &

TDS

Differences

Supports subset of SQL Server 2008

Limited to 5Gb or 50Gb database

Different pricing model

No Reporting Services, Analysis Services, etc

SQL Azure Architectures

T-SQL (TDS)

Application / Tools

SQL Azure access from

outside the cloud

“Code Far”

SQL Azure

SOAP/REST

HTTP/S

SQL Azure access from

within the cloud

Windows Azure

T-SQL (TDS)

Web Role

SQL Azure

Application/ Browser

“Code Near”

Offline-Capable Cached Mode Applications

On-Premises Applications

Sync Group

SQL Azure

SQL Azure

SQL Azure

Remote Offices & Retail Stores

SQL Azure Roadmap

Service Update 2 Multiple Active Result Sets (MARS)

Service Update 3 50 Gb Databases, Spatial support

Incubation Project “Houston” – new SQL Azure web administration tool

Codename “Dallas” – information as a service

OData service on top of SQL Azure

OData “ODBC for the Internet”

• Uniform way of representing data, URL conventions and

operations

• Auto generation of OData for SQL Azure

Open Data

Protocol

OData Consumers

Session

OData Producer

Reports

Format

Metadata + +

Dashboard

Query&[Uri]

Forms

R/W

+

Apps

Batching, Versions

Browser

Codename “Dallas”

I need data!

Marketplace

Billing

Analytics

Se

rvic

es fo

r

Co

nte

nt P

rovid

ers

Standard Data

Access (OData)

Office,

Dynamics,

SQL Server

ISV Apps

Custom

Apps

Information as a Service

68

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

http://apps.facebook.com/crimestats http://silverlight.onterrasys.com/CrimeDemo/

A quick way to explore “Dallas” datasets

Available for every dataset

Fill in parameter values using guided help

View results in various formats

Click “Analyze” to continue exploring in PowerPivot and Excel to create PivotTables, graphs, etc.

Learn about data format and perform quick queries

AppFabric

“Infrastructure to help build and manage applications more easily”

Windows Server AppFabric

Caching capabilities (“Velocity”)

Workflow + service hosting (“Dublin”)

Windows Azure Platform AppFabric

Service Bus

Access Control

Service Bus

75

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

App #1: Web,

Mobile, Desktop,

LOB, RIA, ...

without altering network topology

App #2: Web,

Mobile,

Desktop, LOB,

RIA, ...

Send Send Receive

Service

Bus

App 1 App 2

Receive

Access Control

77

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

• Many identity providers, one code base

March ‘10 V-Next

Silverlight support Multicast with Message

Buffers

Advanced messaging features (ie. durability) BizTalk Server integration Windows Server AppFabric integration Web SSO and service federation - WS-Federation Considering additional identity providers

Windows Live ID, Open ID, Facebook Connect Management UI

Labs

Commercial Information

Windows Azure Platform Consumption Prices

$0.12/hour

+ Variable Instance Sizes

$9.99/month

(scale up to 5 GB)

$99.99/month

(scale up to 50 GB)

$0.15 GB/month

$0.01/10K transactions

Prices shown in USD only

$1.99/100k Message Operations

Per Message Operation

$3.99/connection

Per Connection

International prices are available

Windows Azure Instance Sizes

Unit of Compute Defined

$0.12 $0.24 $0.48 $0.96

1 x 1.6Ghz

2 x 1.6Ghz

4 x 1.6Ghz

8 x 1.6Ghz

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. Asia

Sub-region

Asia Pacific Region

E. Asia

Sub-region

N. Europe

Sub-region

Windows Azure Platform Data Transfer

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 Pacific SST = UTC+8

Enabling customers to deliver content closest to end-users. Leads to better user

experience, global reach, & engagement

Development Accelerator

Biz Spark One

Investing in high potential

start-ups; receive full platform

services at no charge

MSDN Premium

Subscribers receive monthly

allocation of platform services

at no additional charge

Introductory Special

Anyone can try the platform

at no charge (monthly

service allocations)

UK Azure Pricing – Standard Rates Windows Azure

Compute

Small instance (default): £0.0728 per hour

Medium instance: £0.1455 per hour

Large instance: £0.291 per hour

Extra large instance: £0.5819 per hour

Storage

£0.091 per GB stored per month

£0.0061 per 10,000 storage transactions

Content Delivery Network (CDN)

£0.09 GB CDN Egress

£0.06/100K CDN Storage X-actions

SQL Azure

Web Edition – Up to 1 GB relational database

£6.055 per database per month

Business Edition – Up to 10 GB relational database

£60.604 per database per month

AppFabric

Access Control

£1.2062 per 100,000 transactions*

Service Bus

£2.4184 per connection on a “pay-as-you-go” basis*

Pack of 5 connections £6.0307*

Pack of 25 connections £30.1535*

Pack of 100 connections £120.6139*

Pack of 500 connections £603.0695*

Data Transfers

North America and Europe regions

£0.0607 per GB in

£0.091 per GB out

Asia Pacific Region

£0.1819 per GB in

£0.2728 per GB out

Inbound data transfers during off-peak times through June 30, 2010 are at no charge. Prices revert to our normal inbound data transfer rates after June 30, 2010

£100 per month* - Highly Available 2 x

Instance Web Application + 0.5TB data

£6 per month* - Highly Available 1Gb

SQL Server database

* Lots of assumptions and caveats

Some Final Thoughts….

© 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.