azure, cloud computing & services

36
Azure, Cloud Computing & Services

Upload: alan-dean

Post on 13-May-2015

3.147 views

Category:

Technology


2 download

DESCRIPTION

My presentation to the Charteris Tech Day in December 2008.

TRANSCRIPT

Page 1: Azure, Cloud Computing & Services

Azure, Cloud Computing & Services

Page 2: Azure, Cloud Computing & Services

Azure™ Services Platform

Page 3: Azure, Cloud Computing & Services

A set of connected servers

On which developers can:Install and run services

Store and retrieve data

What Is The Cloud?

Page 4: Azure, Cloud Computing & Services

It is an operating system for the cloud

It is designed for utility computing

It has four primary features:Service management

Compute

Storage

Developer experience

What Is Windows Azure?

Page 5: Azure, Cloud Computing & Services

This Is What Every Cloud Service Developer Has To Do Today!

Business logic

Datacenter

Respond to hardware failures

Add storage capacity

Handle increase in traffic

Diagnose service failures

Apply OS patches

Perform live upgrade for new feature

Expand to new locale

Service “glue”and operations

Page 6: Azure, Cloud Computing & Services

What's Missing In The Cloud?An operating system for the cloud:

….Service 1 Service 2 Service NService 3

……

Page 7: Azure, Cloud Computing & Services

The same facilities that a desktop OS provides, but on a set of connected servers:

Abstract execution environment

Shared file system

Resource allocation

Programming environments

And more: Utility computing24/7 operation

Pay for what you use

Simpler, transparent administration

What Should The Cloud OS Provide?

Page 8: Azure, Cloud Computing & Services

Automated service managementYou define the rules and provide your code

The platform follows the rules: deploys, monitors, and manages your service

A powerful service hosting environmentAll of the hardware: servers; load balancers; …

Virtualized and direct execution

Scalable, available cloud storageBlobs, tables, queues, …

A rich, familiar developer experience

How Is The Cloud OS Manifested?

Page 9: Azure, Cloud Computing & Services

A Look Inside Azure

ServiceBus

AccessControl

Workflow

Database

Reporting

Analytics

Compute Storage Manage

Identity

Devices

Contacts

Your Applications

Page 10: Azure, Cloud Computing & Services

So What?

Default.aspx

Page 11: Azure, Cloud Computing & Services

We Get Scalability For Free!

Scalability

Availability

Zero-downtime upgrades

All with existing tools and skills

Default.aspxLB

Page 12: Azure, Cloud Computing & Services

Horizontal Scaling

What about state?(e.g., shopping cart)

Page 13: Azure, Cloud Computing & Services

Separating State

Durable Store

Page 14: Azure, Cloud Computing & Services

Durable Storage

Durable, scalable, available store

Simple abstractions

Simple interfaceREST

ADO.NET Data Services

Blobs Tables

Queues

Page 15: Azure, Cloud Computing & Services

Simple Storage

Default.aspx

Storage(Blobs, Tables, Queues)

LB

Page 16: Azure, Cloud Computing & Services

Not Just Websites

Cloud services aren’t just websites

Many other types of work for the cloudBulk file conversion

Heavy analytics

Finding extraterrestrials

Even websites can offload async work

We need a more complex architecture

Page 17: Azure, Cloud Computing & Services

Service ArchitecturesWeb role

Storage

LB Worker.cs

Page 18: Azure, Cloud Computing & Services

Service ArchitecturesWorker role

Default.aspx

Storage

LB

Page 19: Azure, Cloud Computing & Services

Service ArchitecturesWeb and worker roles

Storage

LB

Page 20: Azure, Cloud Computing & Services

Windows Azure Storage

The goal is to allow users and applications to

Access their data efficiently from anywhere at anytime

Store data for any length of time

Scale to store any amount of data

Be confident that the data will not be lost

Pay for only what they use/store

Page 21: Azure, Cloud Computing & Services

Fundamental Data Abstractions

Blobs – Provide a simple interface for storing named files along with metadata for the file

Tables – Provide structured storage. A Table is a set of entities, which contain a set of properties

Queues – Provide reliable storage and delivery of messages for an application

Page 22: Azure, Cloud Computing & Services

Blob Namespace

Blob URL

http://<Account>.blob.core.windows.net/<Container>/<BlobName>

Example:

Account – sally

Container – music

BlobName – rock/rush/xanadu.mp3

URL: http://sally.blob.core.windows.net/music/rock/rush/xanadu.mp3 BlobContain

erAccoun

t

sally

pictures

IMG001.JPG

IMG002.JPG

movies MOV1.AVI

Page 23: Azure, Cloud Computing & Services

Blob Features And Functions

Store Large Objects (up to 50 GB each)

Standard REST PUT/GET Interfacehttp://<Account>.blob.core.windows.net/<Container>/

<BlobName>

PutBlobInserts a new blob or overwrites the existing blob

GetBlobGet whole blob or by starting offset, length

DeleteBlob

Support for Continuation on Upload

Associate Metadata with Blob

Page 24: Azure, Cloud Computing & Services

Windows Azure Tables

Provides Structured StorageMassively Scalable Tables

Billions of entities (rows) and TBs of data

Automatically scales to thousands of servers as traffic grows

Highly AvailableCan always access your data

DurableData is replicated at least 3 times

Familiar and Easy to use Programming Interfaces

ADO.NET Data Services – .NET 3.5 SP1.NET classes and LINQ or

REST - with any platform or language

Page 25: Azure, Cloud Computing & Services

Table Data Model

TableA Storage Account can create many tables

Table name is scoped by Account

Data is stored in TablesA Table is a set of Entities (rows)

An Entity is a set of Properties (columns)

EntityTwo “key” properties that together are the unique ID of the entity in the Table

PartitionKey – enables scalability

RowKey – uniquely identifies the entity in the partition

Page 26: Azure, Cloud Computing & Services

Partition KeyDocument Name

Row KeyVersion

Property 3Modification Time

…..

Property NDescription

Examples Doc

V1.0 8/2/2007 …..

Committed version

Examples Doc

V2.0.1 9/28/2007 Alice’s working version

FAQ Doc V1.0 5/2/2007 Committed version

FAQ Doc V1.0.1 7/6/2007 Alice’s working version

FAQ Doc V1.0.2 8/1/2007 Sally’s working version

Partition ExampleP

artitio

n

1P

artitio

n

2

Page 27: Azure, Cloud Computing & Services

Summary Of Windows Azure Tables

Built to provide Massively Scalable, Highly Available and Durable Structured Storage

Automatic Load Balancing and Scaling of Tables

Partition Key is exposed to the application

Familiar and Easy to use LINQ and REST programming interfaces

ADO.Net Data Services

Not a “relational database”No joins, no maintenance of foreign keys, etc

Page 28: Azure, Cloud Computing & Services

Future Windows Azure Table Support

At CTPSingle Index

Query and retrieve results sorted by PartitionKey and RowKey

Single Entity Transactions

Atomically Insert, Update, or Delete a Single Entity

Future Support for Secondary

Indexes Query and

retrieve results sorted by other properties

Entity Groups Atomic

transactions across multiple entities within same partition

Page 29: Azure, Cloud Computing & Services

Windows Azure Queues

Provide reliable message deliverySimple, asynchronous work dispatch

Programming semantics ensure that a message can be processed at least once

Queues are Highly Available, Durable and Performance Efficient

Access is provided via REST

Page 30: Azure, Cloud Computing & Services

Account, Queues And Messages

An Account can create many QueuesQueue Name is scoped by the Account

A Queue contains MessagesNo limit on number of messages stored in a Queue

But a Message is stored for at most a week

http://<Account>.queue.core.windows.net/<QueueName>

MessagesMessage Size <= 8 KB

To store larger data, store data in blob/entity storage, and the blob/entity name in the message

Page 31: Azure, Cloud Computing & Services

Queue Programming API

QueuesCreate/Clear/Delete Queues

Inspect Queue Length

MessagesEnqueue (QueueName, Message)

Dequeue (QueueName, Invisibility Time T)Returns the Message with a MessageID

Makes the Message Invisible for Time T

Delete(QueueName, MessageID)

Page 32: Azure, Cloud Computing & Services

Storage Durability

All data is replicated at least 3 timesReplicas are spread out over different fault

and upgrade domains in same data centerFuture support for geo-distribution and geo-replication

All of Storage (Blobs, Tables and Queues) is built on this replication layer

Dynamic replication to maintain a healthy number of replicas

Recover from a lost/unresponsive Drive or Node

Data continuously scanned against data bit rot

Page 33: Azure, Cloud Computing & Services

Availability And Scalability

Efficient FailoverData served immediately elsewhere within data center from available replicas

Automatic Load Balancing of Hot DataMonitor the usage patterns and load balance access to

Blob Containers, Table Partitions and Queues

Distribute access to the hot data over the data center according to traffic

Caching of Hot Blobs, Entities and QueuesHot Blobs are cached to scale out access to them

Hot Entity and Queue data pages are cached and served from memory

Page 34: Azure, Cloud Computing & Services

Account

Container Blobs

Table Entities

Queue Messages

Windows Azure Data Storage Concepts

http://<account>.blob.core.windows.net/<container>

http://<account>.table.core.windows.net/<table>

http://<account>.queue.core.windows.net/<queue>

Page 35: Azure, Cloud Computing & Services

Windows Azure Storage Summary

Essential Storage for the CloudDurable, Scalable, Highly Available, Security, Performance Efficient

Familiar and Easy to Use Programming Interfaces

REST Accessible, LINQ and ADO.NET

Rich Data AbstractionsService communication: queues, locks, …

Large user data items: blobs, blocks, …

Service state: tables, caches, …

Page 36: Azure, Cloud Computing & Services

http://www.microsoft.com/azure

http://blog.smarx.com

http://delicious.com/alan.dean/azure

Links