73
The Azure Services Platform: A Perspective Lisbon, November 17, 2008 David Chappell Chappell & Associates www.davidchappell.com

The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Embed Size (px)

Citation preview

Page 1: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

The Azure Services Platform: A PerspectiveLisbon, November 17, 2008

David ChappellChappell & Associateswww.davidchappell.com

Page 2: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Agenda

Cloud Platforms: The Big Picture

The Azure Services PlatformWindows Azure

.NET Services

SQL Services

Live Services

Application Platforms Today

Page 3: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Cloud Platforms:The Big Picture

Page 4: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

What is Cloud Computing?

Today, applications commonly run:On-premises, i.e., within an organization

At a hoster

Cloud computing adds another option

Cloud services are provided by an outside organization

Examples: Microsoft, Google, Amazon

How those services are used can sometimes have advantages over on-premises or hosted computing

Page 5: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Categorizing Cloud ServicesA simple taxonomy

Software as a Service (SaaS)The application runs in the cloud

Example: Salesforce.com

Attached servicesThe application runs on-premises, with extra functions provided in the cloud

Example: Exchange Hosted Services

Cloud platformsProvide cloud-based support for applications running in the cloud or on-premises

Examples: Microsoft Azure Services Platform, Amazon Web Services

Page 6: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Browser/

Client

Application

Software as a

Service (SaaS)

Users

Extra

Functions

Application

Attached

Services

Users

Application

Application

Cloud

Platforms

Developers

Platform

Cloud

On-

premises

Categorizing Cloud ServicesAn Illustration

Page 7: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Evaluating SaaS ApplicationsPotential benefits

Less financial riskNo large up-front investment required

Can often try before you buy

Lower costs (initially, at least)No license to buy; pricing is usage-based

Fixed capital expenses become variable operating expenses

Faster deployment

Higher reliability (sometimes)

Easier upgrades

Page 8: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Evaluating SaaS Applications Potential challenges (1)

TrustCan this service provider be trusted?

Will they protect my data?

Regulatory and compliance issuesCan the provider ensure compliance with any relevant regulations?

CustomizationHow much is possible?

Page 9: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Evaluating SaaS Applications Potential challenges (2)

IntegrationHow can a SaaS application be connected with applications in the enterprise?

IdentityIs identity federation supported?

ManagementHow can a SaaS application be monitored?

Supporting usersWho runs the help desk?

Page 10: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

The Role of Cloud Platforms

SaaS applications must run on some cloud platform

Why should each SaaS vendor have to build its own platform?

Enterprise applications can also take advantage of cloud platforms

A variety of cloud platforms are appearingOne example is the Azure Services Platform

Page 11: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

The Azure Services Platform

Page 12: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Windows Azure

Applications

.NET Services

Live Services

SQL Services

Applications

OthersWindows

Mobile

Windows

Vista/XP

Windows

Server

The Azure Services PlaformAn illustration

Page 13: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

.NET Services

Windows AzureLive Services

Applications

Applications

SQL Services

OthersWindows

Mobile

Windows

Vista/XP

Windows

Server

Fabric

Storage

Config

Compute

Application

Windows AzureWindows in the cloud

Page 14: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

.NET Services

Windows AzureLive Services

Applications

Applications

SQL Services

OthersWindows

MobileWindowsVista/XP

WindowsServer

Service Bus

Access Control ?

Workflow

.NET ServicesInfrastructure in the cloud

Page 15: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

SQL Services

.NET Services

Windows AzureLive Services

Applications

Applications

OthersWindows

MobileWindowsVista/XP

WindowsServer

SQL Data

Services

Others

(Future)

SQL ServicesDatabase services in the cloud

Page 16: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

.NET Services

Windows AzureLive Services

Applications

Applications

SQL Services

OthersWindows

MobileWindows

Vista/XP

WindowsServer

Live Operating

Environment

Live

Services

Live ServicesAnd the Live Framework

Live Operating

Environment

Data

Sync

Application

Page 17: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

The Azure Services Platform:Windows Azure

Page 18: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Windows Azure Basics

The goal of Windows Azure is to provide a platform that is scalable and available

Windows Azure can potentially provide various kinds of Windows-based environments

The November 2008 Community Technology Preview (CTP) supports only .NET applications

More will appear before general availabilitySuch as support for unmanaged code

Page 19: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Fabric

Compute Storage

Application

Windows Azure Fabric

Windows Azure Compute Service A closer look

VM

Web Role Worker Role

Agent Agent

main()

{ … } Load

Balancer

HTTP

IIS

ASP.NET,

WCF, etc.

Page 20: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Windows Azure Compute ServicePoints of interest

The VMs are provided by a cloud-optimized hypervisor

They run 64-bit Windows Server 2008

Each VM has a one-to-one relationship with a processor core

For developers:It’s mostly standard .NET

A few things require accessing the Windows Azure Agent, e.g., logging

A desktop replica of Windows Azure in the cloud is provided for development

Page 21: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Fabric

Compute Storage

Application

Blobs QueuesTables

HTTP

Windows Azure Storage ServiceA closer look

Page 22: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Windows Azure StoragePoints of interest

Storage types:Blobs: a simple hierarchy of binary data

Tables: hierarchical storage (not relational tables)

Queues: allow communication among web and worker role instances

Access:Data is exposed via a RESTful interface

With a query language based on the LINQ C# syntax

Data can be accessed by:Windows Azure applications

Other on-premises or cloud applications

Page 23: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Table . . .Table Table

Windows Azure StorageA closer look at tables

Entity . . .Entity Entity

Property PropertyProperty

Name Type Value

Storage

Accounts

Page 24: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Queue

Using QueuesThe suggested application model

Web Role

ASP.NET,

WCF, etc.

Worker Role

main()

{ … }

1) Receive work

2) Put work in queue

3) Get work from queue

4) Do work

To scale, add more of either

Page 25: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Using Windows AzureSome examples

A start-up might create a new Web application on Windows Azure

They can fail fast or scale fast

An ISV might create a SaaS version of an existing .NET application on Windows Azure

It’s .NET, so porting the code is doable

An enterprise might build a new application on Windows Azure

It’s .NET, so developers are plentiful

Page 26: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

VM

EC2

Alternative PlatformsAmazon Elastic Compute Cloud (EC2)

Provides VMs that can run Linux or Windows

Linux or Windows

Windows Azure Fabric

VM

Windows Server 2008

Windows Azure Storage

Windows Azure CTP

Your

ApplicationYour Storage

Your

Application

Page 27: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Alternative PlatformsGoogle AppEngine

Supports Python Web applicationsProvides non-relational storage

Google AppEngine

Windows Azure Fabric

Windows Server 2008

Windows Azure Storage

Windows Azure CTP

Worker

Role

Web

Role

AppEngineStorage

GQL

Python Runtime

Web

Application

Page 28: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Alternative PlatformsSalesforce.com Force.com

A data-driven platform for enterprise business applications

Uses Apex, a Salesforce.com-defined language

Provides non-relational storage

Force.com Storage

Force.com Runtime

SOQLEnterprise

Application

Page 29: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

PricingAn example: Amazon EC2

Linux VMVaries based on VM memory and processing power

$0.10/hour to $0.80/hour

Windows VM$0.125/hour to $1.20/hour

With Authentication Services: $0.25/hour to $2.00/hour

Required for more than 5 Windows accounts

With SQL Server Standard Edition:$1.10/hour to $2.40/hour

With authentication services: $1.35/hour to $3.20/hour

Page 30: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

PricingMore examples

Google AppEngine: Not yet announced

Salesforce.com Force.com:Enterprises: $25 per user per month

Public internet: $1,000/month for 1 million page views

$3,000/month for 5 million page views

Microsoft Windows Azure:Not yet announced

Microsoft says it will be usage-based and competitiveMight vary with your service level agreement (SLA)

Page 31: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Evaluating Cloud App PlatformsPotential benefits

Pay only for the computing resources you use

No financial commitment

Can quickly grow on demandAnd handle spikes in load

Can provide a specialized platform designed for scalability and availability

Page 32: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Evaluating Cloud App PlatformsPotential challenges

Vendor lock-inA cloud platform vendor can shut down your app if you don’t pay whatever they demand

May require learning a new programming model

With a limited developer ecosystem

Choosing a safe platformWhich ones will survive?

Page 33: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Categorizing the OptionsA simple taxonomy

HostingPhysical machines run by a service provider

Example: Many

VMs in the cloudVirtual machines run by a service provider

Example: EC2

Cloud-specific platformsSoftware run by a service provider that’s designed to support highly scalable and available applications

Example: Windows Azure

Page 34: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Categorizing the OptionsComparing some aspects

Hosting

VMs in the

Cloud

Cloud-Specific

Platforms

Customer

commits to

resources

Yes No No

New resources

deployed

immediately

No Yes Yes

Support for high

scalability and

availability

No No Yes

Can run on-

premises apps

unchanged

Yes Yes No

Page 35: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

The Azure Services Platform: .NET Services

Page 36: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

The Access Control Service

The problem:Different organizations identify users with tokenscontaining different claims

Applications can be faced with a confusing mess

The solution: The Access Control Service implements a security token service (STS) in the cloud

It accepts one token and issues anotherThe claims in the outgoing token can differ from those in the incoming token

An administrator can define rules for how this claims transformation is done

Page 37: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Access Control

Service Bus

Workflow

2) STS creates new token according to

rules

User

ApplicationClient

Access Control Service

?

STSRules

Access Control

1) Present token

3) Return new token

4) Present new token

5) Use new token to determine what this

user can do

Page 38: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

The Service Bus

The problem: Exposing internal applications on the Internet isn’t easy

Network address translation (NAT) and firewalls get in the way

The solution:Service Bus provides a cloud-based intermediary between clients and internal applications

It also provides a service registry that clients can use to find the services they need

Page 39: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Access Control

Service Bus

Workflow

Service Bus

Registry

Endpoints

Organization YOrganization X

Application Application

Service Bus

2) Discover endpoints

1) Register endpoints

3) Access application

Page 40: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

The Workflow Service

The problem:Where should workflow logic that coordinates cross-organizational composite apps run?

The solution:The Workflow Service runs WF-based workflows in the cloud

There are some limits on what WF activities can be used

No Code activities, for example

Page 41: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Access Control

Service Bus

Workflow

HTTP

Workflow Service

Application Application

Service Bus

Workflow

Page 42: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Using .NET ServicesSome examples

An app that’s accessed over the Internet from different organizations might rely on Access Control to rationalize the identity information it receives

And to do access control

An enterprise might expose an internal application to its trading partners via Service Bus

A group of trading partners might use Workflow to automate their cross-organizational business process

Page 43: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

The Azure Services Platform: SQL Services

Page 44: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

SQL Services

Today:SQL Data Services

Formerly known as SQL Server Data Services (SSDS)

Data syncUsing the Sync Framework

In the future: Reporting

Analysis

Extract/Transform/Load (ETL) services

More

Page 45: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Data Center

SQL Data

Services

Container . . .Container Container

HTTP/

SOAP

SQL Data Services

Entity . . .Entity Entity

Property PropertyProperty

Name Type Value

Authorities

Page 46: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

An AsideSQL Data Services and Windows Azure storage

The way SDS structures data is similar to tables in Windows Azure storage

Although there are differences, too

Yet the two have different goalsWindows Azure storage: Support Windows Azure applications

SQL Data Services: Provide a full range of database services in the cloud

It’s built on SQL Server

Page 47: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Querying SQL Data Services

SDS data can be accessed via:SOAP

REST Optionally, using an ADO.NET Data Services client

SDS provides a query language based on the LINQ C# syntax

Available operations include ORDER BY and JOIN

Page 48: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Using SQL ServicesSome examples

An application might archive older data to SQL Data Services

For lower-cost availability

An organization might make data available to both in-house and partner apps through SQL Data Services

Such as a company with a far-flung dealer network

A Web application might divide its data between SQL Data Services and on-premises storage

Storing only proprietary data inside the firewall

Page 49: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

CompetitorsToday's most visible alternatives

Amazon Simple Storage Services (S3)Provides blob storage

Primarily competes with Windows Azure storage blobs

Although SDS can also store blobs

Amazon SimpleDBProvides hierarchical structured storage

Competes with Windows Azure storage tables and with SQL Data Services

Page 50: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

The Azure Services Platform: Live Services

Page 51: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

What the Live Framework Allows

Accessing Live Services data

Creating a mesh of devicesWith Live Services data synchronized across them

Creating mesh-enabled Web applicationsThat can run in your browser or on your desktop

Page 52: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Hotmail

. . .

Messenger

Contacts

Calendar

Windows Live

Applications

Search

. . .

Maps

Other Live

Applications

Your

Applications

Live Mesh

Live Services

Users

Communications

and Presence

Devices

Applications

Synchronization

Identity

Directory

Storage

Search

Geospatial

Live Services and the Live Framework

Live Framework

Live Operating

Environment

Page 53: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Live Framework

Live Operating

Environment

HTTP

(AtomPub)

Your

Applications

Java

JavaScript

Silverlight

.NET

Other

Live Services

Users

Communications

and Presence

Devices

Applications

Synchronization

Identity

Directory

Storage

Search

Geospatial

Accessing Live Services DataAn illustration

Page 54: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Accessing Live Services DataPoints of interest

Applications can use direct RESTful HTTP calls

Applications can also use a Live Framework Toolkit

Provides a language-specific API to Live Services data

Microsoft provides toolkits for:.NET

Silverlight

JavaScript

Anyone else can create other toolkits

Page 55: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Windows

Vista/XP

Desktop

Windows

Mobile

Device

Macintosh OS X

Desktop

1) Add system to user’s mesh

User

Creating a Mesh

Windows Vista/XP

Laptop

2) Download and install

Live Operating

Environment

Live

Desktop

Page 56: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Mesh

Live Operating

Environment

Desktops/Devices

Live Operating

Environment

Cloud

HTTP

HTTP Application

Data

Sync

Live Services

Users

Communications

and Presence

Devices

Applications

Synchronization

Identity

Directory

Storage

Search

Geospatial

Using a Mesh

Page 57: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Mesh-Enabled Web Applications

They’re rich Internet applications (RIAs) built using:

Silverlight

JavaScript

Other RIA technologies

A mesh-enabled Web application can run:In a browser via the Live Desktop

On the desktop in a Live Services-provided host

Page 58: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Cloud

Live Operating

Environment

Desktops/Devices

Mesh

3) Synchronize application

Live Services

Application

Catalog

Mesh-

Enabled Web

Application

Live Operating

Environment

Silverlight, others

Mesh-

Enabled Web

Application

4) Run application

1) Find application

User

Mesh-Enabled Web ApplicationsInstalling one on a mesh

2) Install application

Page 59: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Using Live ServicesSome examples

A Java application running on Linux might access Live Services data

A .NET Framework application might rely on the mesh to synchronize data between the cloud and devices

Letting the application work on a local copy of data when it’s disconnected

A mesh-enabled Web application could let people keep up to date with their friends

Using Live Services data feeds and more

Page 60: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Industry ContextA perspective

Google Data APIs (GData)Allow AtomPub-based access to Google application data

Google GearsProvides synchronized local/cloud data

Adobe Integrated Runtime (AIR)Allows running Flash/Flex RIAs on the desktop

Page 61: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Application Platforms Today:A Summary

Page 62: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

. . .

Integration

Identity

Storage

Operating System

Foundation

Application

Local Support

Applications

Users

Development

Tools

Infrastructure Services

Application Services

Defining an Application PlatformA general model

Page 63: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Dynamics

CRM

platform

BizTalk

Server, MSMQ

. . .

Active

Directory

File shares, SQL Server, SharePoint libraries

Windows

Foundation

Application

Visual Studio

Infrastructure Services

Application Services

The Microsoft Application PlatformA server-oriented perspective

.NET

Framework

SQL Server

SharePoint

Other

Applications Users

Microsoft

Dynamics

Page 64: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

On-Premises

Foundation

On-Premises

Application

Cloud

Foundation

Cloud

Application

Cloud

Infrastructure

Services

Cloud

Application

Services

On-Premises

Infrastructure

Services

On-Premises

Application

Services

On-Premises and Cloud Platforms

Page 65: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

File shares, SQL Server,

SharePoint Libraries

On-Premises Infrastructure Services

BizTalk Server, MSMQ

Active Directory

SQL Services, Windows Azure

Storage, SharePoint Online

Libraries

Cloud Infrastructure Services

.NET Services Workflow/

Service Bus

Windows Live ID,

.NET Services Access Control

Cloud Application Services

Windows Live Contacts

Windows Live Photo Gallery

Virtual Earth

Live Search

CRM Online

Cloud

Application

Cloud Foundation

CRM Online

platformWindows

Azure

SharePoint

Online

On-Premises Application Services

Dynamics CRM

Microsoft

SQL Server

Windows

On-Premises Foundation

.NET

Framework

Dynamics

CRM platformSharePoint

On-Premises

Application

Live

ServicesWindows Azure

Page 66: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

On-Premises Application Services

On-Premises Infrastructure Services

Cloud Infrastructure Services

Amazon Identity

Cloud Application Services

On-Premises Foundation

Cloud

Application

Cloud Foundation

Elastic Compute Cloud (EC2)

Amazon

On-Premises

Application

Simple DB, Simple Storage

Service (S3)

Simple Queue Service (SQS)

Page 67: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Cloud Infrastructure Services

Google Accounts

Contacts

Picasa

Cloud Application Services

Maps

Search

On-Premises Foundation

Cloud

Application

Cloud Foundation

AppEngine

Google

On-Premises

Application

Google

Data

APIs

On-Premises Application Services

On-Premises Infrastructure Services

Page 68: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Cloud Infrastructure Services

Salesforce.com

Identity Services

Cloud Application Services

Salesforce.com

On-Premises Foundation

Cloud

Application

Cloud Foundation

Force.com

Salesforce.com

On-Premises

Application

On-Premises Application Services

On-Premises Infrastructure Services

Page 69: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Oracle DBMS

Oracle DBMS

On-Premises Infrastructure Services

Oracle ESB, BPEL Process

Server, etc.

Oracle

Beehive

Cloud Infrastructure Services

Cloud Application Services

Oracle On Demand

Applications

On-Premises Application Services

Oracle Applications

Oracle

On-Premises Foundation

On-Premises

Application

Oracle Identity ManagementOracle

WebLogic

Server

Cloud

Application

Cloud Foundation

Elastic Compute Cloud (EC2)

Oracle DBMS

Page 70: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

DB2

On-Premises Infrastructure Services

WebSphere ESB, MQ,

WebSphere Process Server

IBM

Tivoli Identity Management

On-Premises Application Services

Cloud Infrastructure Services

Cloud Application Services

Cloud

Application

Cloud Foundation

DB2

AIX, Z/OS, etc.

WebSphere

Portal,

Domino

On-Premises Foundation

On-Premises

Application

WebSphere

Application

Server

Page 71: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

Conclusions

Cloud platforms are hereMicrosoft is placing a big bet with the Azure Services Platform

A new world is unfoldingPrepare to be part of it

Page 72: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

References

Introducing the Azure Services Platform: An Early Look at Windows Azure, .NET Services, SQL Services, and Live Services

http://download.microsoft.com/download/e/4/3/e43bb484-3b52-4fa8-a9f9-ec60a32954bc/Azure_Services_Platform.pdf

A Short Introduction to Cloud Platforms: An Enterprise-Oriented View

http://www.davidchappell.com/CloudPlatforms--Chappell.pdf

Page 73: The Azure Services Platform: A Perspectivedownload.microsoft.com/download/9/4/E/94E34E68-9C9B-4960-972E-5… · Preview (CTP) supports only .NET ... Supports Python Web applications

About the Speaker

David Chappell is Principal of Chappell & Associates (www.davidchappell.com) in San Francisco, California. Through his speaking, writing, and consulting, he helps people around the world understand, use, and make better decisions about new technology. David has been the keynote speaker for dozens of events and conferences on five continents, and his seminars have been attended by tens of thousands of IT decision makers, architects, and developers in forty countries. His books have been translated into ten languages and used regularly in courses at MIT, ETH Zurich, and other universities. In his consulting practice, he has helped clients such as Hewlett-Packard, IBM, Microsoft, Stanford University, and Target Corporation adopt new technologies, market new products, train their sales staffs, and create business plans. Earlier in his career, David wrote networking software, chaired a U.S. national standards working group, and played keyboards with the Peabody-award-winning Children’s Radio Theater. He holds a B.S. in Economics and an M.S. in Computer Science, both from the University of Wisconsin-Madison.