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?
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
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
58. Building Blocks Async Queue or Bus Asynchronous, reliable messaging, publish/subscribe model Peer to Peer Node registration, directory, presence awareness
62. Building Blocks Event Based Triggered based on events (e.g. document upload) Worker Based Persistent workflow, always active (e.g. monitoring service)
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.
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
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
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
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!
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!
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
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.
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
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!