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