Transcript MCC Azurex

Scott Zimmerman
Solutions Architect, SOA/.NET/Azure/BizTalk
Agenda
 Overview of Azure Services Platform
 Windows Azure
 Storage: Tables, Queues, BLOBs
 Compute: Web Role, Worker Role
 Azure Services Platform Infrastructure
 Getting Started
 Quick Tour
 Q&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,000
B: 12 * $12,000 = $144,000
Hypothetical savings = $60,000
Windows Azure is a cloud OS
Scalability, Security, Interoperability
Microsoft forecasts half of Exchange, SharePoint, and Dynamics CRM
revenue coming from online versions within five years.
Accelerating Business Productivity Optimization
Business Productivity Online Suite
Basic
Basic e-mail &
traditional phone
File Share collaboration
and ad hoc teaming
Standardized
Rationalized
Dynamic
Unified Communications
Integrated, softwarepowered business
communications
Collaboration
Federated collaboration
outside the firewall
Continuum of Services
Cloud 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
AzureHosted:
Standard apps
(Exchange, SQL,
SharePoint);
Distributed apps;
Dynamically
scalable apps
Azure Services Platform
™
Write Applications for Windows Azure
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
Worker Role
Web Role
User
Queues,
Tables,
BLOBs
Application
Cloud
On
Premise
Should every developer in your company start
using cloud services?
Azure Web
Role
Azure
Storage
.NET
Services
SDS
BizTalk Server 2009
Geneva
Compose, Aggregate, Transform, Connect,
Publish, Monitor, Govern
SharePoint
SQL
Server
SAP
Oracle
Peoplesoft
Live
Services
AD
Siebel
Custom
Apps…
Windows Azure Architecture
LB
Internet
WebSite
Site
Web
(ASPX, ASMX,
Web
(ASPX, Site
ASMX,
Worker
Worker
Service
Service
WCF)
(ASPX,
WCF)
WCF)
Your Service
Queue
LB
Blobs
Tables
Storage
Windows Azure Datacenter
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 async
delivery of messages for an application.
Windows Azure Storage Concepts
Container
Blobs
http://<account>.blob.core.windows.net/<container>
Account
Table
Entities
http://<account>.table.core.windows.net/<table>
Queue
Messages
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 GB
 Containers can be “Public Read” or “Private”
 PutBlock… PutBlock… PutBlockList
 Blocks can go out of order and/or in parallel
Blob Storage Concepts
Account
Container
pictures
Blob
Block
IMG001.
JPG
IMG002.
JPG
sally
Block 1
movies
MOV1.AVI
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 Tables
 Provides Structured Storage
 Massively Scalable Tables
 Billions of entities (rows) and TBs of data
 Automatically scales to thousands of servers as traffic grows
 Durable
 Data replicated at least 3 times (in different domains)
 Familiar and Easy to use Programming Interfaces
 ADO.NET Data Services and LINQ – .NET 3.5 SP1
 REST - with any platform or language
Windows Azure Table Capabilities
What tables can do
What tables don’t do







Not relational
No Referential Integrity
No Joins
Limited Queries
No Group by
No Aggregations
No Transactions




Cheap
Very Scalable
Flexible
Durable
Table Data Model
 Table
 Each account can create many tables
 Just insert into a master table called "Tables“ (per
account)
 Data is stored in Tables
 A 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 Key
 It is the first property (column) of your Table
 Used 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 Example
Partition Key Row Key Property 3
Document
Version Modification
Name
Time
… Property N
Description
Examples Doc V1.0
8/2/2007
… Committed version
Examples Doc V2.0.1
9/28/2007
Partition
1
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 Partition
FAQ Doc
V1.0.2
8/1/2007
Sally’s working version
2
• Get all versions of FAQ Doc is fast (single partition)
• Get all documents before 9/1/2007 takes longer
Getting Started Example
Requirements
Employees at WorldWide Palindrome need to
reverse strings.
2. They need a web page to submit strings to
Windows Azure and view results.
1.
Use Cases
1.
2.
3.
4.
5.
User:
User:
User:
User:
User:
create workspace
submit string
get results
delete record
delete workspace
UML Sequence Diagram
User
Web
Role
Queue
Worker
Role
Table
Create Workspace
Create Table
Submit String
Enqueue String
Dequeue String
Insert Reversed String
View Results
Query
Results
.NET or REST
ADO.NET Data Services
REST Interface
 Use .NET 3.5 SP1
 Use any HTTP stack
 Data represented as .NET
 Data represented in Atom
objects
 Use DataServiceContext
methods for updates
 Use LINQ to define queries
 Richer error codes
(XML)
 Use HTTP verbs for
updates
 Use URLs to define queries
 Standard HTTP errors
Windows Azure Service Lifecycle
Goal is to automate life cycle as much as possible
Coding &
Modeling
Provisioning
• New services
and updates
•Desired
configuration
Developer
Developer/
Deployer
Deployment
• Mapping and
deploying to
actual
hardware
• Network
configuration
Automated
Maintain
goal state
• Monitor
• React to
events
Automated
Windows Azure Automation
 Fabric Controller (FC)
“What”
is
needed
 Maps declarative service
specifications to
available resources
 Manages service life cycle
starting from bare metal
 Maintains system health
and satisfies SLA
Fabric
Controller
Make it
happen
 What’s special about it
 Model-driven
service management
 Enables utility-model
shared fabric
 Automates hardware
management
Fabric
Loadbalancers
Switches
Windows Azure Compute Instance
 Community Tech Preview (CTP) offers one virtual
machine type
 Platform: 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
Fault/Update Domains
 Fault domains are based on the topology
of the data center
 Statistical in nature
Fault domains
 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
Allocation is across
fault domains
Getting Started
1. 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
Quick Tour
Q&A
1.
2.
3.
4.
5.
6.
7.
Please visit Azure.com
Get a token
Install SDK
Read white papers
Watch PDC and MIX videos
Get sample code in “Azure Training Kit”
Create your application