90
Understanding the Windows Azure Platform David Gristwood Application Architect, Microsoft blogs.msdn.com/david_gristwood

Understanding the Windows Azure platform - june

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Understanding the Windows Azure platform  - june

Understanding the

Windows Azure Platform

David Gristwood

Application Architect, Microsoft

blogs.msdn.com/david_gristwood

Page 2: Understanding the Windows Azure platform  - june

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

Page 3: Understanding the Windows Azure platform  - june

The Azure Philosophy

Page 4: Understanding the Windows Azure platform  - june

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

Page 5: Understanding the Windows Azure platform  - june

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

Page 6: Understanding the Windows Azure platform  - june

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

Page 7: Understanding the Windows Azure platform  - june

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

Page 8: Understanding the Windows Azure platform  - june

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

Page 9: Understanding the Windows Azure platform  - june

Natural Platform Evolution

• Windows Server 2008

• Virtualisation

• Windows Services,

such as IIS, logging,

diagnostics, etc

• Visual Studio & .NET

Page 10: Understanding the Windows Azure platform  - june

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

Page 11: Understanding the Windows Azure platform  - june

Azure Adoption

Page 12: Understanding the Windows Azure platform  - june

Azure is Live…..

http://www.liveonazure.com/

Page 13: Understanding the Windows Azure platform  - june

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

Page 14: Understanding the Windows Azure platform  - june

Data Centers

Page 15: Understanding the Windows Azure platform  - june

North Central USA

South Central USA

Northern Europe

Western Europe

Eastern Asia

Southeast Asia

Page 16: Understanding the Windows Azure platform  - june

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

Page 17: Understanding the Windows Azure platform  - june

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/

Page 18: Understanding the Windows Azure platform  - june

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

Page 20: Understanding the Windows Azure platform  - june

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

Page 21: Understanding the Windows Azure platform  - june

Windows Azure

Page 22: Understanding the Windows Azure platform  - june
Page 23: Understanding the Windows Azure platform  - june

Windows Azure

Applications

Windows Azure

AppFabric

SQL Azure

Applications

Others Mobile Desktop Server

The Windows Azure Platform

The Big Picture

Page 24: Understanding the Windows Azure platform  - june

Fabric

Storage

Config

Compute

Application

AppFabric

Windows Azure

Applications

Applications

SQL Azure

Others Mobile

Desktop

Server

Page 25: Understanding the Windows Azure platform  - june

Azure Building Blocks

Page 26: Understanding the Windows Azure platform  - june

Azure Compute Building Blocks

Page 27: Understanding the Windows Azure platform  - june

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

Page 28: Understanding the Windows Azure platform  - june

Windows Azure Storage Building Blocks

Each storage account can hold up to 100 TB

Page 29: Understanding the Windows Azure platform  - june

Windows Azure Blobs Provide simple interface for storing named files

along with metadata for the file

Page 30: Understanding the Windows Azure platform  - june

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

Page 31: Understanding the Windows Azure platform  - june

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

Page 32: Understanding the Windows Azure platform  - june

Windows Azure Tables Structured storage via entities, containing sets of

properties

Page 33: Understanding the Windows Azure platform  - june

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

Page 34: Understanding the Windows Azure platform  - june

Windows Azure Tables

Entity: Sports Car

MyTable1

Entity: Customer

Entity: Car

Page 35: Understanding the Windows Azure platform  - june

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

Page 36: Understanding the Windows Azure platform  - june

Windows Azure Queues Provide reliable storage and delivery of messages

Page 37: Understanding the Windows Azure platform  - june

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

Page 38: Understanding the Windows Azure platform  - june

Common Azure Pattern

Page 39: Understanding the Windows Azure platform  - june

Azure Features

Page 40: Understanding the Windows Azure platform  - june

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

Page 41: Understanding the Windows Azure platform  - june

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

Page 42: Understanding the Windows Azure platform  - june

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

Page 43: Understanding the Windows Azure platform  - june

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

Page 44: Understanding the Windows Azure platform  - june

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

Page 45: Understanding the Windows Azure platform  - june

The Fabric

Page 46: Understanding the Windows Azure platform  - june

Fault Domains

Page 47: Understanding the Windows Azure platform  - june

Azure Development

Page 48: Understanding the Windows Azure platform  - june

Windows Azure for Application Developers

Software Development Kit

Develop Run

Code

Data

Relational

Data

Portal

Deploy

API

Page 49: Understanding the Windows Azure platform  - june

Development Fabric and Storage

Page 50: Understanding the Windows Azure platform  - june

Visual Studio 2010

Page 51: Understanding the Windows Azure platform  - june

Visual Studio 2010

Page 52: Understanding the Windows Azure platform  - june

Visual Studio 2010

Page 53: Understanding the Windows Azure platform  - june

Azure Portal

Page 54: Understanding the Windows Azure platform  - june

SQL Azure

Page 55: Understanding the Windows Azure platform  - june
Page 56: Understanding the Windows Azure platform  - june

account servers

server

database

Account

Server

Datab

ase

Page 57: Understanding the Windows Azure platform  - june

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

Page 58: Understanding the Windows Azure platform  - june

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

Page 59: Understanding the Windows Azure platform  - june
Page 60: Understanding the Windows Azure platform  - june

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”

Page 61: Understanding the Windows Azure platform  - june

Offline-Capable Cached Mode Applications

On-Premises Applications

Sync Group

SQL Azure

SQL Azure

SQL Azure

Remote Offices & Retail Stores

Page 62: Understanding the Windows Azure platform  - june
Page 63: Understanding the Windows Azure platform  - june

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

Page 64: Understanding the Windows Azure platform  - june
Page 65: Understanding the Windows Azure platform  - june

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

Page 66: Understanding the Windows Azure platform  - june

Codename “Dallas”

Page 67: Understanding the Windows Azure platform  - june

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

Page 68: Understanding the Windows Azure platform  - june

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

Page 69: Understanding the Windows Azure platform  - june

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

Page 70: Understanding the Windows Azure platform  - june

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

Page 71: Understanding the Windows Azure platform  - june
Page 72: Understanding the Windows Azure platform  - june

AppFabric

Page 73: Understanding the Windows Azure platform  - june

“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

Page 74: Understanding the Windows Azure platform  - june
Page 75: Understanding the Windows Azure platform  - june

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

Page 76: Understanding the Windows Azure platform  - june

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

Page 77: Understanding the Windows Azure platform  - june

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

Page 78: Understanding the Windows Azure platform  - june

• Many identity providers, one code base

Page 79: Understanding the Windows Azure platform  - june

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

Page 80: Understanding the Windows Azure platform  - june

Commercial Information

Page 81: Understanding the Windows Azure platform  - june
Page 82: Understanding the Windows Azure platform  - june

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

Page 83: Understanding the Windows Azure platform  - june

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)

Page 84: Understanding the Windows Azure platform  - june

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

Page 85: Understanding the Windows Azure platform  - june

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

experience, global reach, & engagement

Page 86: Understanding the Windows Azure platform  - june
Page 87: Understanding the Windows Azure platform  - june

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)

Page 88: Understanding the Windows Azure platform  - june

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

Page 89: Understanding the Windows Azure platform  - june

Some Final Thoughts….

Page 90: Understanding the Windows Azure platform  - june

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