lap around the windows azure platform - ericnel

37
Page 1 Eric Nelson | ISV Application Architect | Microsoft UK [email protected] | http://bit.ly/ericnelson | http://twitter.com/ericnel Lap around the Windows Azure Platform

Upload: eric-nelson

Post on 13-May-2015

2.046 views

Category:

Technology


5 download

DESCRIPTION

Overview session delivered at uktechdays 5th Oct 2010. This was a jam packed 45min session.

TRANSCRIPT

Page 1: Lap around the Windows Azure Platform - ericnel

Page 1

Eric Nelson | ISV Application Architect | Microsoft UK

[email protected] | http://bit.ly/ericnelson | http://twitter.com/ericnel

Lap around the Windows Azure Platform

Page 2: Lap around the Windows Azure Platform - ericnel

Page 2

Assumption

• Most of you are pretty new to the Windows

Azure Platform

• If you are not, check out: – http://bit.ly/azuretrenchesbookvol1

– http://ukazure.ning.com/events

– Including two weeks of free training

• Starting October 11th

– And three track online conference

• October 8th

Page 3: Lap around the Windows Azure Platform - ericnel

Page 3

Agenda Overview of the Windows Azure Platform

• Overview of the platform

• Compute

• Data

• SQL Azure Labs

Summary and Next Steps

Page 4: Lap around the Windows Azure Platform - ericnel

Page 4

Overview

Page 5: Lap around the Windows Azure Platform - ericnel

Page 5

Windows Azure Platform

makes it easy and cost effective

to run your applications

and store your data

inside Microsoft Data Centres

using existing skills

and integrate with

your existing on-premise applications

Page 6: Lap around the Windows Azure Platform - ericnel

Page 6

Windows Azure Platform

Page 7: Lap around the Windows Azure Platform - ericnel

Page 7

You do most of your development locally

Page 8: Lap around the Windows Azure Platform - ericnel

Page 8

Your code runs in Hosted Services made up of Roles

Page 9: Lap around the Windows Azure Platform - ericnel

Page 9

Your Roles are code + configuration

Page 10: Lap around the Windows Azure Platform - ericnel

Page 10

You choose which type(s) of Role to run your code in

Page 11: Lap around the Windows Azure Platform - ericnel

Page 11

Load

Balancer

At runtime you can have multiple instances of your Roles

http://yourapp.cloudapp.net

Page 12: Lap around the Windows Azure Platform - ericnel

Page 12

You store your data in Windows Azure Storage

Page 13: Lap around the Windows Azure Platform - ericnel

Page 13

And/or you store your data in SQL Azure

Page 14: Lap around the Windows Azure Platform - ericnel

Page 14

Demo

Page 15: Lap around the Windows Azure Platform - ericnel

Page 15

Bringing it all together Azure Account

Subscription 1 Subscription 2

SQL Azure App Fabric

Subscription 3

Market

Place

Windows

Azure

SQL Azure

Server

Storage Hosted

Services

DB DB

http://yourstorage1.

XXX.core.windows.ne

t/

http://yourstorage2.

XXX.core.windows.ne

t/

Blob Queue Table Drive

…..

Single Billing

Relationship

http://yourapp1.clou

dapp.net

http://yourapp2.clou

dapp.net

Worker

Role Web Role

Page 16: Lap around the Windows Azure Platform - ericnel

Page 16

You have many choices for data

Relational Database

Structured Storage

Unstructured Storage

NTFS Drive

Service Communication

Page 17: Lap around the Windows Azure Platform - ericnel

Page 17

Side by Side Evaluation

Single Blob Drive Queue Table

Single SQL

Azure

Database

Structured Data Y Y

Relational Database Y

Server Side Processing Y

Direct Access from outside

Azure Y Y Y Y

Messaging Infrastructure Y

Persistent Storage Y Y 1 week Y Y

Size Limit 200 GB/ 1

TB 1 TB 100 TB 100 TB 50 GB (*)

Page 18: Lap around the Windows Azure Platform - ericnel

Page 18

SQL Azure Labs

Page 19: Lap around the Windows Azure Platform - ericnel

Page 19

Demo

Page 20: Lap around the Windows Azure Platform - ericnel

Page 20

Summary

• Very easy to get going… but lots to learn

• Plenty of early adopters, therefore

– Good best practice are now appearing

– Plenty of detail to dig into

• Lots more coming

Page 21: Lap around the Windows Azure Platform - ericnel

Page 21

NEXT STEPS

For latest slides and all the links http://bit.ly/ericnelson

For more resources and information http://bit.ly/startazure

As an ISV intending to explore/adopt azure, sign up to http://bit.ly/ukmpr

and come along and meet with us http://blogs.msdn.com/b/ukisvdev

Eric Nelson | ISV Application Architect | Microsoft UK [email protected] | http://bit.ly/ericnelson | http://twitter.com/ericnel

Page 22: Lap around the Windows Azure Platform - ericnel

Page 22

Screens

Page 23: Lap around the Windows Azure Platform - ericnel

Page 23

SQL Azure Labs

Page 24: Lap around the Windows Azure Platform - ericnel

Page 24

OData

Page 25: Lap around the Windows Azure Platform - ericnel

Page 25

OData

Page 26: Lap around the Windows Azure Platform - ericnel

Page 26

Data Sync

Page 27: Lap around the Windows Azure Platform - ericnel

Page 27

Data Sync

Page 28: Lap around the Windows Azure Platform - ericnel

Page 28

Data Sync

Page 29: Lap around the Windows Azure Platform - ericnel

Page 29

Data Sync

Page 30: Lap around the Windows Azure Platform - ericnel

Page 30

Houston

Page 31: Lap around the Windows Azure Platform - ericnel

Page 31

Houston

Page 32: Lap around the Windows Azure Platform - ericnel

Page 32

Houston

Page 33: Lap around the Windows Azure Platform - ericnel

Page 33

Appendix

Page 34: Lap around the Windows Azure Platform - ericnel

Page 34

Azure Drive (X-Drive)

• Access to a Local Drive in Azure

• Enables existing applications using NTFS to easily migrate to the cloud

• Essentially a Page Blob formatted as NTFS

– Remote Access via Page Blob Interface

• Durable NTFS volume [upto 1TB] for Windows Azure Applications

• Drives in the Cloud are only mountable by VMs within Cloud

– Mounted by one VM at a time for read/write

– A VM can dynamically mount up to 16 drives

Page 35: Lap around the Windows Azure Platform - ericnel

Page 35

Page Blob

Azure Drive

Local Cache

Application

Drive

X:

Azure Drive - Scenario

• The Application Mounts a Drive

• Mount obtains a Blob Lease

• Mount specifies size of Local Cache

• NTFS Writes update the – Blob Store & then the Local Cache

• NTFS Reads can be served from – Local Cache or

– Blob Store (cache miss)

Lease

Page 36: Lap around the Windows Azure Platform - ericnel

Page 36

Azure Table and SQL Azure Table

Feature Azure Table SQL Azure Table

Partitioning

& Scale

Implicit based on Partition Key

Explicitly managed by the Application

(Sharding – future feature)

Index

Capabilities

Table indexed on Partition Key + Row

Key

0 Secondary Indexes

1 Clustered Index on any column

999 Secondary Indexes

Table Limits

Row Size – 1 MB

Column Limit – 255

Table Limit – 100TB

Row Size – 8MB

Column Limit – 1024

Table Limit - ~50GB

Transactions

Transactions on entities within partition

No Transactions across tables or

partitions

Up to 100 operations in a Transaction

Payload upto 4MB per Transaction

Fully compatible transactional semantics

with SQL Server.

No cross Database transactions

Consistency

Model Transactionally Consistent Transactionally Consistent

Concurrency Single Optimistic Concurrency Strategy Full range of isolation and concurrency

models as supported by RDBMS

Page 37: Lap around the Windows Azure Platform - ericnel

Page 37

Azure Table and SQL Azure Table

Feature Azure Table SQL Azure

Data

Access REST API, ADO .NET, Client Library SDK

Standard tools and APIs apply

SSMS, Visual Studio, ADO .NET, ODBC

Column

Types Basic Types Usual SQL Server Data Types

Portability Data portability coming with Windows Azure

Appliance

Data in SQL Azure similar to SQL Server

- Easy migration in and out of the

cloud

- Use multi stream transfer to

mitigate network latency.

Queries

Upto 1000 entities [token pagination]

Beyond 5 sec – return continuation token

Queries by partition & row key are fast

No Custom Indexes Today

Non key queries are scans

Query capabilities as per standard SQL

Server database expectations

Offer Server Side Processing through

Stored Procedures and Complex

Queries

(Aggregation, Joins, Sorts, Filters, etc.)