microsoft azure

31
Introduction to Windows Azure Cloud Computing Futures Group, Microsoft Research Roger Barga, Jared Jackson, Nelson Araujo, Dennis Gannon, Wei Lu, and Jaliya Ekanayake

Upload: karthika-arun-prasads

Post on 24-Dec-2015

30 views

Category:

Documents


0 download

DESCRIPTION

Microsoft Azure Notes

TRANSCRIPT

Page 1: Microsoft Azure

Introduction to Windows Azure Cloud Computing Futures Group, Microsoft Research

Roger Barga, Jared Jackson, Nelson Araujo,

Dennis Gannon, Wei Lu, and Jaliya Ekanayake

Page 2: Microsoft Azure

Range in size from “edge” facilities to megascale.

Economies of scaleApproximate costs for a small size center (1000 servers) and a larger, 100K server center.100K server center.

Each data center is Each data center is

11.5 times 11.5 times

the size of a football fieldthe size of a football field

Technology Cost in small-sized Data Center

Cost in LargeData Center

Ratio

Network $95 per Mbps/month

$13 per Mbps/month

7.1

Storage $2.20 per GB/month

$0.40 per GB/month

5.1

Administration ~140 servers/Administrator

>1000 Servers/Administrator

7.1

Page 3: Microsoft Azure
Page 4: Microsoft Azure
Page 5: Microsoft Azure
Page 6: Microsoft Azure

A bunch of machines in data centers

Fabric Controller

Owns all data center hardware

Uses inventory to host services

Deploys applications to free resources

Maintains the health of those applications

Maintains health of hardwareMaintains health of hardware

If the node goes offline, FC will try to recover it

If a failed node can’t be recovered, FC migrates role instances to a new node, A suitable replacement location is found, Existing role instances are notified of change

Manages the service life cycle starting from bare metal

Highly-availableFabric Controller (FC)

Page 7: Microsoft Azure

Up to 7 Guest VMs

At Minimum (Small)CPU: 1.5-1.7 GHz x64

Memory: 1.7GB

Network: 100+

Mbps

An Optimized Hypervisor

A Host Virtual Machine

Up to 7 Guest VMs Mbps

Local Storage: 500GB

Up to (Extra Large)

CPU: 8 Cores

Memory: 14.2 GB

Local Storage: 2+

TB

Page 8: Microsoft Azure

At MinimumCPU: 1.5-1.7 GHz x64

Memory: 1.7GB

Network: 100+ Mbps

Local Storage: 500GB

Up toUp toCPU: 8 Cores

Memory: 14.2 GB

Local Storage: 2+ TB

Page 9: Microsoft Azure

Azure PlatformAzure Platform

Compute

Worker RoleWorker Role

Web RoleWeb Role

BlobsBlobs

QueuesQueues

Storage

QueuesQueues

TablesTables

DrivesDrives

Page 10: Microsoft Azure

Blobs Queues

HTTP

A closer lookA closer look

TablesDrives

Fabric

Compute Storage

Application

Access

Data is exposed via .NET and RESTfulinterfaces

Data can be accessed by:

Windows Azure apps

Other on-premise applications or cloud applications

Page 11: Microsoft Azure

BlobContainerAccount

jaredjaredimagesimages

PIC01.JPGPIC01.JPG

jaredjaredPIC02.JPGPIC02.JPG

moviesmoviesMOV1.AVI

http://jared.blob.core.windows.net/images/PIC01.JPG

Page 12: Microsoft Azure

Number of Blob ContainersCan have has many Blob Containers as will fit within the storage account limit

Blob ContainerA container holds a set of blobsA container holds a set of blobs

Set access policies at the container level Private or Public accessible

Associate Metadata with ContainerMetadata are <name, value> pairs

Up to 8KB per container

Page 13: Microsoft Azure

Block Blob Targeted at streaming workloads

Each blob consists of a sequence of blocksEach block is identified by a Block ID

Size limit 200GB per blobSize limit 200GB per blob

Page BlobTargeted at random read/write workloads

Each blob consists of an array of pagesEach page is identified by its offset from the start of the blob

Size limit 1TB per blob

Page 14: Microsoft Azure

BlobContainerAccount

jaredjaredimagesimages

PIC01.JPGPIC01.JPG

Block or

Page

Block or

Page 1jaredjaredPIC02.JPGPIC02.JPG

moviesmoviesMOV1.AVI

Block or

Page 2

Block or

Page 3

Page 15: Microsoft Azure

Scalable message paths

Provides loose synchronization

Any number of 2 1

C1

1234

Producers Consumers

P2

3 12Any number of messages

One week of persistence

Maximum size 8KB

Visibility timeout

C2C2P1

Page 16: Microsoft Azure

Provides Structured Storage

Massively Scalable Tables

Billions of entities (rows) and TBs of data

Can use thousands of servers as traffic grows

Data is replicated several times

Table

A storage account can create many tablesA storage account can create many tables

Table name is scoped by account

Set of entities (i.e. rows)

Entity

Set of properties (columns)

Required properties

PartitionKey, RowKey and Timestamp

Page 17: Microsoft Azure

Partition 1Partition 1

Partition 2Partition 2

Source : Windows Azure Table – Programming Table Storage

Page 18: Microsoft Azure

A Windows Azure Drive is a Page Blob formatted as a NTFS single volume Virtual Hard Drive (VHD)

Drives can be up to 1TB

A VM can dynamically mount up to 8 drives

A Page Blob can only be mounted by one VM at a time for A Page Blob can only be mounted by one VM at a time for read/write

Remote Access via Page BlobCan upload the VHD to its Page Blob using the blob interface, and then mount it as a Drive

Can download the Drive through the Page Blob interface

Page 19: Microsoft Azure

A closer lookA closer look

Web Role Worker Role

main(){ … }

Load Balancer

HTTP

IIS

ASP.NET, WCF, etc.

Fabric

VM

Agent Agent

Balancer

Page 20: Microsoft Azure

Using queues for reliable messagingUsing queues for reliable messaging

Web Role

ASP.NET, WCF,

Worker Role

main()

1) Receive work

4) Do

To scale, add more of either

Queue

ASP.NET, WCF, etc.

main(){ … }

2) Put work in queue

3) Get work from queue

4) Do work

Page 21: Microsoft Azure

Queues are the application glue• Decouple parts of application, easier to scale independently;• Resource allocation, different priority queues and backend servers• Mask faults in worker roles (reliable messaging).

Use Inter-role communication for performance• TCP communication between role instances• Define your ports in the service models• Define your ports in the service models

Page 22: Microsoft Azure

Points of interestPoints of interest

AccessData is exposed via .NET and RESTful interfaces

Data can be accessed by:Windows Azure apps

Other on-premise applications or cloud applicationsOther on-premise applications or cloud applications

Page 23: Microsoft Azure

Work

Home

Source

Control

Develop

Develop

Version

Development Fabric

Development Storage

Your

AppRun

Local

Application Works Locally

Page 24: Microsoft Azure

What the ‘Value Add’ ?What the ‘Value Add’ ?

Provide a platform that is scalable and available

Services are always running, rolling upgrades/downgrades

Failure of any node is expected, state has to be replicated

Failure of a role (app code) is expected, automatic recoveryFailure of a role (app code) is expected, automatic recovery

Services can grow to be large, provide state management that scales automatically

Handle dynamic configuration changes due to load or failure

Manage data center hardware: from CPU cores, nodes, rack, to network infrastructure and load balancers.

Page 25: Microsoft Azure

Key takeawaysKey takeaways

Cloud services have specific design considerationsAlways on, distributed state, large scale, fault tolerance

Scalable infrastructure demands a scalable architectureStateless roles and durable queuesStateless roles and durable queues

Windows Azure frees service developers from many platform issues

Windows Azure manages both services and servers

Page 26: Microsoft Azure
Page 27: Microsoft Azure

Web

Portal

Web

Service

Job

registration Job

Scheduler

Worker

Worker

Global

Web Role Job Management Role

Scaling

Engine

Service Scheduler

Worker

dispatch

queue

Azure Table

Azure Blob

Database

updating

Role

Blast

databases,

temporary

data, etc.)

Job

RegistryNCBI

databas

es

Page 28: Microsoft Azure
Page 29: Microsoft Azure
Page 30: Microsoft Azure

• Always design with failure in mind- On large jobs it will happen, and it can happen anywhere

• Factoring work into optimal sizes has large performance impacts- The optimal size may change depending on the scope of the job

• Test runs are your friend• Test runs are your friend- Blowing $20,000 of computation is not a good idea

• Make ample use of logging features- When failure does happen, it’s good to know where

• Cutting 10 years of computation down to 1 week is great!!- Little Cloud development headaches are probably worth it

Page 31: Microsoft Azure

Thank you!Thank you!