52
Windows Azure Platform David Chou [email protected] blogs.msdn.com/dachou

Windows Azure Platform

Embed Size (px)

DESCRIPTION

Overview of the Microsoft cloud computing platform, Windows Azure Platform.

Citation preview

Page 1: Windows Azure Platform

Windows Azure Platform

David [email protected]

blogs.msdn.com/dachou

Page 2: Windows Azure Platform

Private(On-Premise)

Infrastructure

(as a Service)

Platform(as a

Service)

Types of Clouds

Storage

Server HW

Networking

Servers

Databases

Virtualization

Runtimes

Applications

Security & Integration

Storage

Server HW

Networking

Servers

Databases

Virtualization

Runtimes

Applications

Security & Integration

Storage

Server HW

Networking

Servers

Databases

Virtualization

Runtimes

Applications

Security & Integration

You m

anage M

anaged b

y v

endor

Managed b

y v

endor

You m

anage

You m

anage

Page 3: Windows Azure Platform

Private(On-Premise)

Types of Clouds

Infrastructure

(as a Service)

Platform(as a

Service)

Page 4: Windows Azure Platform

Abstract Resources

Private Cloud(on-premise)

Physical Resources

Public Cloud(off-premise)

Customizability Ease of Provisioning

Global ReachSecurity & Privacy

Real-Time Performance Redundancy & Resiliency

Scalability & AvailabilityConsistency & Control

A Hybrid World

HomogeneityHeterogeneity

Page 5: Windows Azure Platform

The Microsoft Cloud~100 Globally Distributed Data Centers

Quincy, WA Chicago, IL San Antonio, TX Dublin, Ireland Generation 4 DCs

Page 6: Windows Azure Platform

Platform Services

Software Services

Application Services

Infrastructure Services

The Microsoft CloudCategories of Services

Page 7: Windows Azure Platform

Windows Azure Platform Internet-scale, highly available cloud fabric Globally distributed Microsoft data centers (ISO/IEC 27001:2005 and SAS

70 Type I and Type II certified) Consumption and usage-based pricing; enterprise-class SLA commitment

Compute – auto-provisioning 64-bit application containers in Windows Server VMs; supports a wide range of application models

Storage – highly available distributed table, blob, queue, & cache storage services

Languages – .NET 3.5 (C#, VB.NET, etc.), IronRuby, IronPython, PHP, Java, native Win32 code

Data – massively scalable & highly consistent distributed relational database; geo-replication and geo-location of data

Processing – relational queries, search, reporting, analytics on structured, semi-structured, and unstructured data

Integration – synchronization and replication with on-premise databases, other data sources

Service Bus – connectivity to on-premises applications; secure, federated fire-wall friendly Web services messaging intermediary; durable & discoverable queues

Access Control – rules-driven federated identity; AD federation; claims-based authorization

Workflows – declarative service orchestrations via REST-based activities

Page 8: Windows Azure Platform

Pricing

Compute• $0.12 / CPU hour

Storage• $0.15 / GB / month

• $0.01 / 10k transactions / month

Bandwidth• $0.10 in / GB

• $0.15 out / GB

Web Edition (1GB)• $9.99 / month

Business Edition (10GB)• $99.99 / month

Bandwidth• $0.10 in / GB

• $0.15 out / GB

Service Bus• $0.15 / 100k

messages

Access Control• $0.15 / 100k tokens

Bandwidth• $0.10 in / GB

• $0.15 out / GB

Virtual Machine instances

Load balancers, routers, etc.Automated service management

- Fabric controller operations (deploy/upgrade/delete/scale)

- Load balancer programming

Blob StorageTable StorageMultiple replicas

Ingress/Egress (to/from internet only)

Host OS Windows Server 2008 x64Guest OS Windows Server 2008 Enterprise x64

Hypervisor Hyper-VCPU 1.5 - 1.7 GHz x64 equivalent

Memory 1.7GBNetwork 100Mbps

Transient storage 250GB

Page 9: Windows Azure Platform

Compute connectivit

y

Your service is connected and reachable via web

Internet facing roles will have external connectivity

>99.95%

Database availability

Database is connected to the internet gateway

Availability monitoring every 5-minute interval

Storage servicewill be available/ reachable (connectivity)

Your storage requests willbe processed successfully

>99.9%

Storage availability

>99.9%

.NET Service Bus endpoint willhave external connectivity

Message operation requests willbe processed successfully

Serviceavailability

>99.9%

All runningroles will be continuously monitored

If role is unhealthy, we will detect and initiate corrective state

Automated Systems

Management

Service Guarantee

Role instance

monitoring and restart

Page 10: Windows Azure Platform

Benefits

BUSINESSDEMANDS

TECHOLOGYDEMANDS

WINDOWS AZURE PLATFORM OFFERS

• Cost-effective solution to manage IT resources

• Less infrastructure to buy/configure and support

• Lower TCO• Predictable cost

• Focus on delivering compelling software not on managing infrastructure

• Monetize new offering quickly without investment in billing and other enablement technologies.

  • Speed of development• Interoperability • Leverage existing IP• Simplified deployment• Scale up or down as business needs

change• Go to market faster

• Reliable service• SLAs• Security• Global data centers

Lower costs Efficiency

Stay Competitive

Innovation

AgilityGenerate New

Revenue Quickly

ReliabilityReducedRisk

Page 11: Windows Azure Platform

Platform of Choice

Page 12: Windows Azure Platform

Sign up at the Windows Azure Platform developers’ portal

Windows Azure accessDeveloper tools White papersSample applications

Plan pilot applications, proofs of concept, and architectural design sessions with Windows Azure partners

http://www.azure.com

Page 13: Windows Azure Platform

Application Architecture

Page 14: Windows Azure Platform

Application Models

Web Hosting Massive scale infrastructure

Burst & overflow capacity

Temporary, ad-hoc sites

Application Hosting On-premise extensions

Composite applications

Automated agents / jobs

Media Hosting & Processing CGI rendering

Content transcoding

Media streaming

Distributed Storage External backup and storage

High performance computing

Parallel & distributed processing

Massive modeling & simulation

Advanced analytics

Information Sharing Common data repositories

Reference data

Knowledge discovery & mgmt

Collaborative Processes Multi-enterprise integration

B2B & e-commerce

Supply chain management

Health & life sciences

Domain-specific services

Page 15: Windows Azure Platform

Internet-Scale Application Architecture

Design Horizontal scaling

Service-oriented composition

Eventual consistency

Fault tolerant (expect failures)

Security Claims-based authentication

& access control

Federated identity

Data encryption & key mgmt.

Management Policy-driven automation

Aware of application lifecycles

Handle dynamic data schema and configuration changes

Data & Content

De-normalization

Logical partitioning

Distributed in-memory cache

Diverse data storage options (persistent & transient, relational & unstructured, text & binary, read & write, etc.)

Processes Loosely coupled components

Parallel & distributed processing

Asynchronous distributed communication

Idempotent (handle duplicity)

Isolation (separation of concerns)

Page 16: Windows Azure Platform

Storage• Relational & transactional data• Federated databases• Unstructured, de-normalized data• Logical partitioning• Persistent file & blob storage• Encrypted storage

Connectivity• Message queues• Service orchestrations• Identity federation• Claims-based access control• External services connectivity

Presentation• ASP.NET C#, PHP, Java• Distributed in-memory cache

Services• .NET C#, Java, native code• Distributed in-memory cache• Asynchronous processes• Distributed parallel processes• Transient file storage

Internet-Scale Application Architecture

SERVICE BUS

ACCESS CONTRO

L

WORKFLOWS

Page 17: Windows Azure Platform

User

Private Cloud

Public Cloud Services

Application Patterns

Table StorageService

Blob StorageService

QueueService

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

Web Svc(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

Jobs(Worker

Role)

SilverlightApplication

Web Browser

MobileBrowser

WPFApplication

Service Bus

Access Control Service

WorkflowService

UserData

ApplicationData

Reference Data

Cloud Web Application

Enterprise Data

Enterprise Web Svc

Enterprise Application

DataService

StorageService

IdentityService

ApplicationService

Enterprise Identity

Page 18: Windows Azure Platform

User

Private Cloud

Public Services

Application Patterns

Table StorageService

Blob StorageService

QueueService

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

Web Svc(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

Jobs(Worker

Role)

SilverlightApplication

Web Browser

MobileBrowser

WPFApplication

Service Bus

Access Control Service

WorkflowService

UserData

Application Data

Reference Data

Composite Services Application

Enterprise Data

Enterprise Web Svc

Enterprise Application

DataService

StorageService

IdentityService

ApplicationService

Enterprise Identity

Page 19: Windows Azure Platform

User

Private Cloud

Public Services

Application Patterns

Table StorageService

Blob StorageService

QueueService

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

Web Svc(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

Jobs(Worker

Role)

SilverlightApplication

Web Browser

MobileBrowser

WPFApplication

Service Bus

Access Control Service

WorkflowService

UserData

Application Data

Reference Data

Cloud Agent Application

Enterprise Data

Enterprise Web Svc

Enterprise Application

DataService

StorageService

IdentityService

ApplicationService

Enterprise Identity

Page 20: Windows Azure Platform

User

Private Cloud

Public Services

Application Patterns

Table StorageService

Blob StorageService

QueueService

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

Web Svc(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

Jobs(Worker

Role)

SilverlightApplication

Web Browser

MobileBrowser

WPFApplication

Service Bus

Access Control Service

WorkflowService

UserData

Application Data

Reference Data

B2B Integration Application

Enterprise Data

Enterprise Web Svc

Enterprise Application

DataService

StorageService

IdentityService

ApplicationService

Enterprise Identity

Page 21: Windows Azure Platform

User

Private Cloud

Public Services

Application Patterns

Table StorageService

Blob StorageService

QueueService

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

Web Svc(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

Jobs(Worker

Role)

SilverlightApplication

Web Browser

MobileBrowser

WPFApplication

Service Bus

Access Control Service

WorkflowService

UserData

Application Data

Reference Data

Grid / Parallel Computing Application

Enterprise Data

Enterprise Web Svc

Enterprise Application

DataService

StorageService

IdentityService

ApplicationService

Enterprise Identity

Page 22: Windows Azure Platform

User

Private Cloud

Public Services

Application Patterns

Table StorageService

Blob StorageService

QueueService

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

Web Svc(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

ASP.NET(Web Role)

Jobs(Worker

Role)

SilverlightApplication

Web Browser

MobileBrowser

WPFApplication

Service Bus

Access Control Service

WorkflowService

UserData

Application Data

Reference Data

Hybrid Enterprise Application

Enterprise Data

Enterprise Web Svc

Enterprise Application

DataService

StorageService

IdentityService

ApplicationService

Enterprise Identity

Page 23: Windows Azure Platform
Page 24: Windows Azure Platform

BUSINESSES CONSUMERS

INTERNET

Windows Azure Architecture

Page 25: Windows Azure Platform

Fabric

Compute Storage

Fabric controller

The Fabric Controller communicates with every server within the Fabric. It manages Windows Azure, monitors every application, decides where new applications should run – optimizing hardware utilization.

Windows Azure Architecture

Page 26: Windows Azure Platform

Computation provides application scalability. Developers can build a combination of web and worker roles. Those roles can be replicated as needed to scale the applications and computational processing power.

Storage Services allow customers to scale to store large amounts of data – in any format – for any length of time, only paying for what they use or store.

The Fabric Controller automates load balancing and computes resource scaling

Security and Control Features include storage encryption, access authentication, and over-the-wire encryption using HTTPS. Industry certification is part of the Windows Azure roadmap.

Geographically distributed, state-of-the-art data centers host your applications and data, internet-accessible from everywhere you choose to allow.

Windows Azure Architecture

Page 27: Windows Azure Platform

Interacts with a “Fabric Agent” on each machine

Monitors every VM, application and instance

Performs load balancing, check pointing and recovery

Windows Azure ArchitectureFabric Controller

Page 28: Windows Azure Platform

GOAL:SCALABILITYScale out by replicating worker instances as needed.

Allow applications to scale user and compute processing independently.

Two instance types: Web Role & Worker RoleWindows Azure applications are built with web role instances, worker role instances, or a combination of both.

Each instance runs on its own VM (virtual machine), replicated as needed

Windows Azure ArchitectureCompute

Page 29: Windows Azure Platform

GOAL:SCALABLE, DURABLE STORAGE

Windows Azure storage is an application managed by the Fabric Controller

Windows Azure applications can use native storage or SQL Azure

Application state is kept in storage services, so worker roles can replicate as needed

Blobs: large, unstructured data (audio, video, etc)

Tables: simply structured data, accessed using ADO.NET Data Services

Queues: serially accessed messages or requests, allowing web-roles and worker-roles to interact

Windows Azure ArchitectureStorage

Page 30: Windows Azure Platform

GOAL:AUTOMATED APPLICATION MANAGEMENT AND CONTROL

Fabric

The Fabric Controller automates service management

Windows Azure ArchitectureServices Management

Page 31: Windows Azure Platform
Page 32: Windows Azure Platform

Value Propositions :• XSPs, Server Ops• SQL CLR• 100% compatibility

Reso

urc

es

Dedicated

Shared

Low High“Friction”/Control

SQL Azure Database (RDBMS)

Hosted RDBMS

SQL Server

Value Propositions:• Auto HA, Fault-Tolerance• Friction-free scale• Self-provisioning• High compatibility

• Virtual DB server• Logical user database

(LUDB)• Resource governance @

LUDB• Security @LUDB

• Hosted SQL Server• Resource governance

@ VM• Security @ SQL

Server/OS

Roll-your-own HA/DR/scale

• SQL Server on-premises• Resource governance @

machine• Security @ SQL

Server/OS

Roll-your-own HA/DR/scale

Value Propositions :• Full h/w control –

size/scale• 100% compatibility

Data Storage Options

Page 33: Windows Azure Platform

SQL Azure Architecture

SQL Azure

TDS + TSQL Model

Web App

SQL Client*

Windows Azure

BrowserApplicatio

n

Application

REST Client

REST(Astoria)

ADO.Net +EF

Application

SQL Client*

Cloud

HTTP

HTTP+

RES

T

TD

S

* Client access enabled using TDS for ODBC, ADO.Net, OLEDB, PHP-SQL, Ruby, …

Data

Cente

r

ODBC, OLEDB, ADO.Net PHP, Ruby, …

Flexible access to data in the cloud

• Create client applications that access data in the cloud via TDS – just like on-premise SQL Server

• Create cloud-based Web applications in Azure that use standard SQLClient libraries with ADO.NET

• Create cloud-based REST data interfaces in Azure with ADO.NET Data Services and the Entity Framework

Low friction data storage provisioning

• Web interface for simple, database provisioning

• Scale seamlessly as needed

Self-managing data center• Automated maintenance

• Built in high-availability and data recoverability

Simple storage and hosted RDBMS

Page 34: Windows Azure Platform

• Goal: A storage platform built for extreme scale and low cost

• Architecture:– An Azure account provides

access to SQL Azure– Each account can have one

or more logical server• Implemented as multiple physical

servers within a given geo-location

– Each logical server can contain one or more logical database• Implemented as replicated

partitioned data across multiple physical databases

AccountAzure wideBilling instrument

ServerDatabase metadataUnit of authorizationUnit of geo-location

DatabaseUnit of consistencyContains Users, Tables, Views, etc…

Has one or more

Has one or more

Data Platform Design

Page 35: Windows Azure Platform

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

• Uses shared infrastructure at SQL database and below– Each user database is replicated to one or more servers (configurable based on SLA)– Client requests are routed to current “primary server” for read and write operations (based on SQL

session)– Security, lockdown and isolation enforced in SQL tier

• Highly scalable and state-of-the-art HA technology– Automatic failure detection; client request re-routed to new primary on failure – High SLA guarantee using logical replication (hot standby replicas)– Automatic management, self-healing and load balancing across shared resource pool

• SQL Azure Database provides provisioning, metering and billing infrastructure

Machine 5

SQL Instance

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

SQL Azure Database Provisioning (databases, accounts, roles, …, Metering, and Billing

Machine 6

SQL Instance

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

Machine 4

SQL Instance

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

DBA role will change to focus on policy/logical management

Logical User Databases

Page 36: Windows Azure Platform

• Connect using common client libraries– ADO.NET, OLE DB, ODBC, etc.

• Clients connect to a database directly• Cannot hop across DBs• Large surface of SQL supported within the database

boundary– Future work will relax many of these constraints

Security

Connections

Security and Connection Models

• Uses regular SQL security model– Authenticate logins, map to users and roles

– Authorize users and roles to SQL objects

• Supports standard SQL logins– Logins are username + password strings

– Service enforces use of SSL to secure credentials

– Future support for AD Federation, WLID, etc as alternate authentication protocols

Page 37: Windows Azure Platform

• Account and server provisioning– Portal and API based access

– Ex: enumerate my servers, show server usage metrics, etc

• Each account has one or more servers– Ex: srv123.data.database.windows.net

• Each server has a virtual master database– Has subset of SQL Server master DB interface

• Each server has one or more SQL logins

– System creates sysadmin login on “server creation”

• Databases created using “CREATE DATABASE”– Can be called by sysadmin or anyone with create DB

permission

* *

Provisioning Model

Page 38: Windows Azure Platform

• SQL Server has many patterns for accomplishing tasks– SQL Azure Database supports a subset of full

SQL Server patterns– Focus on logical and policy based administration– Patterns work in both SQL Azure Database and

SQL Server• Enables migration of on-premise application to/from SQL

Azure

• SQL Azure Database is a multi-tenant service– Throttling and load balancing policies– Examples: limit on DB size, duration of

transaction, …

In Scope for v1

• Create/Alter/Drop on Database/Index/View• Stored Procedures (Transact-SQL)• Triggers• Constraints• Table variables, session temp tables (#t)• + lots of others

Out of Scope for v1• CLR• Service Broker• Distributed Transactions• Distributed Query• Spatial• All server level DDL• All physical DDL and physical catalog

views

SQL Server Compatibility

Page 39: Windows Azure Platform

Departmental Applications

Departmental workgroup applications with low concurrency and cyclical usage patterns

Web Applications

Small customers or start ups with Web applications of all scale that have simple RDBMS needs

Data Hubs

Secure data hubs that consolidate multiple data sources and enable access from multiple locations and devices

ISV/SaaS Offerings

Traditional ISVs extending offering or selling software hosted in the cloud (including SaaS ISVs)

Application Scenarios

Page 40: Windows Azure Platform
Page 41: Windows Azure Platform

Common patterns and problems• How can you use cloud services to connect apps and

services across deployment locations?– Bridge cloud, on-premises, and hosted assets– Navigate network and security boundaries, securely and simply– Handle identity and access across organizations and ID

providers– Interoperate across languages, platforms, standards– Perform protocol mediation and schema mapping

• Customers need a way to:

Connect endpoints Control & secure access

Service Bus Access Control

Page 42: Windows Azure Platform

.NET Services provides solutionsfor developers facing those problems

Service Bus

•Expose RESTful or SOAP services over the internet through firewall and NAT boundaries•Communicate bi-directionally between apps and services in an interoperable manner•Choose relays, queues, routers, and other message patterns and types•Scale out naturally and reliably as apps and services grow

Access Control Service

•Authorization management and federation infrastructure•Provides internet-scope federated identity integration for distributed applications•Use it to•Secure Service Bus communications•Manage user-level access to apps across organizations and ID providers

Connect Endpoints

firewall NATfirewall

01

01

0

11

1

00

11

0

11

1

0101

0111

0011

0111

Your app Customer/partner app

01

01

0

11

1 0

01

1 0

11

1

01

01

0

11

1

00

11

0

11

1

Service Bus

Page 43: Windows Azure Platform

.NET Services provides solutionsfor developers facing those problems

Service Bus

•Network abstraction and virtualization infrastructure•Enables many common shapes of communication in an efficient and interoperable manner•Use it to•Connect applications across any network topology, including firewalls and NAT boundaries•Exchange data between loosely coupled applications

Access Control Service

•Integrate authorization into apps to control “what users are allowed to do”•Federate with multiple identity systems across organizations and ID providers•Easily apply fine-grained access control rules•Secure Service Bus communications•Scale out naturally and reliably as apps and services grow

Control Access

4. Token

2. Claims

3. Map input claimsto output claims

5. Msg w/token

0. p

erio

dic c

ert e

xcha

nge

1. Define access control rules for a customer

6. Check claims

Your app Customer/partner users & apps

Access Control Service

Page 44: Windows Azure Platform

Private Network Space

Service Bus: Core Capabilities

• Internet-scoped overlay-network bridging across IP NATs and Firewalls with federated access control – Network Listen/Send from any Internet-Connected Device– Internet-scoped, per-endpoint Naming and Discovery– NAT/FW Traversal via TCP, TCP/Direct, and HTTP Web

Streams

Internet Space

B

C

DA

ACS

ACS

ACS

ACS

ACS

Page 45: Windows Azure Platform

Service Bus: Core Capabilities

• Transfer raw and structured data allowing for any common shape of communication– Raw Data, Text, XML, JSON, …– Datagrams, Sessions, Correlated Messages– Unicast, Multicast

Octet-Streams

Text

JSON …

XML

A B

A B

A B

SOAP

XML-RPC

Page 46: Windows Azure Platform

Service Bus: Core Capabilities

• Built-In messaging primitives for temporally decoupled communication, routing, and message processing– Push/Pull translation for occasionally connected receivers– Publish/subscribe and message processing (after V1)

BAPush Pull

B

APush

C

DE

Push

Page 47: Windows Azure Platform

Pattern: Notification Fan-Out(Sessionless Unicast or Multicast Datagrams)

Windows Azure, Datacenter, Hosting, Amazon EC2, Google App Engine

“Worker Role” App Instance

AppInstance

Client Client Client Client Client Client

NATs

multicast

unicastunicast

ACS

ACS AC

SACS

ACS

ACS

ACS

ACS

ACS

Page 48: Windows Azure Platform

Pattern: REST Resource Management(Request/Response HTTP/HTTPS w/ arbitrary payloads)

Windows Azure, Datacenter, Hosting, Amazon EC2, Google App Engine

AppInstance

Storage

AppInstance

AppInstance

Storage

Storage

On-Premise App(s)

Cache

GET

POSTPUTDELETEPOST, PUT, DELETE

POST, PUT, DELETE POST, PUT, DELETE

On-Demand ‘Pull’ Sync

Continuous ‘Push’ Sync

ACS

ACS

ACSAC

S

ACS

Page 49: Windows Azure Platform

In-House Outsourced

Pattern: Document Exchange(session-bound, app-level ack’d document transfers + notifications)

Hosted

E-CommerceFront

Storage

Inventory / ShippingSystem

OrderingSystem

Storage

Storage

Hi-Fi Client Experience

PO SO Shipped

Order AcceptedOrder Processed

Ready

Delivered

ACK ACK

Web Client Experience

ACS

ACS

ACS

ACS

ACS

Page 50: Windows Azure Platform

Pattern: External DMZ(any communication style, secure NAT traversal for TCP & HTTP/S)

Home

Home Automation or Home Media Server

Storage

Devices

Web or Hi-Fi Client Experience

Internal Datacenter

Enterprise App Instance

Enterprise App

Instance

Enterprise App

Instance

Storage

Web or Hi-Fi Client Experience

Balance / Filter Reverse Proxy

Storage

net.

tcp/d

irect

htt

p(s

) /

net.

tcp AC

SACS

ACS

Page 51: Windows Azure Platform

Pattern: Integrate “Anything” (session-bound, raw-binary transport tunneling)

Windows Azure, Datacenter, Hosting, Amazon EC2 (Windows)

AppInstance

On-Premise Data

NP Bridge

SQL Server

TDSPassthrough

ASP.NETADO.NET

NP Agent

ACS

On-Premise Infra

Socket Bridge

Exchange/Mail (SMTP/IMAP)Active Directory (LDAP)System Center (SNMP)

Socket Agent

ACS

SocketPassthrough

Apps & Services

HTTP Bridge

ERP, CRM, Custom Apps.NET, J2EE, ROR, PHP

J2EE, JDBC, JMS

HTTP/HTTPSPassthrough

w/ URI Rewriting

Page 52: Windows Azure Platform

[email protected]/dachou

Thank you

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