microsoft cloud 101

50
Microsoft Cloud 101 Bill Zack, Architect Evangelist, Microsoft [email protected] Blog: blogs.msdn.com/billzack

Upload: rateb-abu-hawieleh

Post on 20-May-2015

132 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Microsoft cloud 101

Microsoft Cloud 101

Bill Zack, Architect Evangelist, [email protected]: blogs.msdn.com/billzack

Page 2: Microsoft cloud 101

In case we don’t get to it learn more at the New York Windows Azure User Group

Windows Azure: Application Model & Roles, Cloud Storage, Health MonitoringSQL Services: SQL Data Services, Queries, Sync.NET Services: Internet Service Bus , Access Control , Workflow Live Services: Live ID, Live Mesh

Every 4th Monday http://www.azureusergroup.com

Page 3: Microsoft cloud 101

Additional Resources

The Azure Services Portalhttp://azure.com

The Documentation Libraryhttp://msdn.microsoft.com/en-us/azure

Page 4: Microsoft cloud 101

Who is the Azure™ Services Platform for?

Anyone building scalable available services

EntrepreneursISVs (large and small)Web startupsHobbyistsetc.

Page 5: Microsoft cloud 101

Why should I bet my business on it?

Consumption-based model (TBA Summer 09)You pay only for what you useNo minimum or long term commitmentAn inexpensive way to experimentEasy to grow as your business grows

Managed elastic capacity and scalabilitySimpler operating and management environment for developersIntegrates well with on-premises applications and servicesLeverages existing technology investments and skills

Page 6: Microsoft cloud 101

Sounds great! What should I do next?

Download the Visual Studio tools & SDKDevelop and test locallyStart experimenting now

Get access to the real CloudSign up for an accountDeploy your application to the cloud Test it out

Give us feedback!Help us “shape the cloud”

Page 7: Microsoft cloud 101

Microsoft Cloud Services Overview

Three categories:Online (+)LiveAzure Services Platform

Page 8: Microsoft cloud 101

Online +

Microsoft or partner hosted versions of on-premise software. Most carry “Online” moniker. (Some do not )Hosted services include:

Exchange Online and Exchange Hosted ServicesSharePoint OnlineOffice Communications Online (not available yet)Live MeetingDynamics CRM Online

Page 9: Microsoft cloud 101

Live

Large set of Microsoft based servicesSubscribed to by an Aggregator (which could also be Microsoft as in the case of the Windows Live portalFor adding functionality to web sites the Aggregators offers up to Internet clients.

Page 10: Microsoft cloud 101
Page 11: Microsoft cloud 101

Azure Services Platform

Used to build distributed applications and data which may involve on-premise and cloud based components. It provides:

Cloud based Execution of ASP.NET and batch applicationsMultiple Storage types, Database, Internet message relay and pub/subWorkflow

Page 12: Microsoft cloud 101

Azure™ Services Platform

Windows® Azure™ (Cloud OS)Service ManagementComputeEssential StorageDeveloper Experience

SQL ServicesSQL Data Services

.NET ServicesAccess ControlService BusWorkflow

12

Page 13: Microsoft cloud 101

Windows Azure Service Management

Massive scaleCompute & Storage “Fabric”Hundreds / thousands of server nodesUpward / downward scalability

Availability & DurabilityFault DomainsUpdate Domains

Geo-Distribution

Page 14: Microsoft cloud 101

Windows Azure Service Management

You focus on your Business LogicWe provide “Enlightened Mode” (managed) VMsWe handle Automated Service Management

Manage services not machines!Declarative specification (model)Image multi-cast deployment & upgradeAuto scale-out of instancesConfiguration, Health, Alerts, Usage/Billing, SLA

Some programming limitations exist

Page 15: Microsoft cloud 101

Provisioning Services

15

Page 16: Microsoft cloud 101
Page 17: Microsoft cloud 101

Windows Azure Compute

Processing Roles (Front End, Back-End)WebWorkerWeb + Worker

InstancesScalabilityDistributionLean OS & Hypervisor basedSupports Managed and Unmanaged code

Page 18: Microsoft cloud 101

Windows Azure Web Role

n identical instances of a single roleEx: Highly scalable web application

Store

Front End RoleLB

APIConfiguratio

n

n

Page 19: Microsoft cloud 101

Windows Azure Web and Worker Roles

Queue enables async, reliable processingEx: Video encoding application

Store

Front End RoleLB

Back End Role

APIConfiguratio

n

APIConfiguratio

n

n m

Queue

Page 20: Microsoft cloud 101

Windows Azure Storage

Massive scale and low costDurable, available, scalable and secureRedundant copies, commodity hardware, layered architecture

Blobs: Simple interface for storing named files along with metadata for the fileTables: Structured storage. A set of entities, which contain a set of properties. PartitonableQueues: Reliable storage and delivery of messages for an application

Page 21: Microsoft cloud 101

Windows Azure Storage: Blobs

Store Large Objects (up to 50 GB each)Account/Container/Blob/Block naming

Standard REST Put/Get InterfacePutBlob(BlobName, stream, size)

Overwrites the existing blob by that name

GetBlob(BlobName, starting offset, length)DeleteBlob(BlobName)

Associate Metadata with BlobMetadata is <name, typed value> pairsSet/Get with or separate from blob data bitsUp to 8KB per blob

Page 22: Microsoft cloud 101

Streaming a Blob via Blocks

Uploading a Large Blob

10 GB Movie

Windows Azure Storage

Windows Azure Storage

Blo

ck I

d 1

Blo

ck I

d 2

Blo

ck I

d 3

Blo

ck I

d N

blobName = “MyMovie”;PutBlock(blobName, blockId1, block1Bits);PutBlock(blobName, blockId2, block2Bits);

…………PutBlock(blobName, blockIdN, blockNBits);

PutBlockList(blobName, blockId1,

…,blockIdN);

MyMovie

MyMovie

Benefit: • Efficient continuation

and retry • Parallel and out of

order upload of blocks

22

Page 23: Microsoft cloud 101

Windows Azure Storage: Tables

Page 24: Microsoft cloud 101

Windows Azure Storage: Tables

Structured storage in the form of TablesA Table is a set of entities (rows)An Entity is a set of properties (columns)

NamespaceAccount Name– Table Name

Entity (PartitionKey, RowKey)Table Name

You give a unique name to each Table, which is scoped by AccountAn account can create many tables

Focus is to provide Scalable Structured Storage via TablesNot a relational database (e.g., no foreign keys, no joins, etc)

Page 25: Microsoft cloud 101

Windows Azure Storage: Tables

Your table can grow to be billions of entities (rows) and TBs of data

The table may need to be spread across thousands of servers to handle traffic to that table

Partitioning is how we spread the table out

The Table’s entities are broken into partitions

Page 26: Microsoft cloud 101

Partition KeyDocument Name

Row KeyVersion

Column 3Modification Time

Column 4State

……….

Column NDescription

Examples Doc V2.0 8/2/2007 Current ……….

Committed version

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

FAQ Doc V1.0 5/2/2007 Current Current committed version

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

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

FAQ Doc V1.0.3 9/6/2007 Working Bob’s working version

Scaling Tables through Partitions

Table’s entities are broken up into PartitionsPartition: set of entities with same partition key value

PartitionKey – unique ID for the partition within the TableRowKey – unique ID for the row within the partitionAll Queries are sorted by Partition Key and then by Row Key

Each partition can be served by different nodes

Partition 1

Partition 2

26

Page 27: Microsoft cloud 101

Why Partition?

Entity LocalityEntities in the same partition will be stored together for efficient querying and cache locality when accessing

Table ThroughputTable Storage automatically performs partition load balancing based upon the partition key Scale to meet the traffic needs of your application

27

Page 28: Microsoft cloud 101

Windows Azure: Queues

Provides reliable queued message deliverySimple, asynchronous work dispatch via queuesThe programming semantics ensure that a message is retrieved at least once

Queue access provided via RESTAccount can contain QueuesQueue contains MessagesURL: http://<Account>.queue.core.windows.net/<QueueName>

Queues contain MessagesMessage Size <= 8 KBMessages can contain references to blob/table storage28

Page 29: Microsoft cloud 101

Queues

29

Page 30: Microsoft cloud 101

Windows Azure Developer Experience

Extends what you already know how to do!Leverages Visual Studio

3 New TemplatesFocus on Business Logic, andLeave the scalability and availability to us

SDK has The Cloud in a Box!Emulated cloud servicesSpin up multiple Roles & InstancesF5 debugging & breakpoints

No Breakpoints in the real cloud!Logging/tracing to cloud based log files

Page 31: Microsoft cloud 101

Debugging

SDK includes the Cloud “In a Box”. Emulated cloud servicesSpin up multiple Roles & InstancesF5 debugging & breakpoints

No Breakpoints in the real cloud!Logging/tracing to cloud based log files

31

Page 32: Microsoft cloud 101

Demo: The Cloud in a Box!

Page 33: Microsoft cloud 101

Windows Azure Development Fabric

33

Page 34: Microsoft cloud 101

Windows Azure Testing Modes

Page 35: Microsoft cloud 101
Page 36: Microsoft cloud 101

Deployment

36

Page 37: Microsoft cloud 101

SQL Services: SQL Data ServicesStandard T-SQL over TDS

Managed SQL Server FabricSupports most of what you are used to

Relational Schema (Tables, Indexes & Views)Stored ProceduresTriggers & ConstraintsTable Variables & Session Temp TablesNon-Distributed Transactions

Connection string change: local to cloudThere will be a per-DB max size limit

Page 38: Microsoft cloud 101

If Time Permits we will talk about

.NET ServicesAccess Control Service[Internet] Service BusWorkflow

Page 39: Microsoft cloud 101

.NET Services: Access Control Svc

Provides hosted identity and access services for organizations while allowing them to fully control it

Next-generation AD access and federation services for organization and third-party applications

Claims based access control using secure tokensBased on standards such as WS-Trust, REST and SOAP

Secure

Federated &Flexible

StandardsBased

ChallengeEnsuring secure transactions for systems in disparate security domains is crucial but difficult to implement

ADFS

COMPANY C

COMPANY B

COMPANY A

Page 40: Microsoft cloud 101

.NET Services: Service Bus

ChallengeApplications built in the cloud will need to span systems to talk to other third party apps or applications that are on premise

APPLICATION CAPPLICATION BAPPLICATION A

APPLICATION D

INTERNET SERVICE BUS

Applications can connect securely across firewalls and org boundaries in a loosely coupled, federated manner

Request - Response, and publish subscribe with multiple senders and receivers on a single rendezvous point

low footprint download built using standards such as HTTP, RSS, SOAP

Federated

Powerful

Simple

Page 41: Microsoft cloud 101

ServiceClient

RelayedConnection

Connect Open

Authenticate

Authenticate

1

3

24

Identity Service

Connectivity Service

Trust

Service Bus (WCF Relay Bindings)

DirectConnection(optional)

5

6

41

Page 42: Microsoft cloud 101

.NET Services: Workflow

ChallengeAs activities are offloaded to the cloud, how do you do long running multi step activities driven by events

Visual Studio

XAML

Application A

Enables you to create workflows without worrying about deployments

Uses similar programming model as on-premises workflows

Enables cross-organization and cross-trust domain workflows

Agility

Simplicity

Federated

Application B

Application C

Page 43: Microsoft cloud 101

Workflow (Update)

Windows Workflow in the cloud!XOML onlyRestricted list of allowed activities

Basic “process orchestration” between parties

HttpReceiveHttpSendServiceBusSendXPathReadXPathUpdate

Basic copy/paste deploymentCan also be done via an API

43

Page 44: Microsoft cloud 101

Workflow

44

Page 45: Microsoft cloud 101

CTP Temporary Limitations (Updt)

Only in one data centerAccess token expiration based on inactivityQuota based account suspension, but arrangements can be made for exceptionsSupport limited to:

ForumsLimited incident support

45

Page 46: Microsoft cloud 101

CTP Temporary Limitations (Updt)

VMs provided1 Core 1.9GHZ2 GB memory160 GB local storage (non-persistent)

2 role instances8 VMs in simultaneous use per account2 role instances x 2 roles x 2 tenants (staging and production). This will not be a limitation of the final release. 

Page 47: Microsoft cloud 101

CTP Temporary Limitations (Repl)

50 GB of storage across all Authorities1000 Containers per Authority 1 GB of Blob Entities per Container100 MB of Flexible Entities per ContainerEach Blob Entity will be capped at 100mb

 

Page 48: Microsoft cloud 101
Page 49: Microsoft cloud 101

Sounds great! What should I do next?

Download the Visual Studio tools & SDKDevelop and test locallyStart experimenting now

Get access to the real CloudSign up for an accountDeploy your application to the cloud Test it out

Give us feedback!Help us “shape the cloud”

Page 50: Microsoft cloud 101

Microsoft ®

Your Potential, Our Passion