Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk.

Post on 27-Dec-2015

223 views 0 download

Tags:

Transcript of Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk.

Scott ZimmermanSolutions Architect, SOA/.NET/Azure/BizTalk

AgendaOverview of Azure Services PlatformWindows Azure

Storage: Tables, Queues, BLOBsCompute: Web Role, Worker Role

Azure Services Platform InfrastructureGetting StartedQuick TourQ&A

We’re running scale services now 2B Live Search queries/month 30B Live ID authentications/month 240B Messenger messages/month

We’re building to run your services $500 million per data center 10,000 servers/month

What’s in it for me?Suppose competitors A and B have similar systems to merge

flat files from their branch locations each night, and display aggregate results in web applications.

Both systems have an isolated operations cost (including administration, data management, computing, storage, security, power, and insurance) of $12,000/month.

The CIO at Company A is converting her system to cloud computing. It will take 3 months to implement, at a cost of $13,000/month.

Then her operations cost will drop to $1,000/month. Will she save money the first year?

A: 3 * $12,000 + 3 * $13,000 + 9 * $1000 = $84,000B: 12 * $12,000 = $144,000

Hypothetical savings = $60,000

Azure™ Services Platform

Windows Azure is a cloud OSScalability, Security, Interoperability

Microsoft forecasts half of Exchange, SharePoint, and Dynamics CRM revenue coming from online versions within five years.

Standardized

StandardizedDynamic

DynamicRationalized

Rationalized

Accelerating Business Productivity Optimization

Integrated, software- powered business communications

Unified Communications

Federated collaboration outside the firewall

Collaboration

Business Productivity Online Suite

Basic

Basic

Basic e-mail & traditional phone

File Share collaboration and ad hoc teaming

Continuum of ServicesCloud services have greater economies of scale,

but less flexibility.

S+S = Hybrid Approach

In-House:Custom

applications with

competitive advantages; low latency required; firewall

incompatible

Azure-Hosted:

Standard apps (Exchange,

SQL, SharePoint); Distributed

apps;Dynamically

scalable apps

ServiceBus

AccessControl

Workflow

Database

Reporting

Analytics

Compute Storage Manage

Identity

Devices

Contacts

Your Applications

Azure™ Services Platform

Write Applications for Windows Azure

Microsoft Visual StudioDevelopment Environment

Coming Soon

Your CloudApplication

Developers

End Users

Windows Azure Compute

Web Role – Provides internet access to ASP.NET user interface or web service.

Worker Role – Provides back-end

computing service, e.g. number crunching.

Windows Azure: many design options

Web Role

Worker Role

Queues, Tables, BLOBs

User ApplicationOn Premise

Cloud

Should every developer in your company start using cloud services?

Azure Web Role

BizTalk Server 2009Compose, Aggregate, Transform, Connect,

Publish, Monitor, Govern

SharePoint

SQL Server

Siebel

Peoplesoft

SAPOracl

eCustom Apps…

Geneva

AD

.NET Services

Live Services

Azure Storage

SDS

Windows Azure Datacenter

Your Service

Windows Azure Architecture

LB

Internet

Web Site(ASPX, ASMX,

WCF)

Web Site(ASPX, ASMX,

WCF)Web Site(ASPX, WCF)

Worker ServiceWorker Service

LB

StorageTables

Blobs

Queue

Windows Azure Storage

Blobs – Provide a simple interface for storing files and 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 asyncdelivery of messages for an application.

Account

Container Blobs

Table Entities

Queue Messages

Windows Azure Storage Concepts

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

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

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

Windows Azure BLOBs

BLOBs are for storing files

BLOBs consist of 1 or more blocks (of variable size you choose)

Blocks provide continuation (in case of network failures) for BLOB upload

Max block size <= 4 MB

Max BLOB size <= 50 GBContainers can be “Public Read” or

“Private”PutBlock… PutBlock… PutBlockListBlocks can go out of order and/or in

parallel

Blob Storage Concepts

BlockBlobContainerAccoun

t

sally

pictures

IMG001.JPG

IMG002.JPG

movies MOV1.AVI

Block 1

Block 2

Block 3

Windows Azure Queues

An Account can create many Queues

Queue contains unlimited number of Messages

Message is stored for at most a week

Message Size <= 8 KB (point to BLOB or Table for more)

When pulling a Message, specify InvisibilityTime

InvisibilityTime <= 2 hours

Messages should be IDEMPOTENT

Windows Azure TablesProvides Structured Storage

Massively Scalable Tables Billions of entities (rows) and TBs of data Automatically scales to thousands of servers as traffic

growsDurable

Data replicated at least 3 times (in different domains)

Familiar and Easy to use Programming InterfacesADO.NET Data Services and LINQ – .NET 3.5

SP1REST - with any platform or language

Windows Azure Table Capabilities

What tables don’t do

Not relationalNo Referential Integrity

No JoinsLimited Queries

No Group byNo AggregationsNo Transactions

CheapVery Scalable

FlexibleDurable

What tables can do

Table Data ModelTable

Each account can create many tablesJust insert into a master table called "Tables“ (per

account)

Data is stored in TablesA Table is a set of Entities (rows)An Entity is a set of Properties (columns)

Entity (row)Two “key” properties are together the unique ID of

the entity in the Table PartitionKey – enables scalability RowKey – uniquely identifies the entity within the partition

Partition Key And Partitions

Every Table has a Partition KeyIt is the first property (column) of your

TableUsed to group entities in the Table into

partitions—for physical storage optimization

A Table Partition All entities in a Table with the same

partition key value

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 Example

Partition 1

Partition 2

• Get all versions of FAQ Doc is fast (single partition)

• Get all documents before 9/1/2007 takes longer

Getting Started Example

Use Cases1. User: create workspace2. User: submit string3. User: get results4. User: delete record5. User: delete workspace

Requirements1. Employees at WorldWide Palindrome need to

reverse strings.2. They need a web page to submit strings to

Windows Azure and view results.

UML Sequence DiagramTable

Create Workspace

Submit String

Results

Worker Role

Web Role

User

Create Table

Enqueue String

Insert Reversed String

View Results

Query

Queue

Dequeue String

.NET or REST

Use .NET 3.5 SP1Data represented

as .NET objectsUse DataServiceContext

methods for updatesUse LINQ to

define queriesRicher error codes

Use any HTTP stackData represented

in Atom (XML)Use HTTP verbs for

updatesUse URLs to

define queriesStandard HTTP errors

ADO.NET Data Services

REST Interface

Windows Azure Service LifecycleGoal is to automate life cycle as much as possible

Coding & Modeling

• New services and updates

Provisioning

• Desired configuration

Deployment

• Mapping and deploying to actual hardware

• Network configuration

AutomatedAutomatedDeveloper Developer/Deployer

Fabric Controller (FC) Maps declarative

service specifications to available resources

Manages service life cycle starting from bare metal

Maintains system health and satisfies SLA

What’s special about itModel-driven

service management Enables utility-model

shared fabricAutomates hardware

management

Windows Azure Automation

“What” is

needed

Make it happen

Fabric

SwitchesLoad-

balancers

Fabric Controller

Community Tech Preview (CTP) offers one virtual machine typePlatform: 64-bit Windows Server 2008

CPU: 1.5-1.7 GHz x64

Memory: 1.7 GB

Network: 100 Mbps

Transient local storage: 250 GB

Windows Azure storage also available: 50 GB

Windows Azure Compute Instance

Fault domains are based on the topology of the data center

Statistical in nature

Update domains are determined by what percentage of your service you will take out at a time for an upgrade

System considers fault domains when allocating service roles

System considers update domains when upgrading a service

Fault/Update Domains

Allocation is across fault

domains

Fault domains

Getting Started

1. Please visit Azure.com2. Get a token3. Install SDK4. Read white papers5. Watch PDC and MIX videos6. Get sample code in “Azure Training

Kit”7. Create your application

Quick Tour

Q & A1. Please visit Azure.com

2. Get a token

3. Install SDK

4. Read white papers

5. Watch PDC and MIX videos

6. Get sample code in “Azure Training Kit”

7. Create your application