Top Banner
Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft [email protected] Blog: blogs.msdn.com/billzack
52

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

Dec 26, 2015

Download

Documents

Derick Pitts
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Cloud Computing 360

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

Page 2: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

WhoAmI?

Founder and Co Moderator: New York City .NET Developers GroupFounder and President New York chapter: International Association of Software Architects (IASA)Sponsor of the New York Azure User GroupAuthor of several books and white paperBlogger on Cloud Services

http://blogs.msdn.com/billzack

Architect Evangelist for Microsoft

Page 3: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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

www.azureusergroup.com

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

Page 4: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Additional Resources

The Azure Services Portalhttp://azure.com

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

Page 5: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Who is the Azure™ Services Platform for?

Anyone building scalable available services

EntrepreneursISVs (large and small)Web startupsHobbyistsetc.

Page 6: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 7: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 8: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Microsoft Cloud Services Overview

Three categories:Online (+)LiveAzure Services Platform

Page 9: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 10: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 11: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.
Page 12: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 13: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Azure™ Services Platform

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

SQL ServicesSQL Data Services

.NET ServicesAccess ControlService BusWorkflow

13

Page 14: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Windows Azure Service Management

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

Availability & DurabilityFault DomainsUpdate Domains

Geo-Distribution

Page 15: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 16: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Provisioning Services

16

Page 17: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.
Page 18: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Windows Azure Compute

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

InstancesScalabilityDistributionLean OS & Hypervisor basedSupports Managed and Unmanaged code

Page 19: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Windows Azure Web Role

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

Store

Front End RoleLB

APIConfiguratio

n

n

Page 20: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 21: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 22: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 23: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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

23

Page 24: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Windows Azure Storage: Tables

Page 25: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 26: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 27: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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

27

Page 28: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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

28

Page 29: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 storage29

Page 30: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Queues

30

Page 31: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 32: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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

32

Page 33: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Demo: The Cloud in a Box!

Page 34: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Windows Azure Development Fabric

34

Page 35: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Windows Azure Testing Modes

Page 36: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.
Page 37: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Deployment

37

Page 38: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 39: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

If Time Permits we will talk about

.NET ServicesAccess Control Service[Internet] Service BusWorkflow

Page 40: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

.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 41: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

.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 42: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

ServiceClient

RelayedConnection

Connect Open

Authenticate

Authenticate

1

3

24

Identity Service

Connectivity Service

Trust

Service Bus (WCF Relay Bindings)

DirectConnection(optional)

5

6

42

Page 43: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

.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 44: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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

44

Page 45: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Workflow

45

Page 46: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

CTP Temporary Limitations (Updt)

Only in Two US data centers so farAccess token expiration based on inactivityQuota based account suspension, but arrangements can be made for exceptionsSupport limited to:

ForumsLimited incident support

46

Page 47: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 48: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 49: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.
Page 50: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

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 51: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Security White Papers & Blog

Securing Microsoft’s Cloud Infrastructure Security in Microsoft Business Productivity Online Suite Securing Microsoft’s Cloud Infrastructure

Page 52: Cloud Computing 360 Bill Zack, Architect Evangelist, Microsoft wzack@microsoft.com Blog: blogs.msdn.com/billzack.

Microsoft ®

Your Potential, Our Passion