cloud computing patterns t compute inactivity period t t t on and off on & off workloads (e.g....

33
Introduction To Windows Azure Cloud Thilina Gunarathne, Indiana University

Upload: emmeline-booth

Post on 26-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Introduction To Windows Azure CloudThilina Gunarathne, Indiana University

Page 2: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Time

Dem

an

dWhat is a “Cloud”?

• Cloud: on-demand, scalable, multi-tenant, self-service compute and storage resources

TimeD

em

an

d

Server Provisioning Cloud Provisioning

OverprovisionedUnderprovisioned

Page 3: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Cloud Computing Patterns

tCom

pute

Inactivity

Period

t

t

t

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

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

Com

pute

Growing FastSuccessful services needs to grow/scale Keeping up w/ growth is big IT challenge Cannot provision hardware fast enough

Com

pute

Predictable BurstingServices with micro seasonality trends Peaks due to periodic increased demandIT complexity and wasted capacity

Com

pute

Page 4: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Cloud Terminology• Infrastructure as a Service (IaaS):

basic compute and storage resources• On-demand servers• Amazon EC2, VMWare vCloud

• Platform as a Service (PaaS): cloud application infrastructure• On-demand application-hosting environment• E.g. Google AppEngine, Salesforce.com, Windows Azure

• Software as a Service (SaaS): cloud applications• On-demand applications• E.g. Office 365, GMail, Microsoft Office Web Companions

Page 5: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Cloud: Efficiency Versus Control Packaged Software

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime

You m

anag

e

Infrastructure(as a Service)

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime

Man

ag

ed b

y v

en

dor

You m

anag

e

Platform(as a Service)

Man

ag

ed b

y v

en

dor

You m

anag

e

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

Software(as a Service)

Man

ag

ed b

y v

en

dor

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

EfficiencyControl+Cost

Page 6: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Operating System

Operating System

VM

WebServer

Operating System

VM

DBMS

2) Choose image, then create and configure VM(s) for

application

1) Choose image, then

create VM for DBMS and

configure DBMS

IaaS

Library

VM Images

Developer

ApplicationDataLoad

Balancer

5) Configure loadbalance

r

6) Manage VMs and DBMS (e.g.,

deploying new OS images in VMs)

3) Provision database,

then create tables and add

data

4) Install

application

Page 7: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Operating System

Operating System

VM

Operating System

VM

DBMS

PaaS Developer

ApplicationDataLoad

Balancer

2) Deploy applicat

ion

WebServer

1) Provision database,

then create tables and add

data

Page 8: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Windows Azure

• Windows Azure is an OS for the data center• Handles resource management, provisioning, and

monitoring• Manages application lifecycle• Allows developers to concentrate on business logic

• Provides common building blocks for distributed applications• Reliable queuing, simple structured storage, SQL storage• Application services like access control, caching, and

connectivity

Page 9: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

The Windows Azure Service Model

Page 10: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

The Windows Azure Service Model• A Windows Azure application is called a “service”• Definition information• Configuration information• At least one “role”

• Roles are like DLLs in the service “process”• Collection of code with an entry point that runs in its own

virtual machine• Windows Azure compute SLA requires two instances

of each role• 99.95% for connectivity to two instances• Achieved with update and fault domains

Page 11: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Role Types

• There are currently three role types:• Web Role: IIS7 and ASP.NET in Windows Azure-supplied

OS• Worker Role: arbitrary code in Windows Azure-supplied

OS• VM Role: uploaded VHD with customer-supplied OS

• VM Role: is it a VM?• No, because it is stateless• Good for:• Long install (5+ minutes)• Manual install/config• Fragile install/config

• Linux instances as well

Page 12: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Role Contents

• Definition: • Role name• Role type • VM size (e.g. small, medium, etc.)• Network endpoints

• Code: • Web/Worker Role: Hosted DLL

and other executables• VM Role: VHD

• Configuration:• Number of instances• Number of update and fault domains

Cloud ServiceRole: Front-End

DefinitionType: WebVM Size: SmallEndpoints: External-1ConfigurationInstances: 2Update Domains: 2Fault Domains: 2

Role: Middle-Tier

DefinitionType: WorkerVM Size: LargeEndpoints: Internal-1ConfigurationInstances: 3Update Domains: 2Fault Domains: 2

Page 13: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Windows Azure Instance Sizes

Unit of Compute Defined

Variable instance sizes to handle complex workloads of any size

Small1 x

1.6Ghz (moderate IO) 1.75 GB memory

225 GB storage(instance storage)

Medium2 x

1.6Ghz (high IO)3.5 GB

memory 490 GB storage(instance storage)

Small

$0.12 Per service

hour

Medium

$0.24 Per service

hour

X-Large

$0.96 Per service

hour

Large

$0.48 Per service

hour

Large 4 x

1.6Ghz (high IO) 7.0 GB

memory1000 GB storage(instance storage)

X-Large8 x

1.6Ghz(high IO)

14 GB memory2040 GB

(instance storage)

$0.02 Per service

hour

Extra Small

Extra Small1 x 1.0Ghz(low IO)

768 MB memory 20 GB storage

(instance storage)

Page 14: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Applicationbuilding blocks

StorageBig data

Caching

CDN

Database

Identity

Media

Messaging

Networking

Traffic

Page 15: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Windows Azure Storage

Page 16: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Windows Azure Storage Fundamentals

• Storage characteristics• Durable – replicated three times• Scalable (capacity and throughput)• Highly available

• Simple and familiar programming interfaces• REST (HTTP and HTTPS)• .NET accessible

Page 17: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Storage Objects

• Blobs • Provide a simple interface for storing

named files along with metadata for the file

• Tables • Provide lightly structured storage with a

set of entities that contain a set of properties

• Queues • Provide reliable storage and delivery of

messages

Page 18: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Storage Account and Blob Containers

• Storage account• An account can have many blob containers

• Container• A container is a set of blobs• Sharing policies are set at the container level • Public READ or Private

• List the blobs in a container• Content Delivery Network (CDN) • Azure Drives

Page 19: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Blob Storage Concepts

BlobContainerAccount

sally

pictures

IMG001.JPG

IMG002.JPG

movies MOV1.AVI

Page 20: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Table Data Model• Table• A storage account can create many tables

• A table is a set of entities (rows)• An entity is a set of properties (columns)• Billions of entities and TBs of data

• Two “key” properties that together are the unique ID of the entity in the table• PartitionKey – enables scalability• RowKey – uniquely identifies the entity within the

partition

Page 21: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Table Storage Concepts

EntityTableAccount

sally

users

Name =…Email = …

Name =…Email = …

photo index

Photo ID =…Date =…

Photo ID =…Date =…

Page 22: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Windows Azure Queues

• Provide reliable message delivery• Simple, asynchronous work dispatch• Programming semantics ensure that a message can be

processed at least once• Queues are highly available, durable and

performance efficient• Maximum size is 64K• FIFO in general, but not guaranteed

• Pulling an item from the queue doesn’t delete it• It becomes invisible for a visibility timeout• Item must be deleted before timeout or else it becomes

visible

Page 23: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Queue Storage Concepts

MessageQueueAccount

sally

thumbnail jobs

128x128, http://…

256x256, http://…

photo processing

jobs

http://…

http://…

Page 24: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Branding Police

Web Role

Web Role

Worker

RoleWork

erRole

{…-…-...-…}-report.txt {…-…-...-…}

{…-…-...-…}

Working on…Violations:…

bra

nd

ing

polic

e.c

lou

dap

p.n

et

Page 25: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Applicationbuilding blocks

StorageBig data

Caching

CDN

Database

Identity

Media

Messaging

Networking

Traffic

Page 26: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

DBSQL databaseRelational SQL Server Engine in the CloudClustered for high availabilityFully Managed ServiceSQL Reporting support

Page 27: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

CacheLow latency, in-memory distributed cacheDynamically grow and shrink cache sizeHigh availability supportMemcached protocol support

Page 28: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

IdentityIntegrate with enterprise identityEnable single sign-on within your appsEnterprise Graph REST API

Page 29: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Service busSecure messaging and relay capabilitiesEasily build hybrid appsEnable loosely coupled solutions

Page 30: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Window Azure HPC Scheduler

• Compute intensive, parallel computations on cloud• Parametric sweeps• MPI• SOA• LINQ to HPC

• Cloud bursting• Dynamically adjust how much runs on-premise and in the

cloud• “Burst” into cloud on-demand

Page 31: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Windows Azure SDK

• Local development emulator• Compute• Storage

• In several languages

Page 32: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Next Up…• Twister4Azure – Iterative MapReduce for Windows

Azure Cloud• Demo : KMeansClustering on Azure using

Twister4Azure

Windows Azure Training course• http://msdn.microsoft.com/en-us/wazplatformtrainingco

urse.aspx• Hands-on labs, Samples, Presentations

Page 33: Cloud Computing Patterns t Compute Inactivity Period t t t On and Off On & off workloads (e.g. batch job) Over provisioned capacity is wasted Time to

Acknowledgements

• Roger Barga – Microsoft• Windows Azure Platform Training Kit• Salsa Group