Windows Azure

30
Windows Azure Platform John Alioto Architect Microsoft Corporation [email protected] m

description

An overview of Windows Azure

Transcript of Windows Azure

Page 1: Windows Azure

Windows Azure Platform

John AliotoArchitectMicrosoft [email protected]

Page 2: Windows Azure

What is cloud?

Page 3: Windows Azure

Public Cloud

Page 4: Windows Azure

Pool of computing resources offered by a vendor, typically

using a “pay as you go” model

Page 5: Windows Azure

Private Cloud

Page 6: Windows Azure

Pool of computing resources that lives within a self-managed

datacenter

Page 7: Windows Azure

Defining Cloud

Application runs using cloud

platform

Application runs on-premises

• Bring my own machines, connectivity, software, etc.

• Complete control and responsibility

• Upfront capital costs for the infrastructure

Application runs at a hoster

• Rent machines, connectivity, software

• Less control, but fewer responsibilities

• Lower capital costs, but pay for fixed capacity, even if idle

• Shared • multi-tenant

environment• Offers pool of

computing resources, abstracted from infrastructure

• Pay as you go

Page 8: Windows Azure

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 9: Windows Azure

Types of Clouds

Operating System

Web Server

Runtimes

Your Application

OS Services

Unit of Deployment

ProvidedBy

AmazonEC2

Virtualized Instance

Hardware

Provided byWindows Azure

Deployment

Infrastructure as a Service (IaaS)

Page 10: Windows Azure

Types of Clouds

Platform as a Service (PaaS)

Operating System

Web Server

Runtimes

Your Application

OS ServicesProvided byGoogle

AppEngine

Virtualized Instance

Hardware

Unit of Deployment

Provided byWindows Azure

Deployment

Can swap out

Page 11: Windows Azure

Types of Clouds

Providedby

SaaS

Software as a Service (SaaS)

Operating System

Web Server

Runtimes

Your Application

OS Services

Virtualized Instance

Hardware

Page 12: Windows Azure

Economy of ScaleLow High

ControlHigh Low

Control Versus Economy of Scale

Page 13: Windows Azure

Economy of ScaleLow High

ControlHigh Low

This is Not New …

Build vs. Buy

Page 14: Windows Azure

Economy of ScaleLow High

ControlHigh Low

This is New …

On Premises vs. In the Cloud

Page 15: Windows Azure

Fundamentals

How Microsoft Views the Cloud

Scale Out/InAutomated

Service Management

High Availability Multi-Tenancy

Infrastructure

Business model

Ownership

HeterogeneousHomogeneous

OpEx CapEx

Lease/Rented Owned

Considerations

ManagementThird Party Self

Location On premisesOff premises

Page 16: Windows Azure

Sample Workloads for the Cloud

Usage

Com

pute

Time

Average

Inactivity

Period

• On & off workloads (e.g. batch job)• Over provisioned capacity is wasted • Time to market can be cumbersome

Com

pute

Time

“Unpredictable Bursting“

Average Usage

• Unexpected/unplanned peak in demand • Sudden spike impacts performance • Can’t over provision for extreme cases

Average UsageCom

pute

Time

“Growing Fast“

• Successful companies need to grow/scale • Keeping up w/ growth is big IT challenge • Complex lead time for deployment

Com

pute

Time

Average Usage

“Predictable Bursting“

• Services with micro seasonality trends • Peaks due to periodic increased demand• IT complexity and wasted capacity

“On and Off”

Page 17: Windows Azure

StorageDynamic Tabular Data

BlobsMessage Queues

Distributed File System

Content Distribution

Data Transact-SQL

Data Synchronizati

on

Relational Database

ADO.NET, ODBC, PHP

Connectivity

RegistryOn-Premise

BridgingService Bus

SecurityClaims-Based

Identity

Federated Identities

Secure Token

Service

Declarative Policies

Application Services

ApplicationMarketplac

e

Information Marketplac

e

Personal Data

Repository

Frameworks

Workflow Hosting

Distributed Cache

Services Hosting

Windows Azure Platform

Compute C / C++Win32 VHD

Page 18: Windows Azure

Compute

Storage

Data SQL Azure Data Sync

Connectivity

Project “Sydney”

Security “Geneva”

Application Services

Frameworks

“Dublin” “Velocity”

Windows Azure Platform

Service Bus

Access Control

Table Storage

Blob Storage

Queue DriveContent Delivery Network

Page 19: Windows Azure

Platform Services

Software Services

Application Services

Infrastructure Services

The Microsoft CloudCategories of Services

Page 20: Windows Azure

The Microsoft Cloud~100 Globally Distributed Data Centers

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

Page 21: Windows Azure

Large Scale Datacenters

Page 22: Windows Azure

The Microsoft CloudData Center Infrastructure

Page 23: Windows Azure

Windows Azure

Compute – instance types: Web Role & Worker Role. Windows 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

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.

•Development, service hosting, & management environment– .NET, Java PHP, Python, Ruby, native code (C/C++, Win32, etc.)–ASP.NET providers, FastCGI, memcached, MySQL, Tomcat–Full-trust – supports standard languages and APIs–Secure certificate store–Management API’s, and logging and diagnostics systems

•Multiple roles – Web, Worker, Virtual Machine (VHD)

•Multiple VM sizes–1.6 GHz CPU x64, 1.75GB RAM, 100Mbps network, 250GB volatile storage–Small (1X), Medium (2X), Large (4X), X-Large (8X)

• In-place rolling upgrades, organized by upgrade domains–Walk each upgrade domain one at a time

Operating system as an online service; with automated provisioning and services management

Maintenance OS

Host VMGuest VM

1Host VM

Guest VM 3Guest VM 2Guest VM 1

Host VM

Page 24: Windows Azure

SQL Azure

• 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

DBA role places more focus on policy/logical management

Scalability and Availability: fabric, failover, replication, and load balancing

VM 5SQL Server

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

SQL Azure database provisioning (databases, accounts, roles, …, metering, and billing)

VM 6SQL Server

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

VM 4SQL Server

SQL DBUserDB1

UserDB2

UserDB3

UserDB4

>Security Model• 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 Upcoming support for AD Federation, WLID, etc.

>Connectivity Model• Connect using common client libraries

ADO.NET, OLE DB, ODBC, etc.

• Clients connect to a database directly• Cannot hop across DBs

Highly available, scalable, and consistent distributed relational database service; with geo-replication and geo-location of data

Page 25: Windows Azure

Windows Azure platform AppFabric

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

Internet-scoped overlay-network bridging across IP NATs and firewalls with federated access control

Page 26: Windows Azure

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 27: Windows Azure

Service Instance

Worker Role

Service Instance

Web Role

.NET in Windows Azure

Fabric Controller

Load Balancer

TableStorage

BlobStorage

Queue

ServiceBus

Access Control

SQL Database

bind port(x)

http://instance:x

http://instance:y

http://app:80

default.aspx

Web Role and Worker Role

IISRoleEntry

Point

Page 28: Windows Azure

Service Instance

Service Instance

Web Role

PHP in Windows Azure

Fabric Controller

Load Balancer

TableStorage

BlobStorage

Queue

ServiceBus

Access Control

SQL Database

bind port(x)

http://instance:x

http://instance:y

http://app:80

index.php

Web Role and IIS/FastCGI with Native Runtime

php-cgi

IIS

FastCGI

Page 29: Windows Azure

Service Instance

Service Instance

Worker Role

Java and Tomcat in Windows Azure

RoleEntry Point

Sub-Process

JVM

Tomcat

server.xmlCatalina

Fabric Controller

Load Balancer

TableStorage

BlobStorage

Queue

ServiceBus

Access Control

SQL Database

new Process()

bind port(x)

http://instance:x

http://instance:y

listen port(x)

http://app:80

getruntimeinfo

index.jsp

Worker Role and Sub-Process Invoking Native Code

Page 30: Windows Azure

[email protected]/johnalioto

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.