18
Architecting for the David Chou [email protected] blogs.msdn.com/dachou Windows Azure Platform

Architecting For The Windows Azure Platform

Embed Size (px)

DESCRIPTION

Deck delivered at the Windows Azure World Tour

Citation preview

Page 1: Architecting For The Windows Azure Platform

Architecting for the

David [email protected]

blogs.msdn.com/dachou

Windows Azure Platform

Page 2: Architecting For The Windows Azure Platform

Application Models

Web Hosting Massive scale infrastructure

Burst & overflow capacity

Temporary, ad-hoc sites

Application Hosting Hybrid applications

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 Reference data

Common data repositories

Knowledge discovery & mgmt

Collaborative Processes Multi-enterprise integration

B2B & e-commerce

Supply chain management

Health & life sciences

Domain-specific services

Page 3: Architecting For The Windows Azure Platform

Case Study

Background Web-based ERP and

accounting software to help mid-sized businesses automate customized business processes

Business needs:• Launch a SaaS offering which

includes on demand infrastructure and billing

• Maintain a 24/7 production environment

• Minimize development efforts for both on-premise and SaaS offerings

Technical implementation• Web – IIS 7, ASP.NET 3.5

• Server – SQL Server 2005/2008, Windows Server 2003/2008

• Tools – Visual Studio 2008, .NET Framework 3.5

Solution

Cloud-based SaaS deployment

Windows Azure

SQL Azure

Benefits Application migration

completed in 3 weeks with 2 developers

Customers can implement solution without investing in on-premise infrastructure; can save ~$8,000 for startup costs

Lowered capital expenditures

Improved time-to-market and agility in meeting customer needs

More strategic use of IT resources

Page 4: Architecting For The Windows Azure Platform

Case Study

Background Online service providing

productivity tools to help students conduct research, write better papers, and get help on-demand

Technical implementation• Client – Windows Mobile 6

• Web – IIS 6, ASP.NET 3.5

• Server – Windows Server 2003, SQL Server 2005

• Services – Bing Search, Windows Live Messenger Web Toolkit

• Tools – Visual Studio 2008, .NET Framework 3.5, .NET Compact Framework 3.5

Solution Hybrid cloud application

Cloud-based extensions and services mash-ups with on-premise implementation

Windows Azure application

.NET Services service bus, access control, & workflows

Benefits $500,000 savings in dev.

costs

40% faster time-to-market

More effective development

Cost-effective scalability and enhanced availability

Page 5: Architecting For The Windows Azure Platform

Case Study

IE 6/7/8* and Firefox

• Rich Web 2.0 Technologies:

JavascriptJavaAjaxCSSXHTML

Internet Clipping ToolbarInternet Clipping Toolbar

Full Featured Javascript

Editor

Full Featured Javascript

Editor

JSON / AJAX/ HTTP

Eduify WorkflowsEduify Workflows

Common Services Notification Logging Security

Common Services Notification Logging Security

Eduify Business Objects

Eduify Business Objects

Facebook Connect

Integration

FW—LB—Cache

FW—LB—Cache

Local / Network

File Folder

Local / Network

File Folder

ASP.NET / CLR IIS

ASPX PagesASPX Pages

Third PartyMashups

Bing Search Integration for Citation Check

SQL Server

SQL Server

Local Storage

Local Storage

Browser

Page 6: Architecting For The Windows Azure Platform

Case Study

Connected w/ ServicesLive Presence

IM Integration Search Citation / Plagiarism

Mash-up with Microsoft Services

Cloud-Based Extensions On-Premise Implementation

Common Services

Business Objects

Certain ASPX | Workflows | Service Bus | Access Controls ASP.NET

Workflows

SQL ServerSQL Server

Local StorageLocal Storage

Service Bus

Page 7: Architecting For The 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 8: Architecting For The 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 9: Architecting For The 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 10: Architecting For The 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 11: Architecting For The 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 12: Architecting For The 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 13: Architecting For The 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 14: Architecting For The 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 15: Architecting For The Windows Azure Platform

Platform Services

Software Services

Application Services

Infrastructure Services

The Microsoft CloudCategories of Services

Page 16: Architecting For The Windows Azure Platform

Platform of Choice

Page 17: Architecting For The 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 18: Architecting For The 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.