Architectural Principles for Software + Services
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Architectural Principles for Software + Services

on

  • 7,347 views

An overview of some of the architectural principles and patterns for Software + Services, presented at the SAF (Strategic Architect Forum) in 2008.

An overview of some of the architectural principles and patterns for Software + Services, presented at the SAF (Strategic Architect Forum) in 2008.

Statistics

Views

Total Views
7,347
Views on SlideShare
7,238
Embed Views
109

Actions

Likes
9
Downloads
728
Comments
0

4 Embeds 109

http://simonguest.com 86
http://www.slideshare.net 21
http://www.jroller.com 1
http://localhost:8081 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 06/07/09 05:45 © 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.

Architectural Principles for Software + Services Presentation Transcript

  • 1.  
  • 2. Architectural Principles for Software + Services Simon Guest Senior Director Platform Architecture Team Microsoft Corporation
  • 3. Industry Trends
  • 4. Industry Trends Trend 1: Service Oriented Architecture (SOA)
  • 5. Industry Trends
  • 6. Industry Trends Trend 2: Software as a Service (SaaS)
  • 7. Industry Trends
  • 8. Industry Trends Trend 3: Web 2.0
  • 9. Industry Trends
  • 10. Industry Trends Trend 4: Rich Internet Applications (RIA)
  • 11. Industry Trends
  • 12. Industry Trends Trend 5: Cloud Computing
  • 13. Industry Trends
  • 14. Industry Trends What common architectural principles apply across all of these trends?
  • 15. Heads in the Cloud, Feet on the Ground
  • 16. Heads in the Cloud, Feet on the Ground When it comes to running applications, organizations today face a tension between control and economy of scale Economy of Scale Low High Control High Low
  • 17. Heads in the Cloud, Feet on the Ground Economy of Scale Low High Control High Low 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 to host my application without specifying the hardware (they promise to be “infinitely” scalable)
  • 18. Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises 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 to host my application without specifying the hardware (they promise to be “infinitely” scalable)
  • 19. Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises 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 to host my application without specifying the hardware (they promise to be “infinitely” scalable) Build vs. Buy Build Buy
  • 20. Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud “ 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 Build vs. Buy Build Buy
  • 21. Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud Build vs. Buy Build Buy “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service”
  • 22. Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud “ Too costly to run this myself, but I’ve made too many customizations” “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” Build vs. Buy Build Buy Clinical Trial Molecule Research HR System Email CRM ERP
  • 23. Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud “ CRM and Email are commodity services – They have no customizations, and it’s cheaper for someone else to run these” “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” Build vs. Buy Build Buy Clinical Trial Molecule Research HR System Email CRM ERP
  • 24. Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud “ I can’t afford to maintain this old HR application written in VB – it’s driving me mad!” “… but due to regulatory issues, I cannot store my HR data off-premise” “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” Build vs. Buy Build Buy Clinical Trial Molecule Research HR System Email CRM ERP
  • 25. Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud “ I wish I had access to cheaper compute and storage when I need it” “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” Build vs. Buy Build Buy Clinical Trial Molecule Research Email CRM ERP HR System
  • 26. Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud “ THIS is where I want to spend my IT resources – I’m going to double down on this application!” “ Packaged” Application “ Home Built” Application Hosted “ Home Built” Hosted “ Packaged” Cloud Platform “ Software as a Service” Build vs. Buy Build Buy Clinical Trial Molecule Research Email CRM ERP HR System
  • 27. Architectural Principles for Software + Services
  • 28. Architectural Principles for Software + Services
  • 29. Architectural Principles for Software + Services Physical, Dedicated Single service on dedicated hardware Physical, Shared Multiple services sharing same hardware Physical, HPC Physical hardware supporting HPC scenario Virtual, Single Single instance virtual image Virtual, Shared Multiple instance virtual image
  • 30. Architectural Principles for Software + Services
  • 31. Architectural Principles for Software + Services
  • 32. Architectural Principles for Software + Services File Fileshare, flat, page-based Relational Hosted relational database, familiar, transactional, finite Unstructured Key/value Pair, no atomicity, infinitely scalable
  • 33. Architectural Principles for Software + Services
  • 34. Architectural Principles for Software + Services Service Bus Asynchronous, reliable messaging, publish/subscribe model Peer to Peer Node registration, directory, presence awareness
  • 35. Architectural Principles for Software + Services
  • 36. Architectural Principles for Software + Services Authentication Username / Password or claims based Role Based Authorization Role-checking and authorization
  • 37. Architectural Principles for Software + Services
  • 38. Architectural Principles for Software + Services Event Based Triggered based on events (e.g. document upload) High Throughput Low latency, high volume (e.g. trading confirmations)
  • 39. Architectural Principles for Software + Services
  • 40. Architectural Principles for Software + Services
  • 41. Architectural Principles for Software + Services Search Text Search, Image Search, Indexing Social Social Graphs, Profiles Content Management Indexing, Retrieval, Conflict Management
  • 42. Architectural Principles for Software + Services
  • 43. Architectural Principles for Software + Services Transaction Pay for each transaction Subscription Pay per month/period Licensing Pay per user/machine Advertising Advert funded model
  • 44. Architectural Principles for Software + Services
  • 45. Architectural Principles for Software + Services Service Composition Composition, brokering results, aggregation Line of Business Integration Service wrapping of mainframe and other LOB applications
  • 46. Architectural Principles for Software + Services
  • 47. Architectural Principles for Software + Services Business Logic (Rules) Entities (Schema) Workflow (Process)
  • 48. Architectural Principles for Software + Services
  • 49. Architectural Principles for Software + Services Static Static content, HTML etc Dynamic Asynchronous interaction, AJAX etc. RIA Rich Internet Applications, high visuals, limited offline support Streaming Optimized for content delivery, videos etc.
  • 50. Architectural Principles for Software + Services
  • 51. Architectural Principles for Software + Services Web Services SOAP based, WS-I compliant, WS-* REST CRUD access to services via HTML RSS Syndication services for subscriptions
  • 52. Architectural Principles for Software + Services VoiceXML Mobile Application Speech API SIP Session Initiation Protocol – IM Clients SMTP Email inbound and outbound delivery SMS Mobile inbound and outbound text messaging
  • 53. Architectural Principles for Software + Services
  • 54. Architectural Principles for Software + Services
  • 55. Architectural Principles for Software + Services 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
  • 56. Architectural Principles for Software + Services
  • 57. Architectural Principles for Software + Services 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
  • 58. Architectural Principles for Software + Services
  • 59. Architectural Principles for Software + Services Devices Dedicated devices Consoles Games Consoles
  • 60. Architectural Principles for Software + Services
  • 61. Architectural Principles for Software + Services
  • 62. Architectural Principles for Software + Services What type of architectural patterns can we show using these principles?
  • 63. Static Web Site, On Premise
  • 64. Static Web Site, On Premise (Add Content Mgt)
  • 65. Static Web Site, On Premise (Add Search/Social)
  • 66. Static Web Site, On Premise (Add Ad Service)
  • 67. Static Web Site, On Premise (Move to Hoster)
  • 68. Static Web Site, On Premise (Add AJAX)
  • 69. Static Web Site, On Premise (Add Mobile RSS)
  • 70. Architectural Principles for Software + Services How about the trends we talked about earlier?
  • 71. Architectural Principles for Software + Services Trend 1: Service Oriented Architecture (SOA)
  • 72. Trend 1: SOA - Single Service, On Premise
  • 73. Trend 1: SOA - Single Service, On Premise
  • 74. Trend 1: SOA - Single Service, On Premise
  • 75. Trend 1: SOA - Single Service, On Premise
  • 76. Trend 1: SOA - Single Service, On Premise
  • 77. Trend 1: SOA - Single Service, On Premise
  • 78. Trend 1: SOA - Single Service, On Premise
  • 79. Trend 1: SOA - Single Service, On Premise
  • 80. Architectural Principles for Software + Services Trend 2: Software as a Service (SaaS)
  • 81. Trend 2: SaaS – Web Based SaaS Provider
  • 82. Trend 2: SaaS – Web Based SaaS Provider
  • 83. Trend 2: SaaS – Web Based SaaS Provider
  • 84. Architectural Principles for Software + Services Trend 3: Web 2.0
  • 85. Trend 3: Web 2.0 – Social Networking Site
  • 86. Trend 3: Web 2.0 – Social Networking Site
  • 87. Architectural Principles for Software + Services Trend 4: Rich Internet Applications
  • 88. Trend 4: RIA – eCommerce Site
  • 89. Trend 4: RIA – eCommerce Site
  • 90. Trend 4: RIA – eCommerce Site
  • 91. Trend 4: RIA – eCommerce Site
  • 92. Architectural Principles for Software + Services Trend 5: Cloud Computing
  • 93. Trend 5: Cloud Computing – Backup Provider
  • 94. Trend 5: Cloud Computing – Backup Provider
  • 95. Trend 5: Cloud Computing – Backup Provider
  • 96. Trend 5: Cloud Computing – Backup Provider
  • 97. Architectural Principles for Software + Services How about Microsoft’s own products?
  • 98. Exchange Lifecycle (Exchange 4.0, Outlook 97)
  • 99. Exchange Lifecycle (Exchange 5.0, Outlook 97)
  • 100. Exchange Lifecycle (Exchange 5.0 SP1, Outlook XP)
  • 101. Exchange Lifecycle (Exchange 2003, Outlook 2003)
  • 102. Exchange Lifecycle (Exchange 2007, Outlook 2007)
  • 103. Exchange Lifecycle (Hosted Exchange, Outlook 2007)
  • 104. Architectural Challenges
  • 105. Architectural Challenges Challenge 1 - Identity
  • 106. Challenge 1 - Identity
  • 107. Challenge 1 - Identity
  • 108. Challenge 1 - Identity
    • Accessing Hosted Assets with Internal Credentials
    • AuthN and AuthZ across FW
    • Credential Storage
  • 109. Challenge 1 - Identity
  • 110. Architectural Challenges Challenge 2 – Data
  • 111. Challenge 2 - Data
  • 112. Challenge 2 - Data
    • Import and Export of Data
    • Privacy of External Data
    • Reporting and Analytics
  • 113. Architectural Challenges Challenge 3 – Management
  • 114. Challenge 3 - Management
  • 115. Challenge 3 - Management
    • Holistic View of Application?
    • Integration into existing System Management solutions?
    • Contracts and SLAs
  • 116. Software + Services – Next Steps
  • 117. Software + Services – Next Steps Step 1 – Understand many successful applications are a combination of Software + Services
  • 118. Software + Services – Next Steps Step 2 – Use the “principles” to visualize, decompose and recompose existing applications
  • 119. Software + Services – Next Steps Step 3 – Understand the Technology Mappings
  • 120. Software + Services – Next Steps IE8 Windows Mobile 7 XBOX 360 IIS 7 SL Streaming WCF .NET Framework MOSS 2007 BTS Adapters MOSS 2007 BDC AD / ADFS .NET Services Ad Center .NET Framework 3 rd Party BizTalk 2006 R2 ILM .NET Services BizTalk / BizTalk.Net Live Services IIS 7 SQL Server SQL Services Windows WF MOSS 2007 .NET Services Windows WF BizTalk Server .NET Services Windows Server 2008 WS 2008 HPC Windows Server 2008 Hyper-V Office WPF Vista OC Win Embed .NET CF Windows Azure
  • 121. Software + Services – Next Steps Step 4 – Blueprints for repeatable patterns
  • 122. Software + Services – Next Steps
  • 123. Software + Services – Next Steps
  • 124. Software + Services – Next Steps Step 5 – Get the right people involved
  • 125. Software + Services – Next Steps Infrastructure Architect / Data Center Operations Solutions and Infrastructure Architect Solutions Architect and Development Team Solutions Architect and Development Team (inc. Web Design) Solutions Architect and Development Team (inc. Designer) Enterprise Architect and CIO Data Center Operations
  • 126. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.