42
Windows Azure Windows Azure Building web sites Building web sites and services in the and services in the cloud cloud Manu Cohen-Yashar Sela Group http://blogs.microsoft.co.il/blog s/applisec

Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Embed Size (px)

Citation preview

Page 1: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Windows Azure Windows Azure Building web sites and Building web sites and services in the cloudservices in the cloud

Manu Cohen-YasharSela Grouphttp://blogs.microsoft.co.il/blogs/applisec

Page 2: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

AgendaAgenda

• Why cloud services• Windows azure• Main programming elements• Demo• Q & A• Summary

Page 3: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Why cloud servicesWhy cloud services

Page 4: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group
Page 6: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Scalability in another dimationScalability in another dimation

Page 7: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Azure™ Services Platform

Page 8: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

A Look Inside AzureA Look Inside Azure

ServiceBus

AccessControl

Workflow

Database

Reporting

Analytics

Compute Storage Manage

Identity

Devices

Contacts

Your Applications

Page 9: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

ACCESS CONTROLACCESS CONTROL

Page 10: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Access ControlAccess Control

Your CustomersYour CustomersYour AppYour App

Acce

ss C

ontr

ol

Serv

ice

Acce

ss C

ontr

ol

Serv

ice

< Any IDProvider>

<Any ID Provider>

Live ID UsersLive ID Users

XYZ Domain Users

XYZ Domain Users

Who is the caller?

Who is the caller?

What can they

do?

What can they

do?

UIUI

IntegrateIntegrate

ServiceBus

ServiceBus

OrchestrateOrchestrate

StoreStore

WFWF

DataData

Page 11: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Access Control Moving PartsAccess Control Moving Parts

• Portal– A UI for creating and managing

collections of access control rules• Client API

– Provides a programmatic way to manage collections of access control rules

• Service (STS)– A hosted service that issues tokens– Developers interact with the

service via the “Geneva” Framework

Page 12: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Access Control InteractionsAccess Control Interactions

Your .NET Access Control Service STS

(Managed STS)

Your .NET Access Control Service STS

(Managed STS)

Relying Party( ,Service Bus

,Your Appetc).

Relying Party(Service Bus,

Your App, etc).

2 .

Send Claim

s(R

ST) 4 .

Send Token )RSTR

((

output claims from

4

)

5 .Send Messagew/token

0 .Cert|Secret exchange;

periodically refreshed

Requestor( Your

Customer)

Requestor(Your

Customer)

1 . Define access control rules for a

customer

1 .Define access control rules for a

customer

6. Claims checked

in RelyingParty

6.Claims checked

in Relying Party

3 .Map input claims to output claims based on

access control rules

Page 13: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

SERVICE BUSSERVICE BUS

Page 14: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Enterprise Service BusEnterprise Service Bus

Service OrchestrationService Orchestration

Service RegistryService RegistryNamingNamingFederated Federated

Identity and Identity and Access ControlAccess Control Messaging FabricMessaging Fabric

CRMCRMCRMCRM

CustomersCustomers LeadsLeads

TrendsTrendsCampaignsCampaigns

Supply ChainSupply ChainSupply ChainSupply Chain

InventoryInventory Order EntryOrder Entry

PlanningPlanningPurchasingPurchasing

Point Of SalePoint Of SalePoint Of SalePoint Of SalePOS POS

IntegrationIntegration Product Product CatalogCatalog

ReturnsReturnsWeb StoreWeb Store

Page 15: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Internet Service BusInternet Service Bus

Service OrchestrationService Orchestration

Service RegistryService RegistryNamingNamingFederated Federated

Identity and Identity and Access ControlAccess Control Messaging FabricMessaging Fabric

ClientsClientsClientsClients MS/3MS/3rdrdParty Services Party Services MS/3MS/3rdrd Party Services Party ServicesOn-Premise ESBOn-Premise ESBOn-Premise ESBOn-Premise ESB

ESBESBDesktop, Desktop, RIA, WebRIA, Web

Desktop, Desktop, RIA, & RIA, &

WebWeb

Your Your ServicesServices

Your Your ServicesServices

Page 16: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

SERVICE SERVICE ORCHESTRATIONORCHESTRATION

Page 17: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Your OwnHost

Your OwnHost

“Dublin” “Dublin”

. NET WorkflowService

.NET Workflow Service

Hosting WFHosting WF

WFWF

Page 18: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Service OrchestrationService Orchestration

http//:

Service Bus

Page 19: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

SQL DATA SQL DATA SERVICESSERVICES

Page 20: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

SQL Services FuturesSQL Services FuturesExtending the SQL Data Platform to the cloudExtending the SQL Data Platform to the cloud

Reference Data

Reporting

ETLData Mining

• Data services tier of the Azure Services Platform• Built on SQL Server foundation• Broad data platform capabilities as a service

– Friction-free provisioning, scaling– Significant investments in scale, HA, lights-out

operation and TCO

Page 21: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

SDS is built on three key pillars1. Storage for all data types from

birth to archival2. Rich data processing services3. Operational excellence

SQL Data Services (SDS)SQL Data Services (SDS)“Database as a Service”“Database as a Service”

Page 22: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Trey Research Media MarketplaceTrey Research Media Marketplace

Photo ManagementWPF App

PhotographerIn FieldMobile App

Page 23: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group
Page 24: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

• It is an operating system for the cloud• It is designed for utility computing• It has four primary features:

– Service management– Compute– Storage– Developer experience

What Is What Is Windows AzureWindows Azure??

Page 25: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

• The same facilities that a desktop OS provides, 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

What Should The Cloud OS Provide?What Should The Cloud OS Provide?

Page 26: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

• The Windows Azure provides core technologies for building rich services on top of unreliable but scalable hardware (i.e., a cloud operating system)– Supports building applications that scale– Programming tools and interfaces are

designed to be familiar to traditional desktop programmer

• Introduce new concepts that are similar to existing ones at a different abstraction level

Windows AzureWindows Azure

Page 27: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Desktop And Related Azure ConceptsDesktop And Related Azure Concepts

Desktop

• EXE• Application Configuration• Manifest• DLL

– Windows forms library– Windows service

• Local data stores

Windows Azure

• Service package• Service configuration• Service definition• Service role

– Web role– Worker role

• Internet data stores

Page 28: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

• Service definition– Defines aspects of a service that cannot be changed without redeployment

• Types of roles and static role configuration• Set of configuration settings for a role• Contract with the environment code runs

• Service configurations– Defines values for properties that can be dynamically updated for a running deployment

• Values of a configuration parameter• Number of running instances

Service ConceptsService Concepts

Page 29: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Storage ServicesStorage Services

Web RoleWeb Role

• Web farm that handles request from the internet

• IIS7 hosted web core– Hosts ASP.NET– XML based

configuration of IIS7 – Integrated managed

pipeline– Supports SSL

Public InternetPublic Internet

Web RoleWeb RoleLoad

Balancer

Page 30: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Worker RoleWorker Role

• No inbound network connections

• Can read requests from queue in storage

Storage ServiceStorage Service

Public InternetPublic Internet

Worker Role

Worker Role

Page 31: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

• Every role has access to APIs for common functionality needed for services– Read configuration setting values– Write messages to set

of standard logging streams• “Printf” sitting on top of a lot of plumbing

so logs are downloadable and archived easily• Critical messages generate live alerts

– Get access to unreliable local storage for caching

• Defines interface for worker role

Service Runtime APIService Runtime API

Page 32: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

RoleEntryPoint For Worker RoleRoleEntryPoint For Worker Role

public abstract class RoleEntryPoint { //Constructors protected RoleEntryPoint(); //Methods … public abstract RoleStatus

GetHealthStatus(); public abstract void Start(); … } public enum RoleStatus { Healthy …, Unhealthy, … }

Page 33: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

• Blobs – provide a simple interface for storing named files along with 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 delivery of messages for an application

Windows Azure Storage Windows Azure Storage AbstractionsAbstractions

Page 34: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Block

Blob Storage ConceptsBlob Storage ConceptsKey concepts account, container, blob, and blocksKey concepts account, container, blob, and blocks

BlobContainerAccount

Account

Pictures

IMG001.JPG

IMG002.JPG

Movies MOV1.AVI

Block AAAA

Block AAAB

Block AAAC

Page 35: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Queue Storage ConceptsQueue Storage ConceptsAccount, queue, and messageAccount, queue, and message

MessageQueueAccount

Account

Thumbnail Jobs

128x128, http…//:

256x256, http…//:

Indexing Jobs

http…//:

http…//:

Page 36: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Table Storage ConceptsTable Storage ConceptsAccount, table, and entityAccount, table, and entity

EntityTableAccount

Account

Users

Name=…hash…=

Name=…hash…=

PhotoIndex

Tag=…id…=

Tag=…,id…=

Page 37: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

• Every table has a partition key– It is the first property (column) of your table– All entities in a table with the same partition key value

live in the same partition • Need to choose partitioning scheme to make data

access scalable

Partition Key and PartitionPartition Key and Partition

Page 38: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

DEMODEMOBuilding your first application

Page 39: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

SummarySummary

• The hosting problem• Windows azure platform enables you to

concentrate on your business logic • A new programming model

– Web role – Worker role– Blobs, Tables and queues

Page 40: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

Additional ResourcesAdditional Resources

• www.azure.com• http://www.microsoftpdc.com/

Page 41: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group
Page 42: Windows Azure Building web sites and services in the cloud Manu Cohen-Yashar Sela Group

© 2008 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.