Simon Guest Senior Director, Technical Strategy Microsoft Corporation Session Code: ARC308
 
You are an IT Architect
Your boss (the CIO) has asked you to “move the company to the cloud”
Heard of cloud computing, and you’ve been through the “Azure” intro sessions, but unsure where to start
Do I have to move  everything  to the cloud?
What applications  work best  in the cloud?
Goal of the next 55 minutes:
Cover some of the differences between  on   premises ,  hosted , and the  cloud
Look at the popular  types of applications  that are driving cloud computing
Share a  set of patterns  that you can take away and apply for your own thinking
Introduce  terminology  and a way of  visually diagramming  these  patterns for cloud computing
 
Less about the style of an application, more about where an application “lives”
On-premises, hosted, and cloud
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
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
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
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
“ 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
“ 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
“ 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
“ 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
“ 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
“ 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
“ 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
We see a shift to the “right”, but what  patterns  emerge here?
Pattern 1:  Transference
Taking an existing on-premises application and moving it to the cloud
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
Drivers? Economic, Consolidation, Prototyping
Pattern 2:  Scale and Multi-Tenancy
Creating an application that has the ability to handle web load without requiring the full capital investment from day one
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
Drivers? Prototyping, Risk Mitigation
Pattern 3:  Burst Compute
Creating an application that has the ability to handle additional compute 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
Drivers? Economic (avoiding over capacity)
Pattern 4:  Elastic Storage
Creating an application that has the ability to grow exponentially from a storage perspective
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
Drivers? Economic (avoiding over capacity), Management
Pattern 5:  Inter-Org Communications
Creating an application that has the ability to communicate between organizations using a pre-defined infrastructure
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
Drivers? Infrastructure Management
What do we need to start to dig deeper into some of the patterns?
First need to cover some building blocks
Building Blocks
Building Blocks
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
Building Blocks
Building Blocks
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
Building Blocks
Building Blocks Async Queue or Bus Asynchronous, reliable messaging, publish/subscribe model  Peer to Peer Node registration, directory, presence awareness
Building Blocks
Building Blocks Authentication Username / Password or Claims based Role Based Authorization Role-checking and Authorization
Building Blocks
Building Blocks Event Based Triggered based on events (e.g. document upload)  Worker Based Persistent workflow, always active (e.g. monitoring service)
Building Blocks
Building Blocks
Building Blocks Presentation Web Role Business Logic Worker Role
Building Blocks
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.
Building Blocks
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
Building Blocks
Building Blocks
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
Building Blocks
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
Building Blocks
Building Blocks Devices Dedicated devices Consoles Games Consoles
Building Blocks
Building Blocks Err…  Didn’t you just build a marketing diagram? :-)
Building Blocks Use these blocks to explore the detail of the five patterns
Patterns for Moving to the Cloud Pattern 1:   Transference
Exchange Lifecycle – Exchange 4.0 and Office 97 RPC JET Database
Exchange Lifecycle – Exchange 5.0 and Office 97 JET Database Active Directory for Account Storage
Exchange Lifecycle – Exchange 5.0 SP1 and Office XP Support for Outlook Web Access
Exchange Lifecycle – Exchange 2003 and Office 2003 Support for RPC over HTTPS
Exchange Lifecycle – Exchange 2007 and Office 2007 Support for Speech and Mobile
Patterns for Moving to the Cloud Moving Exchange to Hoster/Cloud
Exchange Lifecycle – Exchange 2007 and Office 2007
Exchange Lifecycle – Exchange 2007 and Office 2007 Same pattern applies, different provider
Patterns for Moving to the Cloud Hang on!  That looked too simple!
Exchange Lifecycle – Exchange 2007 and Office 2007 Made assumption that Identity Provider moved to the cloud also
Patterns for Moving to the Cloud How do we solve this?
Exchange Lifecycle – Exchange 2007 and Office 2007 We could use replication, but difficult to manage
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
Exchange Lifecycle – Exchange 2007 and Office 2007 Local AD STS (Secure Token Service)
Exchange Lifecycle – Exchange 2007 and Office 2007 Local AD STS (Secure Token Service) Passport Agency Registration Desk Door person
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
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)
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!
Patterns for Moving to the Cloud Why is this important for cloud computing?
Patterns for Moving to the Cloud Disgruntled ex-employees!
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
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!
Patterns for Moving to the Cloud Takeaways from Pattern #1
Patterns for Moving to the Cloud Transference is about moving on premises applications to the cloud
Patterns for Moving to the Cloud Largely the on-premise application goes across as is
Patterns for Moving to the Cloud Need to watch out for customizations that the hoster/cloud does not support
Patterns for Moving to the Cloud Relies on claims based identity (unless you are going to manage multiple identity stores)
Patterns for Moving to the Cloud Pattern 2:  Scale and Multi-Tenancy
“ 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)
“ Viral” Web Site, Hosted On Premises Let’s move it to a dedicated box instead
“ Viral” Web Site, Hosted On Premises Wow, things are really taking off! Can we borrow that machine over there? And that load balancer?
“ Viral” Web Site, Hosted by Hoster This is beyond our operations control – let’s move to a hoster instead
“ Viral” Web Site, Hosted by Hoster More users, more machines, more service packs/patches
Patterns for Moving to the Cloud Opposite pattern here is  predicting  the growth of the web site
Patterns for Moving to the Cloud What does this look like in the cloud?
“ 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
“ Viral” Web Site – Hosted using Azure This is starting to take off… Let’s increase to 2 x instances
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>
“ Viral” Web Site – Hosted using Azure This is starting to take off… Let’s increase to 5 x instances
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>
“ Viral” Web Site – Hosted using Azure Actually, we were wrong – this isn’t going to make us millionaires  Let’s turn it off!
Patterns for Moving to the Cloud Takeaways from Pattern #2
Patterns for Moving to the Cloud The cloud is not only for mega-scale applications
Patterns for Moving to the Cloud Architecture lets you start very small, yet expand when needed
Patterns for Moving to the Cloud Not all of those great ideas are going to work out!
Patterns for Moving to the Cloud Pattern 3:  Burst Compute
Configuring a Worker Role using Azure Let’s create 5 x worker roles
Configuring a Worker Role using Azure Cannot (and should not) consume worker roles directly
Configuring a Worker Role using Azure Need to expose through presentation (web role)
Configuring a Worker Role using Azure How do you pass data from the presentation (web role) to the business logic (worker role) to process?
PrimeSolvr Implementation Larry Clarkin and Wade Wegner Sr. Architect Evangelists, Central Region Microsoft Corporation
PrimeSolvr Application User passes a number to be checked if prime
PrimeSolvr Application User passes a number to be checked if prime
PrimeSolvr Application The data is stored in a table
PrimeSolvr Application A “pointer” to the data is placed on the queue
PrimeSolvr Application The worker role is configured to monitor the queue Picks up the job and processes
PrimeSolvr Application The result is placed within a table The presentation reads the table (and displays) on the next client request
Patterns for Moving to the Cloud Sure, but how does this scale again?
PrimeSolvr Application Multiple instances – scale to the number of Web users Multiple instances – scale to the pipeline of incoming requests
Show config here
Show config here
Patterns for Moving to the Cloud Try it out now! http://primesolvr.cloudapp.net/
Patterns for Moving to the Cloud Takeaways from Pattern #3
Patterns for Moving to the Cloud Anti pattern to expose worker role (business logic) directly
Patterns for Moving to the Cloud Passing data to worker role? Store in blob or table and pass pointer in queue
Patterns for Moving to the Cloud Returning result to web role? Store in blob or table, wait for web to refresh
Patterns for Moving to the Cloud Pattern 4:  Elastic Storage
Patterns for Moving to the Cloud Storage for the last few decades
File Storage over the Decades File Server Direct through RPC, NFS, etc.
File Storage over the Decades Intranet Portal
File Storage over the Decades Extranet Portal
File Storage over the Decades Problems with server affinity and mgt of large files.  Relational DB doesn’t solve problem either
Blob Storage using Azure Cloud provides support for storage through “blobs” REST interface (PutBlob, GetBlob, DeleteBlob)
Blob Storage using Azure Support for Blocks PutBlock(blob, block, data) How about timeouts over HTTP? 10Gb MRI image Commit with PutBlockList
Patterns for Moving to the Cloud … and getting the image back?
Blob Storage using Azure Please give me the image http://mri.blob.core.windows.net/images/432532432.mri.jpg
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
Patterns for Moving to the Cloud http://livelabs.com/seadragon/
Patterns for Moving to the Cloud What if I want to do relational storage in the cloud?
Patterns for Moving to the Cloud SQL Data Services (SDS)
Current SDS Implementation “ Code Near” Model Code near to home, “long” data access connection
Current SDS Implementation “ Code Far” Model Code far from home, “short” data access connection
Patterns for Moving to the Cloud SDS Moving Forward  Using Relational Model
Current SDS Implementation “ Code Near” Model using REST (Astoria)
Current SDS Implementation “ Code Far” Model using Azure application
Taking the MRI Example Forward TDS (Tabular Data Stream) over TCP Code Near Model (using existing SQL Client Library)
Patterns for Moving to the Cloud Takeaways from Pattern #4
Patterns for Moving to the Cloud Local storage is cheap, but management can be difficult
Patterns for Moving to the Cloud Cloud enables elastic storage growth for large files, but consider how user will access
Patterns for Moving to the Cloud SDS future has three ways of exposing – through HTTP (via Azure), through REST (via Astoria), through TDS
Patterns for Moving to the Cloud Pattern 5:  Inter-Org Communications
Azure Queues for Web to Worker Communication Queue works between web and worker role, but not outside the organization
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?
Intro Service Bus (product slide)
.NET Service Bus for Communication sb://…/myqueue (Outbound bi-directional socket, kept alive in background) Subscriber
.NET Service Bus for Communication sb://…/myqueue (Outbound one-way socket) Sender Message routed appropriately Delivered without the use of any inbound ports
Patterns for Moving to the Cloud One of the other components of .NET Services is workflow
Patterns for Moving to the Cloud Event Driven vs. Hosted
Event Driven Workflow Workflow defined using XOML
Patterns for Moving to the Cloud Does the workflow always have to be initiated from the client?
Hosted Workflow Hosted Workflow
Patterns for Moving to the Cloud Red Prairie Example
Red Prairie Example Orchestrator Service Recall – Lead paint discovered in Item #242522
Red Prairie Example Iterate through list of partners Send recall notice
Red Prairie Example Iterate through list of partners Send recall notice Receive and Log Acknowledgement
Patterns for Moving to the Cloud Takeaways from Pattern #5
Patterns for Moving to the Cloud Azure queues can be exposed through REST, but difficult to receive messages (without polling)
Patterns for Moving to the Cloud Protocol handling within the .NET Service Bus overcomes this
Patterns for Moving to the Cloud (Also provides durable queues as of March CTP)
Patterns for Moving to the Cloud Workflow can handle more complex communications
Patterns for Moving to the Cloud Hosted workflow in the cloud useful for monitoring
Conclusion
Conclusion We covered 5 patterns
Conclusion Pattern 1:  Transference
Conclusion Pattern 2:  Scale and Multi-Tenancy
Conclusion Pattern 3:   Burst Compute
Conclusion Pattern 4:  Elastic Storage
Conclusion Pattern 5:  Inter-Org Communication
Conclusion These are “starter” patterns - not an exhaustive list, but show some of the different archetypes of applications possible in the cloud today
Conclusion This space is still evolving, but very exciting to see the new patterns that will emerge
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!
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.
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.
Complete an evaluation on CommNet and enter to win! Required Slide
© 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

More Related Content

PPT
Impact Of The Cloud For IT Managers
PPT
Demystifying The Cloud
PPTX
The Fast Path to Building a Private Cloud (With Guest Speaker from Forrester ...
PDF
2014 Future of Cloud Computing - 4th Annual Survey Results
PPT
Thinking Strategically about Cloud Computing
PDF
Microsoft Cloud Services Architecture
PPT
Why Should Nonprofits Care About Cloud Computing
PPTX
Boarding an Exciting Career Path with Amazon Cloud
Impact Of The Cloud For IT Managers
Demystifying The Cloud
The Fast Path to Building a Private Cloud (With Guest Speaker from Forrester ...
2014 Future of Cloud Computing - 4th Annual Survey Results
Thinking Strategically about Cloud Computing
Microsoft Cloud Services Architecture
Why Should Nonprofits Care About Cloud Computing
Boarding an Exciting Career Path with Amazon Cloud

What's hot (16)

PDF
Challenges in cloud computing to enable future internet of things v0.3
PPT
The Cloud as Opportunity: Invitation to Entrepreneurs
DOC
Cloud1
PPT
Cloud computing and_saas
PPT
Cloud computing and_saas
PPTX
Advantages to Adoption the Microsoft Cloud - Microsoft Customer Executive Summit
PPT
Cloud Application Development Lifecycle
PDF
Your Journey to the Cloud
PDF
White Paper - Cloudscape 2015
PPTX
Microsoft Windows Azure - Platfrom Appfabric Service Bus And Access Control P...
PPT
Privacy Issues of Cloud Computing in the Federal Sector
PPTX
Why Cloud Management Makes Sense
PPTX
Advancing Cloud Initiatives and Removing Barriers to Adoption
PPTX
App Modernisation with Microsoft Azure
PDF
Cloud Computing for Lawyers: Practical and Ethical Uses of the Cloud
PPTX
Cloud workload migration guidelines
Challenges in cloud computing to enable future internet of things v0.3
The Cloud as Opportunity: Invitation to Entrepreneurs
Cloud1
Cloud computing and_saas
Cloud computing and_saas
Advantages to Adoption the Microsoft Cloud - Microsoft Customer Executive Summit
Cloud Application Development Lifecycle
Your Journey to the Cloud
White Paper - Cloudscape 2015
Microsoft Windows Azure - Platfrom Appfabric Service Bus And Access Control P...
Privacy Issues of Cloud Computing in the Federal Sector
Why Cloud Management Makes Sense
Advancing Cloud Initiatives and Removing Barriers to Adoption
App Modernisation with Microsoft Azure
Cloud Computing for Lawyers: Practical and Ethical Uses of the Cloud
Cloud workload migration guidelines
Ad

Viewers also liked (18)

PDF
사회복지정보원 소개
PDF
예산분석 보고서
PPT
人类活动破坏生态环境
PPT
动物体的结构层次
PPT
Demystifyingthecloudprc02guest
PPT
11학번 유고은의 BSD 방중보고
PPTX
12차 복지순례 합동수료식 추억나눔
PPT
青春期心理健康
PPT
Impactofthecloudforitmanagersisb204guest
PDF
사회복지정보원 소개
PDF
I pp2011101400 자료집_연구소심포지엄
PDF
예산분석 보고서
PPT
青春期心理健康
PPT
青春期心理健康
PPT
植物光合作用的发现
PDF
I pp2011101400 자료집_연구소심포지엄
PDF
12차 복지순례단 합동수료식 추억나눔
PDF
복지국가운동과 사회복지사
사회복지정보원 소개
예산분석 보고서
人类活动破坏生态环境
动物体的结构层次
Demystifyingthecloudprc02guest
11학번 유고은의 BSD 방중보고
12차 복지순례 합동수료식 추억나눔
青春期心理健康
Impactofthecloudforitmanagersisb204guest
사회복지정보원 소개
I pp2011101400 자료집_연구소심포지엄
예산분석 보고서
青春期心理健康
青春期心理健康
植物光合作用的发现
I pp2011101400 자료집_연구소심포지엄
12차 복지순례단 합동수료식 추억나눔
복지국가운동과 사회복지사
Ad

Similar to Patternsformovingtothecloudarc308guest (20)

PPTX
Cloud Computing India Introduction and Overview - by karROX
PPTX
Practical Cloud - Stephen Betts (Avanade)
PPT
ArcReady - Architecting Modern Distributed Applications
PPT
Architectural Principles for Software + Services
PPT
Azure Overview Capgemini
PPTX
DODN2009 - Architecting Modern Distributed Applications
PPTX
DevLink - Architecting Modern Distributed Applications
PPTX
Moving Enterprise Applications To The Cloud
PPT
Azure Services Platform_Partner_Briefing
PPTX
Jumpstart Azure
PPTX
Cloud Computing
PPTX
Cloud native computing
PPT
Enabling Cloud Computing
PPT
Sami-Cloud
PDF
cloud ppt Sushil-604234071.pdf for engineering
PPTX
PDF
Cloud what is the best model for vietnam
PPTX
Cloud Native development.pptx
PPTX
Azure Overview Arc
PPTX
Basic Overview Of Cloud Computing
Cloud Computing India Introduction and Overview - by karROX
Practical Cloud - Stephen Betts (Avanade)
ArcReady - Architecting Modern Distributed Applications
Architectural Principles for Software + Services
Azure Overview Capgemini
DODN2009 - Architecting Modern Distributed Applications
DevLink - Architecting Modern Distributed Applications
Moving Enterprise Applications To The Cloud
Azure Services Platform_Partner_Briefing
Jumpstart Azure
Cloud Computing
Cloud native computing
Enabling Cloud Computing
Sami-Cloud
cloud ppt Sushil-604234071.pdf for engineering
Cloud what is the best model for vietnam
Cloud Native development.pptx
Azure Overview Arc
Basic Overview Of Cloud Computing

Patternsformovingtothecloudarc308guest

  • 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”
  • 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
  • 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
  • 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
  • 49. What do we need to start to dig deeper into some of the patterns?
  • 50. First need to cover some 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
  • 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
  • 60. Building Blocks Authentication Username / Password or Claims based Role Based Authorization Role-checking and Authorization
  • 62. Building Blocks Event Based Triggered based on events (e.g. document upload) Worker Based Persistent workflow, always active (e.g. monitoring service)
  • 65. Building Blocks Presentation Web Role Business Logic Worker Role
  • 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
  • 76. Building Blocks Devices Dedicated devices Consoles Games Consoles
  • 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
  • 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?
  • 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
  • 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

Editor's Notes

  • #2: Tech·Ed  North America 2009 02/06/12 19:37 © 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.
  • #3: Tech·Ed  North America 2009 02/06/12 19:37 © 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.
  • #132: 02/06/12 19:37 © 2007 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. If you would like to host your demo on the Virtual Server, please use the myVPC demo slide, not this slide.
  • #206: 02/06/12 19:37 © 2007 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.