Sky High With Azure

90
Take Your Applications Sky High with Cloud Computing and the Windows Azure Platform Clint Edmonson Architect Evangelist Microsoft http://www.notsotrivial.net

description

Join us for a deep dive into Windows Azure. We’ll start with a developer-focused overview of this brave new platform and the cloud computing services that can be used either together or independently to build amazing applications. As the day unfolds, we’ll explore data storage, SQL Azure™, and the basics of deployment with Windows Azure. Register today for these free, live sessions in your local area.

Transcript of Sky High With Azure

Page 1: Sky High With Azure

Take Your Applications Sky High with Cloud Computing and the Windows Azure Platform

Take Your Applications Sky High with Cloud Computing and the Windows Azure Platform

Clint EdmonsonArchitect EvangelistMicrosofthttp://www.notsotrivial.net

Page 2: Sky High With Azure

Sessions

Session 1 – Introduction to Windows Azure

Session 2 – Azure Data Storage Options

Session 3 – Construction to Deployment

Page 3: Sky High With Azure

Session 1:Introduction to Windows Azure

Session 1:Introduction to Windows Azure

Page 4: Sky High With Azure

Agenda

Understanding Windows Azure Core Services Getting Started Roles Developing Azure Applications

Page 5: Sky High With Azure

Agenda

Understanding Windows Azure Core Services Getting Started Roles Developing Azure Applications

Page 6: Sky High With Azure

What is Cloud Computing?

• A New Style of Computing Utility Model with Consumption Based

Pricing• Hosting, Storage, Database, Other

Services• Software as a Service (SaaS)• On-Demand Scale - Mammoth Capacity• High Availability and Reliability• Self-Service Management• Real and Here to Stay Additive to the Enterprise, Not Replacing

Page 7: Sky High With Azure

Why Are We Here?Because Cloud Computing is Huge

For Microsoft:

1 billion: Windows Live ID authentications each day

3 to 4 billion: the # of emails filtered daily from >6 million mail boxes by Forefront

2 billion: the # of queries each month on Bing

450 million: Hotmail users (now 15 years old)

100 million: users that get Windows Update worldwide, (now 12 years old)

20 million: Xbox Live users (now 9 years old)

+400,000: square footage of our new datacenters

For You:

A new paradigm

in computing

Page 8: Sky High With Azure

Platform Continuum

• Bring your own machines, connectivity, software, etc.

• Complete control• Complete

responsibility• Static capabilities• Upfront capital costs

for the infrastructure

• Renting machines, connectivity, software

• Less control• Fewer

responsibilities• Lower capital costs • More flexible• Pay for fixed

capacity, even if idle

• Shared, multi-tenant infrastructure

• Virtualized & dynamic

• Scalable & available• Abstracted from the

infrastructure• Higher-level services• Pay as you go

On-PremisesServers

Hosted Servers

Cloud Platform

Page 9: Sky High With Azure

IaaS, PaaS and IaaS

Infrastructure as a Service Platform as a Service Software as a Service

InfrastructureServers · Storage ·

Network

IaaSPlatform

OS & Application Stack

InfrastructureServers · Storage ·

Network

PaaSApplications

Packaged Software

PlatformOS & Application Stack

InfrastructureServers · Storage ·

Network

SaaS

Page 10: Sky High With Azure

Enterprise to Cloud

Corporate &Departmental Applications

Consumer to Cloud

Publicly AccessibleWeb Sites, e-

Stores & ISV SaaS Applications

Cloud Computing Examples

Hub Between Multiple

Companies

Enterprise to Enterprise

Company A Company BCompany

Page 11: Sky High With Azure

Driving Forces

ISVs & SaaS Applications Mid-Market Enterprise Enterprise Application Migration Start-ups & Experimental Initiatives Cloud Seen as a Fast Lane to Get to

Market Faster Seasonal Businesses Under Pressure to Dramatically Reduce I.T.

Costs Cloud Seen as a Competitive Edge

Page 12: Sky High With Azure

When is the Cloud Compelling?

App Characteristic Example

Massive scale Outback promo on Facebook

High reliability eCommerce apps (Coke, Dominos)

Variable load Online tax preparation (CCH)

Unpredictable lifetime Hurricane relief site

Requiring parallel processing Genome sequencing

Scale fast or fail fast Web sites (Kelley Blue Book)

Not good fit for in-house data center

Frequently updated app

Needing external storage Online video archive

No desire to manage infrastructure

SaaS apps (Quark’s Promote app)

Page 14: Sky High With Azure

Windows Azure

Fabric – Service Management Infrastructure

Hosting – Applications, Web Services, Workers

Storage – Blobs, Queues, Tables, X Drives Frictionless Upgrades

Compute Storage Management

Compute Storage Management

ManagementRelational data Connectivity Access control

Page 15: Sky High With Azure

SQL Azure

Core Database Functionality, Subset of SQL Server 2008

Database available in limited sizes 1GB, 10GB

Management SQL Data Sync

ManagementRelational dataCompute Storage Management

ManagementRelational data Connectivity Access control

Page 16: Sky High With Azure

Windows Azure AppFabric

Service Bus Access Control Service Management

Compute Storage Management

ManagementRelational data Connectivity Access control

Page 17: Sky High With Azure

Windows Azure Cloud Fabric

Multiple virtual instances Easy provisioning of applications Detect failures Spin up new instances to replace the failed

ones How many instances and what role they

will play Load balances and DNS Elasticity of the service… scaling up/down

number of instances

Page 18: Sky High With Azure

Windows Azure DevFabricLocal Developer Simulation of AppFabric

Simulated “Cloud Experience” for Development Routes cloud requests to local machine Simulates data storage with local SQL server

database Azure SQL simulated with local SQL Server

database

Page 19: Sky High With Azure

Windows Azure Roles

Web Role A web role is used for web application

programming in ASP.NET or PHP Worker Role

A worker role is used for performing work on behalf of the web role.

Worker Roles are used to improve scalability by increasing parallelism and asynchronicity

Often used for background work and batch processing

Page 20: Sky High With Azure

DemoHello Azure

Page 21: Sky High With Azure

Windows Azure Role Details

Web Roles Define a single HTTP endpoint and a single HTTPS endpoint

for external clients Worker Roles

Define internal endpoints for HTTP, TCP May receive work from Windows Azure Storage Queues

Web and Worker Roles Can make outbound HTTP/S or .NET Framework class library

socket connections to Internet accessible resources Can access Windows Azure Storage services via REST APIs

or the Windows Azure Storage Client Library.

Page 22: Sky High With Azure

Service Management

Automated Service ManagementProvisioning, Patching, Upgrades

Fabric

Self ManagementDeploy, Promote, Scale, Upgrade

Management Portal

Programmatic ManagementProgrammatic deployments upgrades, etc. API for doing what the portal does

Management API

Page 23: Sky High With Azure

DemoLive Windows Azure Application In The Cloud

Page 24: Sky High With Azure

Application Concerns—Hardware

Server Instances Plan for peak usage scenarios Plan for redundancy to reduce down time Make up-front capital expenditures

Servers Networking / Load Balancers Software Licensing

Hardware Diagnostics & Failure Recovery Detection of failures Repair or replacement Backup parts on-hand

Page 25: Sky High With Azure

Azure Solution– Hardware

Hardware Acquisition No up-front capital expenditures Windows Azure provides redundancy Windows Azure scales to meet peak usage

Hardware Diagnostics & Failure Recovery Windows Azure detects hardware failures Windows Azure dynamically repairs itself

Page 26: Sky High With Azure

Azure Solution – Azure Network Security Network Security

Network Topology & Connectivity Created as needed from configuration

Firewall Rules & Maintenance Provided and configurable

De-Militarization Zone (DMZ) Provided

Institutional Resistance to Change Moves many security concerns to the cloud

Page 27: Sky High With Azure

Developer Experience

Leverage Existing Skills in .NET, SQL Server, WCF Use Familiar tools – Visual Studio, SSMS RESTful HTTP cloud services, supports Java, PHP,

Python Cloud apps can be developed locally / offline SDK Cloud Simulator – Dev Fabric, Dev Storage Extensive training kit with TONs of samples

Developer ExperienceUse existing skills and tools

Page 28: Sky High With Azure

Getting Started with Windows AzureThe Windows Azure Platform Portal

Provision Deploy Promote Stop/Start Scale Upgrade Delete

Page 29: Sky High With Azure

Windows Azure SDK Features

C# and VB Visual Studio project templates Windows Azure Cloud Service solution with

multiple roles. Tools to manage and configure roles Local Development Fabric Local Development Storage services Local Cloud Service debugging support Cloud Service package and deployment

builder

No SDK Required for SQL Azure

Page 30: Sky High With Azure

Conclusion

You are now Windows Azure savvy… You’ve seen Windows Azure in action… You’ve learned about the platform and its

components and core services You understand instance roles You know the tools you will need to begin You’re excited to use this new technology And you can hardly wait for session 2 on

data…

Page 31: Sky High With Azure

Q & AQ & A

Page 32: Sky High With Azure

Windows Azure Developer Platformhttp://www.microsoft.com/windowsazure/developers/

Channel 9 videoshttp://channel9.msdn.com/azure

Windows Azure Platform Training Kithttp://www.azure.com

Microsoft PDC 2009http://microsoftpdc.com/

Windows Azure SDKhttp://www.microsoft.com/windowsazure/developers/

Resources – Windows Azure Platform

Page 33: Sky High With Azure

Session 2:Azure Data Storage OptionsSession 2:Azure Data Storage Options

Page 34: Sky High With Azure

Agenda

Windows Azure Platform Data Storage Options

Getting Started with Azure Data Storage Getting Started with SQL Azure Data

Storage

Page 35: Sky High With Azure

Azure Platform Data Storage Options• Windows Azure Data Storage

• Blobs• Unstructured data storage

• Tables• Semi-structured or tabular data storage

• Queues• Buffered delivery data storage

• Drives• Durable NTFS volumes that Windows Azure

applications can use - beta launched week

• SQL Azure• Relational data storage

Page 36: Sky High With Azure

Getting Started with Windows Azure Data Storage

Page 37: Sky High With Azure

Windows Azure Data Storage

Page 38: Sky High With Azure

Account Name / Key

AccountName A unique name identifying the Azure Data Storage

AccountKey A blob of encrypted data used for authentication

Page 39: Sky High With Azure

Windows Azure Data Storage - Blobs Unstructured data storage Partitioned by container Unlimited containers

Page 40: Sky High With Azure

DemoWindows Azure Data Storage - BlobsThe GuestBook Application

Page 41: Sky High With Azure

Azure Storage Explorer

“Azure Storage Explorer is a useful GUI tool for inspecting and altering the data in your Azure cloud storage projects including the logs of your cloud-hosted applications. All three types of cloud storage can be viewed: blobs, queues, and tables.”

http://azurestorageexplorer.codeplex.com/

Page 42: Sky High With Azure

Windows Azure Data Storage – Tables (Terms Part 1)Windows Azure Table provides scalable, available, and durable structured (or semi-structured) storage in the form of tables. Table – contains a set of entities. Entity (Row) – Entities are the basic data items

stored in a table. Property (Column) – This represents a single

value in an entity. PartitionKey – The first key property of every

table. The system uses this key to automatically distribute the table’s entities over many storage nodes.

Page 43: Sky High With Azure

Windows Azure Data Storage – Tables (Terms Part 2) RowKey – A second key property for the

table. This is the unique ID of the entity within the partition it belongs to.

Timestamp – Every entity has a version maintained by the system.

Partition – A set of entities in a table with the same partition key value.

Sort Order – There is a single index provided for the CTP, where all entities in a table are sorted by PartitionKey and then RowKey

Page 44: Sky High With Azure

Windows Azure Data Storage - Tables The tables are scalable to billions of entities and

terabytes of data, and may be partitioned across thousands of servers.

The tables support ACID transactions over single entities and rich queries over the entire table.

Simple and familiar .NET and REST programming interfaces are provided via ADO.NET Data Services.

Page 45: Sky High With Azure

DemoWindows Azure Data Storage - TablesThe GuestBook Application

Page 46: Sky High With Azure

Windows Azure Data Storage - Queues Buffered delivery data storage Read at least once Delete to remove message, otherwise is

returned to queue Partitioned by Queue Name

Page 47: Sky High With Azure

DemoWindows Azure Data Storage - QueuesThe GuestBook Application

Page 48: Sky High With Azure

Windows Azure Data Storage – Drives Beta just announced this week Implemented as a page blob containing an

NTFS volume VHD Fixed size from 16 MB to 1 TB

APIs Create Drive, Initialize, Get Mounted Drives Mount, Unmount, Snapshot Read, Write

Your VMs can mount up to 16 drives

Page 49: Sky High With Azure

SQL Azure Features

Supported Tables, Indexes,

Views Stored Procedures Triggers Constraints Table Variables Temp Tables

(#Name)

Not Supported Physical Server

Access Catalog DDL Common Language

Runtime Service Broker Reporting Services Analysis Services Distributed

Transactions and Queries

Page 50: Sky High With Azure

SQL Azure

Initial Services Database – Core SQL Server database

capabilities

Future Services Data Sync – Enables the sync framework Additional SQL Server capabilities available as

a service: Business Intelligence and Reporting

New services: Reference Data and Secure Data Hub

Page 51: Sky High With Azure

SQL AzureDeployment

Web Portal(API)

SQL AzureTDS

DB Script

Page 52: Sky High With Azure

SQL AzureAccessing databases

Web Portal(API)

SQL AzureTDS

Your App

Change Connection String

Page 53: Sky High With Azure

Database Replicas

Replica 1

Replica 2

Replica 3

DB

Single Database Multiple Replicas

Single Primary

Page 54: Sky High With Azure

SQL AzureDatabase Monitoring & Recovery

Web Portal(API)

SQL AzureTDS

Your App

!

Page 55: Sky High With Azure

SQL Azure Server Creation

Page 56: Sky High With Azure

SQL Azure Firewall Maintenance

Simple rules Easy one-screen portal maintenance

Page 57: Sky High With Azure

SQL Azure Database Connection String An administrative user is created with the

server User has system administrator permissions

like sa” Server=tcp:itte80vcfq.database.windows.net

; Database=FabrikamAzureDB;User ID=SaPaulM;Password=myPassword;Trusted_Connection=False;Encrypt=True;

Page 58: Sky High With Azure

DemoSQL Azure Database Management

Page 59: Sky High With Azure

Database Management using SQL Management Studio

Page 60: Sky High With Azure

Database Migrations

Scripts Transfer Schema

Bulk Copy Program (BCP) Transfer Data

SSIS (SQL Server Integration Service) Transfer Schema and Data

Page 61: Sky High With Azure

Database Migrations (Cont.)

The SQL Azure Migration Wizard helps you migrate your local SQL Server 2005 / 2008 databases into SQL Azure. The wizard walks you through the selection of your SQL objects, creates SQL scripts suitable for SQL Azure, and allows you to migrate your data.”http://sqlazuremw.codeplex.com/

Page 62: Sky High With Azure

SQL Azure and Windows Azure Table Comparison

SQL Azure Tables Fully structured Strongly typed Relational (RDMS) Highly scalable

Windows Azure Tables Semi-structured Loosely typed Non-Relational (Not

RDMS) Massively scalable

Page 63: Sky High With Azure

Q & AQ & A

Page 64: Sky High With Azure

Resources

Azure Portal http://windows.azure.com

Tools SQL Azure Migration Wizard

http://sqlazuremw.codeplex.com/

Azure Storage Explorer http://azurestorageexplorer.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35189

Windows Azure Management Tool (MMC) http://cloudfex.com/cs/blogs/cloud/archive/2009/05/17/windows-azure-management-tool-m

mc.aspx

Windows Azure Forums http://social.msdn.microsoft.com/Forums/en-US/ssdsgetstarted/thre

ads

Page 65: Sky High With Azure

ResourcesWindows Azure Data Storage

• Haridas, Jai. “Windows Azure Tables and Queues Deep Dive”. Microsoft PDC. 2009. http://microsoftpdc.com/Sessions/SVC09

• Calder, Brad. “Windows Azure Blob Deep Dive”. Microsoft PDC. 2009. http://microsoftpdc.com/Sessions/SVC14

Page 66: Sky High With Azure

Resources – White Papers

Windows Azure Table – Programming Table Storage http://go.microsoft.com/fwlink/?LinkId=153401

Windows Azure Blob – Programming Blob Storage http://go.microsoft.com/fwlink/?LinkId=153400

Windows Azure Queue – Programming Queue Storage http://go.microsoft.com/fwlink/?LinkId=153402

Page 67: Sky High With Azure

Session 3:From Construction through Deployment

Session 3:From Construction through Deployment

Page 68: Sky High With Azure

Agenda

Build Web Application Migrate Web Application to Windows

Azure Deploy to the Cloud Migrate Data to SQL Server Migrate SQL Database to SQL Azure Deploy SQL Azure Database Migrate Web Application to the Cloud

Page 69: Sky High With Azure

Objective

Understand the process of building and deploying web applications and databases to Windows Azure and SQL Azure.

Page 70: Sky High With Azure

Part 1 - Developing and Running Application From the Local Dev FabricDevelopment Workstation

Dev FabricWeb App

The Cloud

Page 71: Sky High With Azure

DemoPart 1 - Developing and Running Application From the Local Dev Fabric

Page 72: Sky High With Azure

Part 2 - Deploy A Web ApplicationFrom Dev Fabric to Windows Azure Staging

Cloud Fabric

Staging

Production

Development Workstation

Dev Fabric

Web AppWeb App

Page 73: Sky High With Azure

DemoPart 2 – Deploy A Web ApplicationFrom Dev Fabric to Windows Azure Staging Area

Page 74: Sky High With Azure

Guest Partition

Enterprise baseVHD3

Physical Server HardwareCPU, memory, disk, and network

Maintenance OS1

Hypervisor

Host Partition

Server CoreVHD

Host Differencing

VHD

2

Guest Partition

Guest Partition

Guest Differencing

VHD

WebVHD

Service 1Bits

Server Core base VHD

Guest Differencing

VHD

WorkerVHD

Service 2Bits

Guest Differencing

VHD

WorkerVHD

Service 3Bits

4

5

6

7

Page 75: Sky High With Azure

Part 3 - Deploy A Web ApplicationFrom Windows Azure Staging to Production

Cloud Fabric

Staging

Production

Web AppWeb App

Page 76: Sky High With Azure

DemoPart 3 – Deploy Our Windows Azure Application From The Windows Azure Staging Area into Production

Page 77: Sky High With Azure

Part 4 - Developing and Running ApplicationWith SQL Server From the Local Dev Fabric

Development Workstation

Dev FabricWeb App

SQL DatabaseThe

Cloud

Page 78: Sky High With Azure

DemoPart 4 – Developing and Running Application With SQL Server From the Local Dev Fabric

Page 79: Sky High With Azure

Part 5 - Developing and Running ApplicationWith SQL Server From the Local Dev FabricDevelopment Workstation

Dev FabricWeb App

SQL Database

Cloud Fabric

Staging

Production

SQL Azure

SQL Database

Page 80: Sky High With Azure

DemoPart 5 - Developing and Running ApplicationWith SQL Azure From the Local Dev Fabric

Page 81: Sky High With Azure

Part 5 - Developing and Running ApplicationWith Windows Azure and SQL AzureDevelopment Workstation

Dev FabricWeb App

SQL Database

Cloud Fabric

Staging

Production

SQL Azure

SQL Database

Web App

Web App

Web App

Page 82: Sky High With Azure

Part 7 - Revising Application Configuration

Development Workstation

Dev FabricWeb App

SQL Database

Cloud Fabric

Staging

Production

SQL Azure

SQL Database

Web App

Web AppWeb App

Config

Page 83: Sky High With Azure

Pricing The moment you’ve all been

waiting for!

Page 84: Sky High With Azure

Elastic, scalable, secure, & highly available automated service

platform

Compute

$0.12/hour

+ Variable Instance Sizes

Per service hour

Highly available, scalable, and self managed distributed

database service

Web Edition

Per database/month

$9.99/month(up to 1 GB DB/month)

Business Edition

$99.99/month(up to 10 GB DB/month)

Per database/month Storage Per GB stored &

transactions$0.15 GB/month

$0.01/10K transactions

Windows Azure platform AppFabric Service Bus & Access ControlScalable, automated, highly available services for secure

connectivity

Access Control

$0.015/10k Message Operations

Per Message Operation $0.015/10k Message

Operations

Per Message Operation

Service Bus

Pay for computing and storage

Page 85: Sky High With Azure

Windows Azure Instance Sizes

Unit of Compute Defined

Small

$0.12

Per service hour

Medium

$0.24

Per service hour

Large

$0.48

Per service hour

X Large

$0.96

Per service hour

Variable instance sizes to handle complex workloads of any size

Small

1 x 1.6Ghz (moderate IO)

Medium

2 x 1.6Ghz (high IO)

Large

4 x 1.6Ghz (high IO)

X-Large

8 x 1.6Ghz(high IO)

Equivalent compute capacity of a 1.6Ghz processor (on 64bit platform)

1.75 GB memory

3.5 GB memory 7.0 GB memory 14 GB memory250 GB storage(instance storage)

500 GB storage(instance storage)

1000 GB storage

(instance storage)

2000 GB (instance storage)

Pay per “processor”

Page 86: Sky High With Azure

North America Region

S. Central - US Sub-region

N. Central – US Sub-region

Europe Region

W. Europe Sub-region

S.E. AsiaSub-region

Asia Pacific Region

E. AsiaSub-region

$0.10 GB Ingress

$0.15 GB Egress

$0.10 GB Ingress

$0.15 GB Egress

$0.30 GB Ingress

$0.45 GB Egress

N. Europe Sub-region

Windows Azure Platform Data Transfer Priced per GB transferred/month (prices shown in USD)

No Charge For Off Peak Ingress Promotion (ends 6/30/10)

On-board to Windows Azure platform at no charge Off peak times defined as: 10pm-6am Mon-Fri & from 10pm-Fri to 6am-Mon for weekends in each designated regional time zones

below North America

PST = UTC-8 Europe

WET = UTCAsia Pacific

SST = UTC+8

Pay for data transfer in & out

Page 87: Sky High With Azure

Q & AQ & A

Page 88: Sky High With Azure

Resources - Deployments

Kerner, Mathew. “Windows Azure Diagnostics, Logging and Monitoring in the Cloud.” Microsoft PDC. 2009. http://microsoftpdc.com/Sessions/SVC15

Page 89: Sky High With Azure

More Information On Stuff We Wanted To Talk About But Didn’t Have Time For…

AppFabric Smith, Justin. “REST Services Security Using the

Access Control Service”. Microsoft PDC. 2009 http://microsoftpdc.com/Sessions/SVC19

Diagnostics Kerner, Mathew. “Windows Azure Diagnostics,

Logging and Monitoring in the Cloud.” Microsoft PDC. 2009. http://microsoftpdc.com/Sessions/SVC15

Page 90: Sky High With Azure