Patterns For Moving To The Cloud
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Patterns For Moving To The Cloud

  • 6,623 views
Uploaded on

Patterns For Moving To The Cloud (Arc308 Guest) - Presentation from TechEd 2009 that shows patterns for moving applications to the cloud.

Patterns For Moving To The Cloud (Arc308 Guest) - Presentation from TechEd 2009 that shows patterns for moving applications to the cloud.

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
6,623
On Slideshare
6,508
From Embeds
115
Number of Embeds
4

Actions

Shares
Downloads
428
Comments
0
Likes
9

Embeds 115

http://simonguest.com 63
http://tspace.web.att.com 33
http://www.slideshare.net 18
http://localhost 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Tech·Ed  North America 2009 06/10/09 01:53 © 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.

Transcript

  • 1.  
  • 2. Simon Guest Senior Director, Technical Strategy Microsoft Corporation Session Code: ARC308
  • 3.  
  • 4. You are an IT Architect
  • 5. Your boss (the CIO) has asked you to “move the company to the cloud”
  • 6. Heard of cloud computing, and you’ve been through the “Azure” intro sessions, but unsure where to start
  • 7. Do I have to move everything to the cloud?
  • 8. What applications work best in the cloud?
  • 9. Goal of the next 55 minutes:
  • 10. Cover some of the differences between on premises , hosted , and the cloud
  • 11. Look at the popular types of applications that are driving cloud computing
  • 12. Share a set of patterns that you can take away and apply for your own thinking
  • 13. Introduce terminology and a way of visually diagramming these patterns for cloud computing
  • 14.  
  • 15. Less about the style of an application, more about where an application “lives”
  • 16. On-premises, hosted, and cloud
  • 17. Application runs on-premises Buy my own hardware, and manage my own data center Application runs at a hoster Pay someone to host my application using hardware that I specify Application runs using cloud platform Pay someone for a pool of computing resources that can be applied to a set of applications
    • Application runs
    • on-premises
    • Bring my own machines, connectivity, software, etc.
    • Complete control and responsibility
    • Upfront capital costs for the infrastructure
    • Application runs at a hoster
    • Rent machines, connectivity, software
    • Less control, but fewer responsibilities
    • Lower capital costs, but pay for fixed capacity, even if idle
  • 18. Cloud computing is a pay-per-use model for enabling available, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. [National Institute of Standards and Technology] http://news.cnet.com/8301-19413_3-10237274-240.html Application runs on-premises Buy my own hardware, and manage my own data center Application runs at a hoster Pay someone to host my application using hardware that I specify Application runs using cloud platform Pay someone for a pool of computing resources that can be applied to a set of applications
    • Application runs
    • on-premises
    • Bring my own machines, connectivity, software, etc.
    • Complete control and responsibility
    • Upfront capital costs for the infrastructure
    • Application runs at a hoster
    • Rent machines, connectivity, software
    • Less control, but fewer responsibilities
    • Lower capital costs, but pay for fixed capacity, even if idle
  • 19. Application runs on-premises Buy my own hardware, and manage my own data center Application runs at a hoster Pay someone to host my application using hardware that I specify Application runs using cloud platform Pay someone for a pool of computing resources that can be applied to a set of applications
    • Application runs
    • on-premises
    • Bring my own machines, connectivity, software, etc.
    • Complete control and responsibility
    • Upfront capital costs for the infrastructure
    • Application runs at a hoster
    • Rent machines, connectivity, software
    • Less control, but fewer responsibilities
    • Lower capital costs, but pay for fixed capacity, even if idle
    • Application runs using cloud platform
    • Shared,
    • multi-tenant environment
    • Offers pool of computing resources, abstracted from infrastructure
    • Pay as you go
  • 20. Application runs on-premises Application runs at a hoster Application runs using cloud platform “ Packaged” Application An application that I buy “off the shelf” and run myself “ Home Built” Application An application that I develop and run myself Hosted “ Home Built” An application that I develop myself, but run at a hoster Hosted “ Packaged” An application that I buy “off the shelf” and then run at a hoster Cloud Platform An application that I develop myself, that I run in the cloud “ Software as a Service” A hosted application that I buy from a vendor
  • 21. “ CRM and Email are commodity services. We have few customizations, and it should be cheaper for someone else to run these.” Application runs on-premises Application runs at a hoster Application runs using cloud platform “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” CRM / Email Clinical Trial MRI Imaging HR Application Viral Marketing Molecule Research
  • 22. “ This is a viral marketing website. It has a small chance of being really big, but we’re not sure!” “ How difficult is it to move these to a software as a service model?” Application runs on-premises Application runs at a hoster Application runs using cloud platform “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” CRM / Email Clinical Trial MRI Imaging HR Application Molecule Research Viral Marketing
  • 23. “ This application runs at full capacity for short periods of time at the end of each month.” In case it is successful, we’re interested to see if the cloud would help us scale better.” Application runs on-premises Application runs at a hoster Application runs using cloud platform “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” CRM / Email Clinical Trial MRI Imaging HR Application Viral Marketing Molecule Research
  • 24. “ MRI images are very large and exponentially growing. Is there a better way of storing these?” “ Can the cloud help us in providing compute power on an as needed basis?” Application runs on-premises Application runs at a hoster Application runs using cloud platform “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” CRM / Email Clinical Trial MRI Imaging HR Application Viral Marketing Molecule Research
  • 25. “ Does the cloud give me the storage I’m after?” “ We need to share results from our H1N1 trials with government entities.” Application runs on-premises Application runs at a hoster Application runs using cloud platform “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” CRM / Email Clinical Trial HR Application Viral Marketing Molecule Research MRI Imaging
  • 26. “ I can’t afford to maintain this old HR application written in VB – it’s driving me mad!” “… but due to regulatory issues, I can’t store my data off premise.” “ Does the cloud provide anything for inter-organization communication?” Application runs on-premises Application runs at a hoster Application runs using cloud platform “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” CRM / Email Clinical Trial MRI Imaging HR Application Viral Marketing Molecule Research
  • 27. “ A good solution could be to find a suitable packaged application here.” Application runs on-premises Application runs at a hoster Application runs using cloud platform “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” CRM / Email Clinical Trial MRI Imaging HR Application Viral Marketing Molecule Research
  • 28. We see a shift to the “right”, but what patterns emerge here?
  • 29. Pattern 1: Transference
  • 30. Taking an existing on-premises application and moving it to the cloud
  • 31. Application runs on-premises Application runs at a hoster Application runs using cloud platform “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” CRM / Email Clinical Trial MRI Imaging HR Application Viral Marketing Molecule Research
  • 32. Drivers? Economic, Consolidation, Prototyping
  • 33. Pattern 2: Scale and Multi-Tenancy
  • 34. Creating an application that has the ability to handle web load without requiring the full capital investment from day one
  • 35. Application runs on-premises Application runs at a hoster Application runs using cloud platform “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” CRM / Email Clinical Trial MRI Imaging HR Application Viral Marketing Molecule Research
  • 36. Drivers? Prototyping, Risk Mitigation
  • 37. Pattern 3: Burst Compute
  • 38. Creating an application that has the ability to handle additional compute on an as-needed basis
  • 39. Application runs on-premises Application runs at a hoster Application runs using cloud platform “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” CRM / Email Clinical Trial MRI Imaging HR Application Viral Marketing Molecule Research
  • 40. Drivers? Economic (avoiding over capacity)
  • 41. Pattern 4: Elastic Storage
  • 42. Creating an application that has the ability to grow exponentially from a storage perspective
  • 43. Application runs on-premises Application runs at a hoster Application runs using cloud platform “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” CRM / Email Clinical Trial MRI Imaging HR Application Viral Marketing Molecule Research
  • 44. Drivers? Economic (avoiding over capacity), Management
  • 45. Pattern 5: Inter-Org Communications
  • 46. Creating an application that has the ability to communicate between organizations using a pre-defined infrastructure
  • 47. Application runs on-premises Application runs at a hoster Application runs using cloud platform “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” CRM / Email Clinical Trial MRI Imaging HR Application Viral Marketing Molecule Research
  • 48. Drivers? Infrastructure Management
  • 49. What do we need to start to dig deeper into some of the patterns?
  • 50. First need to cover some building blocks
  • 51. Building Blocks
  • 52. Building Blocks
  • 53. Building Blocks Physical, Dedicated Single service on dedicated hardware Physical, Shared Multiple services sharing same hardware Virtual, Single Single instance virtual image Virtual, Scalable Virtual “fabric” for applications
  • 54. Building Blocks
  • 55. Building Blocks
  • 56. Building Blocks File Flat file, page-based (e.g. HTML/ASPX), server affinity Relational Relational database, transactional, finite Table Storage for structured entities, scalable data Blob Storage for large data items, typically media files, no server affinity
  • 57. Building Blocks
  • 58. Building Blocks Async Queue or Bus Asynchronous, reliable messaging, publish/subscribe model Peer to Peer Node registration, directory, presence awareness
  • 59. Building Blocks
  • 60. Building Blocks Authentication Username / Password or Claims based Role Based Authorization Role-checking and Authorization
  • 61. Building Blocks
  • 62. Building Blocks Event Based Triggered based on events (e.g. document upload) Worker Based Persistent workflow, always active (e.g. monitoring service)
  • 63. Building Blocks
  • 64. Building Blocks
  • 65. Building Blocks Presentation Web Role Business Logic Worker Role
  • 66. Building Blocks
  • 67. Building Blocks Static Static content, HTML etc Dynamic Dynamic created pages, ASPX, PHP, etc. Client interaction through AJAX, JavaScript Rich Internet Application High visual interaction through browser plug in, some offline support Streaming Optimized for content delivery, videos etc.
  • 68. Building Blocks
  • 69. Building Blocks Web Services SOAP based, WS-I compliant, WS-* REST CRUD access to services using HTTP constructs RSS Syndication services for subscriptions VoiceXML Mobile Application Speech API SIP Session Initiation Protocol – IM Clients SMTP Email inbound and outbound delivery SMS Mobile inbound and outbound text messaging
  • 70. Building Blocks
  • 71. Building Blocks
  • 72. Building Blocks Browser Consumer of web based content, HTML etc., including RIA plug in Office Office Suite, including Email and RSS reader capability Client Application Rich (Smart) client applications installed locally on machine Gadgets Locally installed, desktop based Instant Messaging Locally installed Instant Messaging client
  • 73. Building Blocks
  • 74. Building Blocks Browser Consumer of web based content, HTML etc., including RIA plug in Office Office Suite, including Email and RSS reader capability Client Application Rich (Smart) client applications installed locally on machine SMS / IM Text messaging and IM using Mobile Device Speech Speech enabled interface
  • 75. Building Blocks
  • 76. Building Blocks Devices Dedicated devices Consoles Games Consoles
  • 77. Building Blocks
  • 78. Building Blocks Err… Didn’t you just build a marketing diagram? :-)
  • 79. Building Blocks Use these blocks to explore the detail of the five patterns
  • 80. Patterns for Moving to the Cloud Pattern 1: Transference
  • 81. Exchange Lifecycle – Exchange 4.0 and Office 97 RPC JET Database
  • 82. Exchange Lifecycle – Exchange 5.0 and Office 97 JET Database Active Directory for Account Storage
  • 83. Exchange Lifecycle – Exchange 5.0 SP1 and Office XP Support for Outlook Web Access
  • 84. Exchange Lifecycle – Exchange 2003 and Office 2003 Support for RPC over HTTPS
  • 85. Exchange Lifecycle – Exchange 2007 and Office 2007 Support for Speech and Mobile
  • 86. Patterns for Moving to the Cloud Moving Exchange to Hoster/Cloud
  • 87. Exchange Lifecycle – Exchange 2007 and Office 2007
  • 88. Exchange Lifecycle – Exchange 2007 and Office 2007 Same pattern applies, different provider
  • 89. Patterns for Moving to the Cloud Hang on! That looked too simple!
  • 90. Exchange Lifecycle – Exchange 2007 and Office 2007 Made assumption that Identity Provider moved to the cloud also
  • 91. Patterns for Moving to the Cloud How do we solve this?
  • 92. Exchange Lifecycle – Exchange 2007 and Office 2007 We could use replication, but difficult to manage
  • 93. Patterns for Moving to the Cloud Need a system similar to your speaker badge! Registration Desk Door person Attendee Speaker Crew Main Hall Attendee Speaker Crew Speaker Rm Speaker Crew Bill Veghte Green Room Crew Joe Pharma Attendee Joe Pharma Passport Agency
  • 94. Exchange Lifecycle – Exchange 2007 and Office 2007 Local AD STS (Secure Token Service)
  • 95. Exchange Lifecycle – Exchange 2007 and Office 2007 Local AD STS (Secure Token Service) Passport Agency Registration Desk Door person
  • 96. Exchange Lifecycle – Exchange 2007 and Office 2007 Local AD STS (Secure Token Service) Where’s your badge(token)? Errr… Don’t have one Go get one and come back
  • 97. Exchange Lifecycle – Exchange 2007 and Office 2007 Local AD STS (Secure Token Service) Can I have a badge (token) please? Where’s your ID? Here: [email_address] Pwd: 123 Hang on This guy ok? Yeah, he’s good Here’s your badge (token)
  • 98. Exchange Lifecycle – Exchange 2007 and Office 2007 Local AD STS (Secure Token Service) Where’s your badge(token)? Here you are Looks good – come on in!
  • 99. Patterns for Moving to the Cloud Why is this important for cloud computing?
  • 100. Patterns for Moving to the Cloud Disgruntled ex-employees!
  • 101. Exchange Lifecycle – Exchange 2007 and Office 2007 Local AD STS (Secure Token Service) Where’s your badge(token)? Errr… Don’t have one Go get one and come back
  • 102. Exchange Lifecycle – Exchange 2007 and Office 2007 Local AD STS (Secure Token Service) Can I have a badge (token) please? Where’s your ID? Here: [email_address] Pwd: 123 Hang on This guy ok? No way! We fired him an hour ago! No cigar for you!
  • 103. Patterns for Moving to the Cloud Takeaways from Pattern #1
  • 104. Patterns for Moving to the Cloud Transference is about moving on premises applications to the cloud
  • 105. Patterns for Moving to the Cloud Largely the on-premise application goes across as is
  • 106. Patterns for Moving to the Cloud Need to watch out for customizations that the hoster/cloud does not support
  • 107. Patterns for Moving to the Cloud Relies on claims based identity (unless you are going to manage multiple identity stores)
  • 108. Patterns for Moving to the Cloud Pattern 2: Scale and Multi-Tenancy
  • 109. “ Viral” Web Site, Hosted On Premises We are only getting a few users per month – let’s put it on this machine with these other applications Things seem to be picking up (and the users of the other applications are complaining)
  • 110. “ Viral” Web Site, Hosted On Premises Let’s move it to a dedicated box instead
  • 111. “ Viral” Web Site, Hosted On Premises Wow, things are really taking off! Can we borrow that machine over there? And that load balancer?
  • 112. “ Viral” Web Site, Hosted by Hoster This is beyond our operations control – let’s move to a hoster instead
  • 113. “ Viral” Web Site, Hosted by Hoster More users, more machines, more service packs/patches
  • 114. Patterns for Moving to the Cloud Opposite pattern here is predicting the growth of the web site
  • 115. Patterns for Moving to the Cloud What does this look like in the cloud?
  • 116. “ Viral” Web Site – Hosted using Azure Only a few users per month? Let’s start off with 1 x instance, we’ll pay as we go
  • 117. “ Viral” Web Site – Hosted using Azure This is starting to take off… Let’s increase to 2 x instances
  • 118. Patterns for Moving to the Cloud
    • <?xml version=&quot;1.0&quot;?>
    • <ServiceConfiguration serviceName=&quot;Web&quot; xmlns=&quot;http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration&quot;>
    • <Role name=&quot;WebRole&quot;>
    • <Instances count=“2” />
    • <ConfigurationSettings>
    • <Setting name=&quot;AccountName&quot; value=&quot;primesolvrstorage&quot;/>
    • </ConfigurationSettings>
    • </Role>
    • </ServiceConfiguration>
  • 119. “ Viral” Web Site – Hosted using Azure This is starting to take off… Let’s increase to 5 x instances
  • 120. Patterns for Moving to the Cloud
    • <?xml version=&quot;1.0&quot;?>
    • <ServiceConfiguration serviceName=&quot;Web&quot; xmlns=&quot;http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration&quot;>
    • <Role name=&quot;WebRole&quot;>
    • <Instances count=“5” />
    • <ConfigurationSettings>
    • <Setting name=&quot;AccountName&quot; value=&quot;primesolvrstorage&quot;/>
    • </ConfigurationSettings>
    • </Role>
    • </ServiceConfiguration>
  • 121. “ Viral” Web Site – Hosted using Azure Actually, we were wrong – this isn’t going to make us millionaires Let’s turn it off!
  • 122. Patterns for Moving to the Cloud Takeaways from Pattern #2
  • 123. Patterns for Moving to the Cloud The cloud is not only for mega-scale applications
  • 124. Patterns for Moving to the Cloud Architecture lets you start very small, yet expand when needed
  • 125. Patterns for Moving to the Cloud Not all of those great ideas are going to work out!
  • 126. Patterns for Moving to the Cloud Pattern 3: Burst Compute
  • 127. Configuring a Worker Role using Azure Let’s create 5 x worker roles
  • 128. Configuring a Worker Role using Azure Cannot (and should not) consume worker roles directly
  • 129. Configuring a Worker Role using Azure Need to expose through presentation (web role)
  • 130. Configuring a Worker Role using Azure How do you pass data from the presentation (web role) to the business logic (worker role) to process?
  • 131. PrimeSolvr Implementation Larry Clarkin and Wade Wegner Sr. Architect Evangelists, Central Region Microsoft Corporation
  • 132. PrimeSolvr Application User passes a number to be checked if prime
  • 133. PrimeSolvr Application User passes a number to be checked if prime
  • 134. PrimeSolvr Application The data is stored in a table
  • 135. PrimeSolvr Application A “pointer” to the data is placed on the queue
  • 136. PrimeSolvr Application The worker role is configured to monitor the queue Picks up the job and processes
  • 137. PrimeSolvr Application The result is placed within a table The presentation reads the table (and displays) on the next client request
  • 138. Patterns for Moving to the Cloud Sure, but how does this scale again?
  • 139. PrimeSolvr Application Multiple instances – scale to the number of Web users Multiple instances – scale to the pipeline of incoming requests
  • 140.
    • Show config here
  • 141.
    • Show config here
  • 142. Patterns for Moving to the Cloud Try it out now! http://primesolvr.cloudapp.net/
  • 143. Patterns for Moving to the Cloud Takeaways from Pattern #3
  • 144. Patterns for Moving to the Cloud Anti pattern to expose worker role (business logic) directly
  • 145. Patterns for Moving to the Cloud Passing data to worker role? Store in blob or table and pass pointer in queue
  • 146. Patterns for Moving to the Cloud Returning result to web role? Store in blob or table, wait for web to refresh
  • 147. Patterns for Moving to the Cloud Pattern 4: Elastic Storage
  • 148. Patterns for Moving to the Cloud Storage for the last few decades
  • 149. File Storage over the Decades File Server Direct through RPC, NFS, etc.
  • 150. File Storage over the Decades Intranet Portal
  • 151. File Storage over the Decades Extranet Portal
  • 152. File Storage over the Decades Problems with server affinity and mgt of large files. Relational DB doesn’t solve problem either
  • 153. Blob Storage using Azure Cloud provides support for storage through “blobs” REST interface (PutBlob, GetBlob, DeleteBlob)
  • 154. Blob Storage using Azure Support for Blocks PutBlock(blob, block, data) How about timeouts over HTTP? 10Gb MRI image Commit with PutBlockList
  • 155. Patterns for Moving to the Cloud … and getting the image back?
  • 156. Blob Storage using Azure Please give me the image http://mri.blob.core.windows.net/images/432532432.mri.jpg
  • 157. Blob Storage using Azure Render low res-version of the image Zoom in please Render zoomed in portion of image Please show me the image
  • 158. Patterns for Moving to the Cloud http://livelabs.com/seadragon/
  • 159. Patterns for Moving to the Cloud What if I want to do relational storage in the cloud?
  • 160. Patterns for Moving to the Cloud SQL Data Services (SDS)
  • 161. Current SDS Implementation “ Code Near” Model Code near to home, “long” data access connection
  • 162. Current SDS Implementation “ Code Far” Model Code far from home, “short” data access connection
  • 163. Patterns for Moving to the Cloud SDS Moving Forward Using Relational Model
  • 164. Current SDS Implementation “ Code Near” Model using REST (Astoria)
  • 165. Current SDS Implementation “ Code Far” Model using Azure application
  • 166. Taking the MRI Example Forward TDS (Tabular Data Stream) over TCP Code Near Model (using existing SQL Client Library)
  • 167. Patterns for Moving to the Cloud Takeaways from Pattern #4
  • 168. Patterns for Moving to the Cloud Local storage is cheap, but management can be difficult
  • 169. Patterns for Moving to the Cloud Cloud enables elastic storage growth for large files, but consider how user will access
  • 170. Patterns for Moving to the Cloud SDS future has three ways of exposing – through HTTP (via Azure), through REST (via Astoria), through TDS
  • 171. Patterns for Moving to the Cloud Pattern 5: Inter-Org Communications
  • 172. Azure Queues for Web to Worker Communication Queue works between web and worker role, but not outside the organization
  • 173. Azure Queues for Web to Worker Communication Technically possible to expose Azure queue via REST interface, but… How do you deal with Firewall/NAT for incoming msg?
  • 174.
    • Intro Service Bus (product slide)
  • 175. .NET Service Bus for Communication sb://…/myqueue (Outbound bi-directional socket, kept alive in background) Subscriber
  • 176. .NET Service Bus for Communication sb://…/myqueue (Outbound one-way socket) Sender Message routed appropriately Delivered without the use of any inbound ports
  • 177. Patterns for Moving to the Cloud One of the other components of .NET Services is workflow
  • 178. Patterns for Moving to the Cloud Event Driven vs. Hosted
  • 179. Event Driven Workflow Workflow defined using XOML
  • 180. Patterns for Moving to the Cloud Does the workflow always have to be initiated from the client?
  • 181. Hosted Workflow Hosted Workflow
  • 182. Patterns for Moving to the Cloud Red Prairie Example
  • 183. Red Prairie Example Orchestrator Service Recall – Lead paint discovered in Item #242522
  • 184. Red Prairie Example Iterate through list of partners Send recall notice
  • 185. Red Prairie Example Iterate through list of partners Send recall notice Receive and Log Acknowledgement
  • 186. Patterns for Moving to the Cloud Takeaways from Pattern #5
  • 187. Patterns for Moving to the Cloud Azure queues can be exposed through REST, but difficult to receive messages (without polling)
  • 188. Patterns for Moving to the Cloud Protocol handling within the .NET Service Bus overcomes this
  • 189. Patterns for Moving to the Cloud (Also provides durable queues as of March CTP)
  • 190. Patterns for Moving to the Cloud Workflow can handle more complex communications
  • 191. Patterns for Moving to the Cloud Hosted workflow in the cloud useful for monitoring
  • 192. Conclusion
  • 193. Conclusion We covered 5 patterns
  • 194. Conclusion Pattern 1: Transference
  • 195. Conclusion Pattern 2: Scale and Multi-Tenancy
  • 196. Conclusion Pattern 3: Burst Compute
  • 197. Conclusion Pattern 4: Elastic Storage
  • 198. Conclusion Pattern 5: Inter-Org Communication
  • 199. Conclusion These are “starter” patterns - not an exhaustive list, but show some of the different archetypes of applications possible in the cloud today
  • 200. Conclusion This space is still evolving, but very exciting to see the new patterns that will emerge
  • 201. ARC-INT01 – Join us for Part 2 of this talk! Larry Clarkin and Wade Wegner Sr. Architect Evangelists, Central Region Microsoft Corporation Showing 25 instances running on Azure!
  • 202. Resources
    • www.microsoft.com/teched
      • Sessions On-Demand & Community
    • http://microsoft.com/technet
      • Resources for IT Professionals
    • http://microsoft.com/msdn
      • Resources for Developers
    www.microsoft.com/learning Microsoft Certification and Training Resources
    • www.microsoft.com/learning
    • Microsoft Certification & Training Resources
    Required Slide Speakers, TechEd 2009 is not producing a DVD. Please announce that attendees can access session recordings at TechEd Online.
  • 203. Related Content
    • Now – ARCINT01 – Where we are heading now =>> Architecture TLC in Expo Hall
    • Today 4.30pm – ARC311 – Software As A Service in the Cloud
    • Wednesday 4.30pm – ARC203 – Is the CIOs Head in the Cloud?
    • Thursday 8.30am – ARC206 – Claims Based Identity
    Required Slide Speakers, please list the Breakout Sessions, TLC Interactive Theaters and Labs that are related to your session.
  • 204. Complete an evaluation on CommNet and enter to win! Required Slide
  • 205. © 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. [email_address] http://simonguest.com Required Slide