windows azure platform what is in it for you?

24
Windows Azure platform What is in it for you? Dominick Baier ([email protected]) Christian Weyer ([email protected]

Upload: others

Post on 12-Sep-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Windows Azure platform What is in it for you?

Windows Azure platform

What is in it for you?

Dominick Baier ([email protected])

Christian Weyer ([email protected]

Page 2: Windows Azure platform What is in it for you?

2

Objectives

• Motivation

• Status quo

• Cloud Computing

• Windows Azure platform

– Windows Azure

– SQL Azure

– AppFabric

• Moving your application to the cloud

Page 3: Windows Azure platform What is in it for you?

3

Application architecture today

• No application is an island

• Reality is that a lot of applications get distributed and grow

complex over time

• Services-based architecture as a target

– model the problem domain and draw explicit boundaries

– service-orientation is a non-technical thing

• Layering

– building interfaces into dedicated application artefacts

• Separation of concerns

– cut application-level 'ilities' from core code

• Identity management grows rapidly in importance

• Green field scenarios more rare than brown field

– totally different approaches to judge on and implement

requirements

Page 4: Windows Azure platform What is in it for you?

4

Application deployment & maintenance today

• Several hosting environments needed for testing, staging,

production

• Hard to calculate costs for each project/product

• Virtualization can ease headaches

– consolidation of costs

– virtual machines not always adequately equipped

• Tracing and logging are indispensable instruments

• Monitoring infrastructure is expensive in operation

– not everyone can afford it

• Patching

– bringing out new builds is tedious but critical

• Availability

– ensure to keep application available

– satisfy ongoing requests

Page 5: Windows Azure platform What is in it for you?

5

Application scaling today

• Actually, application 'ilities' today

• Tough task to predict need for scalability, availability et. al.

– always wanting the maximum of each in unrealistic

• Many 'ilities' are not an all or nothing

– needs are rather on a spectrum

– being able to scale well for certain amount of time, then scale

back

• Scaling up vs. scaling out

• Need for dynamic scaling

– elasticity in acquiring and releasing resources

Page 6: Windows Azure platform What is in it for you?

6

Need for dynamic scale-out

Actual load

Allocated IT

capacities

Time

IT c

ap

acit

y

add some

web servers

buy bigger

SQL server

rearchitect

database

buy more of

everything

Page 7: Windows Azure platform What is in it for you?

7

Cloud computing

• Umbrella term and concept unifying different ideas

– "Dynamic IT", “On-Demand", "Utility Computing", "Software-as-

a-Service“, “Software + Services”, “Cloud Services”,

"Virtualization“

• Promised advantages

– reduce capital & operations costs

– lower capital lockup and usage-bound billing

– cost effective handling of peeks

– simplify application deployment & management

– always on

– simplify scaling to possible Internet scale

– focus on new features & functionality, not infrastructure

• Vision: "IT like power from the socket“

Page 8: Windows Azure platform What is in it for you?

8

Fulfilling the Cloud's promises

• What we need

– cloud operating system

– infrastructure and platforms as a service

– utility computing

– tooling

• Cloud OS has similar facilities as a desktop OS, but on a set

of connected servers

– abstract execution environment

– shared file system

– resource allocation

– programming environments

• Utility computing

– 24/7 operation

– pay for what you use

– simpler, transparent administration

Page 9: Windows Azure platform What is in it for you?

9

Users/Customers/Consumers

Hardware

Infrastructure as a Service

Platform as a Service

Software as a Service

White-label VARs / ISVs

Win

dow

s A

zure

Am

azon E

C2

Sale

sfo

rce.c

om

Mic

rosoft C

RM

Liv

e

Custo

m

Pro

ducts

Cloud stack

Page 10: Windows Azure platform What is in it for you?

10

Azure Platform overview

Developer Tools

Software Development Kits

(SDKs)

Developer Fabric for

Windows AzureTools for Visual Studio

Storage

Management

Compute

Sync Service

Management

Relational Database

Access Control Service

Management

Service Bus

Page 11: Windows Azure platform What is in it for you?

11

Windows Azure technical view

Desktop

Visual Studio

Tools

Windows

Azure SDK

Sto

rage

Clu

ste

r

MSFT Datacenters

Business Portal

Developer Portal

Com

pu

te C

luste

r

……

Service Management Service

REST

REST…

Cloud VM

Runtime

API

VM Setup

User

Code

Page 12: Windows Azure platform What is in it for you?

12

Windows Azure compute

• App-centric development and execution model

• Applications can be

– fault-tolerant

– highly available

– highly scalable

• Application (aka service) requirements modelled through DSL

– roles

– instances

– interfaces

• Provides elasticity in compute

• Monitoring and management built-in

• Different VM sizes available

Page 13: Windows Azure platform What is in it for you?

13

Web role

• Implement web applications

and web services with web

role

– based on .NET 3.5 SP1

– can run managed full trust

and native code

• Web farm that handles

HTTP/S requests from the

Internet

• IIS7 hosted web core

– hosts ASP.NET

– integrated managed

pipeline

– supports SSL

Load

Balancer

Web role

Public Internet

Storage Services

Page 14: Windows Azure platform What is in it for you?

14

Worker roles

• Worker role provides means

to run code beyond a per-

request base

– always-running code

– background processing

• Executes .NET 3.5 SP1 full

trust and native code

– can spawn processes

• Can accept network

connections from Internet

– HTTP/HTTPS

– TCP

Load

Balancer

Worker

role

Public Internet

Storage Services

Page 15: Windows Azure platform What is in it for you?

15

Windows Azure storage

• Table, blob and queue storage capabilities

• Data can be

– fault-tolerant

– highly available

– highly scalable

• Goal is having data close to applications

• Independently accessible

– can be used from any platform, on-premise or cloud-based

• Independently scalable

– does not depend on Windows Azure compute

• Partitions are key concept for scalability

Page 16: Windows Azure platform What is in it for you?

16

SQL Azure

• Database as a service

• Relational database management system in the Cloud

• Compatible with known SQL Server tooling

• Not a full-blown SQL Server instance

– only the core database engine

• No full support for all database features and T-SQL

Page 17: Windows Azure platform What is in it for you?

17

Windows Azure platform AppFabric

• Access Control

– service for issuing access tokens based on authorization rules

– resource STS in the cloud

– can be federated with different identity providers, e.g. Active

Directory, Windows Live

– REST-based programming interface

– intensively used by the Service Bus

• Service Bus

– application messaging bus infrastructure

– enables application integration beyond physical boundaries

– implements open format and protocols

– supports REST and WS-*

– uses Access Control to allow sending messages to and

listening on endpoints

Page 18: Windows Azure platform What is in it for you?

18

Moving your applications into the Cloud

• Ubiquitous connectivity

– Windows Azure platform Service Bus

• Endless compute power

– Windows Azure Compute

• Asynchronous data and command dispatching

– Windows Azure Queue Storage

• Relational data storage

– SQL Azure

• Large scale data partitioning and storage

– Windows Azure Blob & Table Storage

• Federated authentication and authorization

– Windows Azure platform Access Control

Page 19: Windows Azure platform What is in it for you?

19

A realistic sample application

• A service-oriented sample application architecture

– realistic but not real

– exposing typical structured data

– dealing with large data

• Handling broad range of client/consumer applications

– ASP.NET, WCF

– Silverlight

– Windows Forms, WPF

– Windows Mobile, iPhone

– Java

• Dealing with a number of non-functional requirements

– scalability

– reliability

– extensibility

– securability

Page 20: Windows Azure platform What is in it for you?

20

Sample architecture: Media – bird's view

Media portal(ASP.NET; IIS)

Media services(WCF; Windows Service)

Database(SQL Server)

Web browser(HTML, JS)

Mobile devices(WM, iPhone)

Smart clients(Windows Forms, WPF,

Java)

RIA(Silverlight)

•Browse media (metadata, screenshots)

•Stream media (videos)

•Notifications

•Claims-enabled

Media files(NTFS)

Page 21: Windows Azure platform What is in it for you?

21

Sample architecture: Upload – bird's view

Upload portal(ASP.NET; IIS)

Upload services(WCF, WF;

Windows Service)

Web browser(HTML, JS)

•Upload new media (metadata, video)

•Human interaction review process

•Claims-enabled

Media services(WCF; Windows Services)

Reviewing(Windows Forms)

MSMQ(Native, SRMP)

Local storage(SQL CE)

Page 22: Windows Azure platform What is in it for you?

22

Benefits from the Cloud for the application sample

• Extend reach of WCF Media services

– expose necessary endpoints via the Service Bus

– enable powerful communication patterns

– services still hosted on-premise

• Scale on-demand

– Media WCF services in Azure Compute worker role

– ASP.NET Media portal in Azure Compute web role

• Easily accessible relational data

– migrate local SQL Server databases to SQL Azure

• Scaling out data

– partition media and upload data and move it into Azure Table storage

• Massive data store

– store videos, thumbnails in Azure Blob Storage

• Federating access to public endpoints

– using Access Control with STS to control access to SB services

Page 23: Windows Azure platform What is in it for you?

23

Sample architecture: Cloud Media – exampleMedia portal

(Web role instances)

Media services(Worker role instances)

Database(SQL Azure)

Web browser(HTML, JS)

Mobile devices(WM, iPhone)

Smart clients(Windows Forms, WPF,

Java)

RIA(Silverlight)

Azure

Load balancers

Pub/sub(Service Bus)

Azure

Azure Azure

Media files(Blob storage)

Load balancers

Page 24: Windows Azure platform What is in it for you?

24

Summary

• The “Cloud” allows for interesting scenarios

– scaling, management, security

– know your costs

• Windows Azure Platform is Microsoft’s cloud offering

– platform as a service

– compute, storage, RDBMS, authorization, communication

– local simulation environment for most cases

• Applications need to be designed for the cloud

– no simple “repackage & deploy”

– load balanced by design

– patterns for cloud applications