3. Cloud Hosting Patterns Web RoleAzure Web Role – ASP.NET Web Service RoleAzure Web Role – WCF Worker RoleAzure Worker Role - .NET Workflow Role.NET Service Workflow Service - WF
4. Cloud Hosting –Web Role Cloud-hosted ASP.NET web site Can also use Ajax, Silverlight Accessed over HTTP “Web Role” in Visual Studio Windows Azure hosting project Multiple instances automaticallyload balanced WEB ROLE(WEB SITE) LOAD BALANCER WEBROLE WEBROLE WEBROLE
5. Cloud Hosting –Web Service Role Clouse-hosted WCF web service Can use SOAP, REST, JSON Accessed over HTTP “Web Role” in Visual Studio Windows Azure hosting project Multiple instances automaticallyload balanced WEB ROLE(WEB SERVICE) LOAD BALANCER WEBROLE WEBROLE WEBROLE
6. Cloud Hosting –Worker Role Cloud-hosted background process .NET background worker thread(s) No externally accessible endpoint “Worker Role” in Visual Studio Windows Azure hosting project Workers read from cloud storagefor work items + load balancing WORKER ROLE QUEUE STORAGE WORKER ROLE WORKER ROLE WORKER ROLE
7. Cloud Hosting –Workflow Role Cloud-hosted workflow Workflows created with Workflow Foundation in Visual Studio .NET Service Workflow Project Workflow uploaded andinstances managed usingAzure Portal Workflows can communicate viaweb services or Service Bus Multi-instancing HOSTED WORKFLOW
9. Cloud Data – Blob Storage Named byte storage Windows Azure storage project Container / Blob Item similarto Folder / File Accessible via REST or .NET code SDK Storage Client samplecontains .NET code Available to on-premise apps + cloud apps BLOB STORAGE
10. Cloud Data – Queue Storage Queue storage Windows Azure storage project Dequeue/delete with time-out Accessible via REST or .NET code SDK Storage Client samplecontains .NET code Available to on-premise apps + cloud apps QUEUE STORAGE
11. Cloud Data – Table Storage Data Table storage Windows Azure storage project Table / entities (records) Partition key / primary key model Accessible via REST or .NET code SDK Storage Client samplecontains .NET code Available to on-premise apps + cloud apps TABLE STORAGE
12. Cloud Data – Database Cloud-hosted SQL Server Database SQL Data Services Project Accessible via REST or .NET code Available to on-premise apps+ cloud apps Future: Not yet available SQL SERVER DATABASE
13. Cloud Communication & Sync Patterns Load BalancerWindows Azure Hosting Project – Web Roles Service Bus.NET Services – Service Bus Live Mesh DesktopLive Services – Live Mesh Desktop / Live Framework Live Mesh FeedLive services – Live Mesh Feeds / Live Framework
14. Cloud Communication – Load Balancer Automatically provided to web roles byWindows Azure Hosting Project HTTP endpoint Distribute work to multipleweb roles Web roles can be web sites orweb services LOAD BALANCER WEBROLE WEBROLE WEBROLE
15. Cloud Communication – Service Bus Multi-party communicationrelayed through the cloud Supports point-to-point andpublish-subscribe communication Senders and receivers canbe enterprise apps or cloud apps Integrates with Access Control Service SERVICE BUS PUBLISHER SUBSCRIBER SUBSCRIBER
16. Cloud Sync – Live Desktop Synchronizes your ring of computers and devices Synchronizes both data andmesh web applications Can view using Live Desktop Can program against usingLive Framework SDK LIVE MESH HOMECOMPUTER MOBILEDEVICE WORKCOMPUTER
17. Cloud Sync – Live Feeds Data Feeds SynchronizableAcross Devices Accessible via AtomPub, RSS Can program against usingLive Framework SDK Synchronized with FeedSync LIVE FEEDS HOMECOMPUTER MOBILEDEVICE WORKCOMPUTER
18. Cloud Security Patterns Authentication ServiceLive Service – Windows Live ID Access Control Service.NET Services – Access Control Service
19. Cloud Security – Authentication Service Authentication for cloud-hosted web sites Live Services – Windows Live ID Windows Azure Hosting Project Application Live ID registration Cookie-based identity check Redirect to Live ID sign-on Token returned / cookie created LOAD BALANCER WEBROLE (WEB APP) WEBROLE(WEB APP) AUTHENTICATION SERVICE
20. Cloud Security – Access Control Service Federated Security for cloud-hosted services .NET Services – Access Control Svc Provides configured onAzure Portal Claims mapping Separates identity verificationscheme from application code LOAD BALANCER WEBROLE(SERVICE) WEBROLE (SERVICE) ACCESS CONTROLSERVICE
21. Cloud Composite Application Patterns Hosted Web Application / with Background WorkersWeb Site front end and Worker Role back end Hosted Web Service / with Background WorkersWeb Service front end and Worker Role back end Hybrid Enterprise-Cloud ApplicationEnterprise application that makes use of cloud services Multi-Enterprise Business Application (MEBA)Cloud-hosted application used by multiple businesses Hosted Grid Computing ApplicationCloud-hosted grid computing application
22. Hosted Web App ASP.NET Web Site Web roles, load-balanced Hello, Cloud is an example LOAD BALANCER WEBROLE WEBROLE WEBROLE
23. Hosted Web App with Workers ASP.NET Web Site with background workers Front end – web roles, load-balanced Back end – worker roles Front end and back endcommunicate through storage Front end queues work items Back end executes work items Front end / back end separatelyconfigurable instance counts LOAD BALANCER WEBROLE WEBROLE WORKER ROLE WORKER ROLE WORKER ROLE
24. Hosted Web Service WCF Web Service with background workers Web roles, load-balanced LOAD BALANCER WEBROLE(SERVICE) WEBROLE(SERVICE) WEBROLE(SERVICE)
25. Hosted Web Service with Workers WCF Web Service with background workers Front end – web roles, load-balanced Back end – worker roles Front end and back endcommunicate through storage Front end queues work items Back end executes work items Front end / back end separatelyconfigurable instance counts LOAD BALANCER WEBROLE (SERVICE) WEBROLE(SERVICE) WORKER ROLE WORKER ROLE WORKER ROLE
26. DEMO: MORTGAGE Service CLOUD-HOSTED WEB SERVICE http://azuremortgageservice.codeplex.net
28. How To Create Restful Service in Azure Create Cloud Web Service (Web Worker) Add WCF Service (contract, data contracts, implementation) Decorate service contract with [WebMethod] Decorate service implementation with [AspNetCompatibilityRequirementsMode] Implement the client side calls (use jQuery)
29. Cloud-Extended Enterprise Application Enterprise-hosted application makes use of cloud services for storage, communication, sync, or security REST or .NET Windows Azure Storage SQL Data Services .NET Services Live Services ENTERPRISE APPLICATION
30. Multi-Enterprise Business App (MEBA) A cloud-hosted application used by multiple organizations Cloud is a 'neutral place' Front end – web siteand/or web services Back end – worker rolesand/or workflow Can leverage any kinds ofcloud storage Can secure via access control service or traditional membership providers Must have acute awareness of roles and permissions of organizations and personnel LOADBALANCER ACCESSCONTROL LOADBALANCER WEB ROLE(WEB SITE) WEB ROLE(WEB SERVICE) CLOUDDATABASE CLOUDSTORAGE WORKER ROLE WORKER ROLE WORKER ROLE WORKER ROLE
31. Grid Computing Application Worker Roles Front end – web roles, load-balanced Back end – worker roles Front end and back endcommunicate through storage Front end queues work items Back end executes work items Front end / back end separatelyconfigurable instance counts GRID LOADER ON-PREMINPUT DATA TASKQUEUE WORKERROLE WORKERROLE RESULTSQUEUE GRID AGGREGATOR ON-PREMRESULT DATA