50
Windows Azure Platform Wade Wegner Architect Evangelist Microsoft Corporation http://blog.wadewegner.com/ http://twitter.com/WadeWegner

Day Of Cloud - Windows Azure Platform

Embed Size (px)

DESCRIPTION

The Windows Azure Platform is an internet-scale cloud services platform hosted in Microsoft data centers that provides an operating system and a set of developer services that can be used individually or together. The Azure platform can be used to build new applications to run from the cloud or enhance existing applications with cloud-based capabilities. The open and extensible nature of Azure’s architecture gives developers the choice to build web applications, applications running on connected devices, PCs, servers, or hybrid solutions offering the best of online and on-premises. In this session, Wade Wegner will focus on two scenarios – new application development and the migration of existing applications. While walking through demos, Wade will discuss concepts such as application authentication and authorization, data synchronization between the cloud and on-premises databases, application integration, delegation of identity, and operations and management. Particular emphasis will be placed on the migration of existing internal applications to Windows Azure, securing applications through claims-based authentication and passive federation with Geneva Server, using relational databases in the cloud with SQL Azure, and the migration of data to the cloud through tools like SSIS.

Citation preview

Page 1: Day Of Cloud - Windows Azure Platform

Windows Azure Platform

Wade WegnerArchitect Evangelist

Microsoft Corporationhttp://blog.wadewegner.com/

http://twitter.com/WadeWegner

Page 2: Day Of Cloud - Windows Azure Platform

About Me

• Originally from Illinois, but spent the last 10 years living in Colorado

• Prior to Microsoft, I worked as a consultant for about 10 years

• My background is in custom application development and application integration

• I wrote a book on Commerce Server that sold less than 40 copies

• I <3 the cloud

Page 3: Day Of Cloud - Windows Azure Platform
Page 4: Day Of Cloud - Windows Azure Platform
Page 5: Day Of Cloud - Windows Azure Platform

Windows Azure isa place to run your applications.

Page 6: Day Of Cloud - Windows Azure Platform

Windows Azure isa cloud computing platform,

so it’s designed to scale.

Page 7: Day Of Cloud - Windows Azure Platform

Windows Azure isa utility computing platform,so you pay for what you use.

Page 8: Day Of Cloud - Windows Azure Platform

Inside are many servers.

Page 9: Day Of Cloud - Windows Azure Platform

with VMs running Windows.

Page 10: Day Of Cloud - Windows Azure Platform

We call this the Fabric,

Page 11: Day Of Cloud - Windows Azure Platform

and it’s where your app runs.

Page 12: Day Of Cloud - Windows Azure Platform

Management tasks are automated by the Fabric Controller.

Page 13: Day Of Cloud - Windows Azure Platform

You tell the Fabric Controller what to do, and it figures out

how to do it.

Page 14: Day Of Cloud - Windows Azure Platform

For this to work, you need to tell us about your application.

Page 15: Day Of Cloud - Windows Azure Platform

DEMOBuilding an MVC Application on Windows Azure

Page 16: Day Of Cloud - Windows Azure Platform

Web Role

• Receives internet traffic• Hosted by IIS• Typically ASP.NET• Partial and full trust

Page 17: Day Of Cloud - Windows Azure Platform

How Azure Helped the City of Chicago

Page 18: Day Of Cloud - Windows Azure Platform

Worker Role

• Doesn’t receive internet traffic• Runs forever• .NET assembly• Partial and full trust

Page 19: Day Of Cloud - Windows Azure Platform

Storage is just another app.

Page 20: Day Of Cloud - Windows Azure Platform

Durable Storage

• Three abstractions:

• Three replicas of everything• Shared key authentication• REST API

Blobs Tables

……

Queues

Page 21: Day Of Cloud - Windows Azure Platform

Blobs

• Like files• Up to 50GB each• 8KB metadata each• Stored in containers• Public or private access at container level

Page 22: Day Of Cloud - Windows Azure Platform

Tables

• Entities with properties• Non-relational• Partitioned for scale• No fixed schema• ADO.NET Data Services

Page 23: Day Of Cloud - Windows Azure Platform

Queues

• Asynchronous message passing• 8KB messages• Two-phase commit

……

Page 24: Day Of Cloud - Windows Azure Platform

Web roleWeb role Worker roleWorker roleWeb role

Storage

Worker role

LB

Putting it All Together

Page 25: Day Of Cloud - Windows Azure Platform

DEMOUsing Worker Roles and Azure Storage

Page 26: Day Of Cloud - Windows Azure Platform
Page 27: Day Of Cloud - Windows Azure Platform

SQL Azure database is a relational database in the cloud.

Page 28: Day Of Cloud - Windows Azure Platform

Applications access SQL Azure via TDS, just like on-premises SQL

Server.

Page 29: Day Of Cloud - Windows Azure Platform

ADO.NET continues to work,just update the connection string.

Page 30: Day Of Cloud - Windows Azure Platform

Your data resides on three or more database servers.

Page 31: Day Of Cloud - Windows Azure Platform

Data is kept secure through physical, network, protocol, and authentication security models.

Page 32: Day Of Cloud - Windows Azure Platform

Logical User Databases Uses shared infrastructure at SQL database and below

Each user database is replicated to one or more servers (configurable based on SLA) Client requests are routed to current “primary server” for read and write operations Security, lockdown and isolation enforced in SQL tier

Highly scalable and state-of-the-art high availability technology Automatic failure detection; client request re-routed to new primary on failure High SLA guarantee using logical replication (hot standby replicas) Automatic management, self-healing and load balancing across shared resource pool

SQL Azure Database provides provisioning, metering and billing infrastructure

Machine 5Machine 5

SQL InstanceSQL Instance

SQL DBSQL DBUserDB1UserDB1

UserDB2UserDB2

UserDB3UserDB3

UserDB4UserDB4

Scalability and Availability: Fabric, Failover, Replication, and Load balancing

SQL Azure Database Provisioning (databases, accounts, roles, …, metering, and billingSQL Azure Database Provisioning (databases, accounts, roles, …, metering, and billing

Machine 6Machine 6

SQL InstanceSQL Instance

SQL DBSQL DBUserDB1UserDB1

UserDB2UserDB2

UserDB3UserDB3

UserDB4UserDB4

Machine 4Machine 4

SQL InstanceSQL Instance

SQL DBSQL DBUserDB1UserDB1

UserDB2UserDB2

UserDB3UserDB3

UserDB4UserDB4

Scalability and Availability: Fabric, Failover, Replication, and Load balancingScalability and Availability: Fabric, Failover, Replication, and Load balancing

DBA role will change to focus on policy/logical management

Page 33: Day Of Cloud - Windows Azure Platform

V1 Goal: Address the needs of 95% or more web and departmental applications

In Scope for v1In Scope for v1 Create/Alter/Drop on Database/Index/View Stored Procedures (Transact-SQL) Triggers Constraints Table variables, session temp tables (#t) BCP + lots of others

Out of Scope for v1Out of Scope for v1 CLR Service Broker Distributed Transactions Distributed Query Spatial All server level DDL All physical DDL and physical catalog views

SQL Azure v1

Page 34: Day Of Cloud - Windows Azure Platform

DEMOCreating and querying a database on SQL Azure

Page 35: Day Of Cloud - Windows Azure Platform

Key Takeaways for SQL Azure

SQL Azure Database is real and in production with Microsoft enterprise services

We are accelerating delivery of relational database service – PDC ‘09 Ecosystem of tools; existing skills and knowledge Majority of web and workgroup apps work as-is Support for open source client libraries Integration between on/off-premises: Extending SQL data platform to the cloud

Relational database is a key capability of the Windows Azure Platform Zero-friction integration with Windows Azure Enables compelling scenarios on the Azure platform

SQL Azure design and architecture supports a wide range of scenarios SQL Azure Database platform investments deliver proven value on top of SQL engine From very cheap and highly-consolidated to still inexpensive and highly-isolated

Page 36: Day Of Cloud - Windows Azure Platform

DEMOUpdating an on-premises application to use SQL Azure

Page 37: Day Of Cloud - Windows Azure Platform
Page 38: Day Of Cloud - Windows Azure Platform

.NET Services

• Integrate on-premises apps with the cloud• Securely connect through firewall

and network boundaries• Control permissions to your apps and services• Reuse existing user accounts across applications• Interoperable with SDKs for Ruby and Java

Page 39: Day Of Cloud - Windows Azure Platform

.NET Service Bus

On-PremiseBusiness Apps

PartnerApplications

Community & Internet Services

Service Bus

Page 40: Day Of Cloud - Windows Azure Platform

How WCF Listeners Work

Service Bus

Sender Receiver

http://myapp.servicebus.windows.net/a/b/BackendNamingRoutingFabric

Frontend

Nodes

CtrlCtrl

11

22

33

44

outb

oun

d

sock

et

connec

t

outbound

socket

rendezvous

CtrlCtrl

NLB

Page 41: Day Of Cloud - Windows Azure Platform

DEMOEcho, Echo, Echo, Echo …

Page 42: Day Of Cloud - Windows Azure Platform

RedPrairie & Supply Chains

Software+Services model

Extend the reach

Secure communications

Page 43: Day Of Cloud - Windows Azure Platform

DEMOPHP running in Windows Azure using MySQL through the .NET Services Bus

Page 44: Day Of Cloud - Windows Azure Platform

Identity

Page 45: Day Of Cloud - Windows Azure Platform

How We Buy a Drink

State of Illinois

Bartender

2. Apply for an

ID)

4. Create an ID)

5. Present ID You

Trust relationship

1. Define rules for

purchasing

3. Accept birth certificate; validate identity

6. Check DOB

Page 46: Day Of Cloud - Windows Azure Platform

The Access Control Pattern

“Geneva” Server STS

Your App(Relying Party)

2. Send token

(Initial claims;

e.g. identity)4. Return token

(output claims from

3)

5. Send token

0. Trust exchanged; secrets, certs

User(Application)

1. Define access control

rules

3. Map input claims to output claims based on access control rules

6. Check Claims

7. Get response

Page 47: Day Of Cloud - Windows Azure Platform

DEMOPassive Federation with “Geneva” server and Windows Azure

Page 48: Day Of Cloud - Windows Azure Platform

Windows Azure Purchasing ModelsWindows Azure Purchasing Models

Page 49: Day Of Cloud - Windows Azure Platform

Service Level Agreements (SLAs) & Pricing

SQL Azure•99.9%

•1 GB = $9.99 / month•10 GB = $99.99 / month•Bandwidth = $0.10 in / $0.15 out / GB

Windows Azure•Two or more role instances•99.95%

•Compute = $0.12 / hr•Storage = $0.15 / GB stored / month•Tx = $0.01 / 10K•Bandwidth = $0.10 in / $0.15 out / GB

.NET Services•99.9%

•Messages = $0.15 / 100K•Bandwidth = $0.10 in / $0.15 out / GB

Page 50: Day Of Cloud - Windows Azure Platform

© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.