scott zimmerman solutions architect, soa/.net/azure/biztalk

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

Upload: nelson-ward

Post on 27-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 2: Scott Zimmerman Solutions 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

Page 3: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 4: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 5: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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.

Page 6: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 7: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 8: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

ServiceBus

AccessControl

Workflow

Database

Reporting

Analytics

Compute Storage Manage

Identity

Devices

Contacts

Your Applications

Azure™ Services Platform

Page 9: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

Write Applications for Windows Azure

Microsoft Visual StudioDevelopment Environment

Coming Soon

Your CloudApplication

Developers

End Users

Page 10: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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.

Page 11: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

Windows Azure: many design options

Web Role

Worker Role

Queues, Tables, BLOBs

User ApplicationOn Premise

Cloud

Page 12: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 13: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 14: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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.

Page 15: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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>

Page 16: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 17: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

Blob Storage Concepts

BlockBlobContainerAccoun

t

sally

pictures

IMG001.JPG

IMG002.JPG

movies MOV1.AVI

Block 1

Block 2

Block 3

Page 18: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 19: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 20: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 21: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 22: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 23: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 24: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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.

Page 25: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 26: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

.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

Page 27: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 28: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 29: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 30: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 31: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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

Page 32: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

Quick Tour

Page 33: Scott Zimmerman Solutions Architect, SOA/.NET/Azure/BizTalk

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