Your SlideShare is downloading. ×
0
 
Architectural Principles for Software + Services Simon Guest Senior Director Platform Architecture Team Microsoft Corporat...
Industry Trends
Industry Trends Trend 1: Service Oriented Architecture (SOA)
Industry Trends
Industry Trends Trend 2: Software as a Service (SaaS)
Industry Trends
Industry Trends Trend 3: Web 2.0
Industry Trends
Industry Trends Trend 4: Rich Internet Applications (RIA)
Industry Trends
Industry Trends Trend 5: Cloud Computing
Industry Trends
Industry Trends What common architectural principles apply across all of these trends?
Heads in the Cloud, Feet on the Ground
Heads in the Cloud, Feet on the Ground When it comes to running applications, organizations today face a tension between c...
Heads in the Cloud, Feet on the Ground Economy of Scale Low High Control High Low Application runs  on-premises Buy my own...
Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud Application runs  on-premises Buy my own ha...
Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud Application runs  on-premises Buy my own ha...
Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud “ Packaged” Application An application that...
Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud Build vs. Buy Build Buy “ Packaged” Applica...
Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud “ Too costly to run this myself, but I’ve m...
Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud “ CRM and Email are commodity services – Th...
Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud “ I can’t afford to maintain this old HR ap...
Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud “ I wish I had access to cheaper compute an...
Heads in the Cloud, Feet on the Ground On Premises vs. Cloud On Premises Cloud “ THIS is where I want to spend my IT resou...
Architectural Principles for Software + Services
Architectural Principles for Software + Services
Architectural Principles for Software + Services Physical, Dedicated Single service on dedicated hardware Physical, Shared...
Architectural Principles for Software + Services
Architectural Principles for Software + Services
Architectural Principles for Software + Services File Fileshare, flat, page-based  Relational Hosted relational database, ...
Architectural Principles for Software + Services
Architectural Principles for Software + Services Service Bus Asynchronous, reliable messaging, publish/subscribe model  Pe...
Architectural Principles for Software + Services
Architectural Principles for Software + Services Authentication Username / Password or claims based Role Based Authorizati...
Architectural Principles for Software + Services
Architectural Principles for Software + Services Event Based Triggered based on events (e.g. document upload)  High Throug...
Architectural Principles for Software + Services
Architectural Principles for Software + Services
Architectural Principles for Software + Services Search Text Search, Image Search, Indexing  Social Social Graphs, Profile...
Architectural Principles for Software + Services
Architectural Principles for Software + Services Transaction Pay for each transaction  Subscription Pay per month/period  ...
Architectural Principles for Software + Services
Architectural Principles for Software + Services Service Composition Composition, brokering results, aggregation  Line of ...
Architectural Principles for Software + Services
Architectural Principles for Software + Services Business Logic  (Rules) Entities  (Schema) Workflow  (Process)
Architectural Principles for Software + Services
Architectural Principles for Software + Services Static Static content, HTML etc  Dynamic Asynchronous interaction, AJAX e...
Architectural Principles for Software + Services
Architectural Principles for Software + Services Web Services SOAP based, WS-I compliant, WS-*  REST CRUD access to servic...
Architectural Principles for Software + Services VoiceXML Mobile Application Speech API SIP Session Initiation Protocol – ...
Architectural Principles for Software + Services
Architectural Principles for Software + Services
Architectural Principles for Software + Services Browser Consumer of web based content, HTML etc., including RIA plug in  ...
Architectural Principles for Software + Services
Architectural Principles for Software + Services Browser Consumer of web based content, HTML etc., including RIA plug in  ...
Architectural Principles for Software + Services
Architectural Principles for Software + Services Devices Dedicated devices Consoles Games Consoles
Architectural Principles for Software + Services
Architectural Principles for Software + Services
Architectural Principles for Software + Services What type of architectural patterns can we show using these principles?
Static Web Site, On Premise
Static Web Site, On Premise (Add Content Mgt)
Static Web Site, On Premise (Add Search/Social)
Static Web Site, On Premise (Add Ad Service)
Static Web Site, On Premise (Move to Hoster)
Static Web Site, On Premise (Add AJAX)
Static Web Site, On Premise (Add Mobile RSS)
Architectural Principles for Software + Services How about the trends we talked about earlier?
Architectural Principles for Software + Services Trend 1: Service Oriented Architecture (SOA)
Trend 1: SOA - Single Service, On Premise
Trend 1: SOA - Single Service, On Premise
Trend 1: SOA - Single Service, On Premise
Trend 1: SOA - Single Service, On Premise
Trend 1: SOA - Single Service, On Premise
Trend 1: SOA - Single Service, On Premise
Trend 1: SOA - Single Service, On Premise
Trend 1: SOA - Single Service, On Premise
Architectural Principles for Software + Services Trend 2: Software as a Service (SaaS)
Trend 2: SaaS – Web Based SaaS Provider
Trend 2: SaaS – Web Based SaaS Provider
Trend 2: SaaS – Web Based SaaS Provider
Architectural Principles for Software + Services Trend 3: Web 2.0
Trend 3: Web 2.0 – Social Networking Site
Trend 3: Web 2.0 – Social Networking Site
Architectural Principles for Software + Services Trend 4: Rich Internet Applications
Trend 4: RIA – eCommerce Site
Trend 4: RIA – eCommerce Site
Trend 4: RIA – eCommerce Site
Trend 4: RIA – eCommerce Site
Architectural Principles for Software + Services Trend 5: Cloud Computing
Trend 5: Cloud Computing – Backup Provider
Trend 5: Cloud Computing – Backup Provider
Trend 5: Cloud Computing – Backup Provider
Trend 5: Cloud Computing – Backup Provider
Architectural Principles for Software + Services How about Microsoft’s own products?
Exchange Lifecycle (Exchange 4.0, Outlook 97)
Exchange Lifecycle (Exchange 5.0, Outlook 97)
Exchange Lifecycle (Exchange 5.0 SP1, Outlook XP)
Exchange Lifecycle (Exchange 2003, Outlook 2003)
Exchange Lifecycle (Exchange 2007, Outlook 2007)
Exchange Lifecycle (Hosted Exchange, Outlook 2007)
Architectural Challenges
Architectural Challenges Challenge 1 - Identity
Challenge 1 - Identity
Challenge 1 - Identity
Challenge 1 - Identity <ul><li>Accessing Hosted Assets with Internal Credentials </li></ul><ul><li>AuthN and AuthZ across ...
Challenge 1 - Identity
Architectural Challenges Challenge 2 – Data
Challenge 2 - Data
Challenge 2 - Data <ul><li>Import and Export of Data </li></ul><ul><li>Privacy of External Data </li></ul><ul><li>Reportin...
Architectural Challenges Challenge 3 – Management
Challenge 3 - Management
Challenge 3 - Management <ul><li>Holistic View of Application? </li></ul><ul><li>Integration into existing System Manageme...
Software + Services – Next Steps
Software + Services – Next Steps Step 1 – Understand many successful applications are a combination of Software + Services
Software + Services – Next Steps Step 2 – Use the “principles” to visualize, decompose and recompose existing applications
Software + Services – Next Steps Step 3 – Understand the Technology Mappings
Software + Services – Next Steps IE8 Windows Mobile 7 XBOX 360 IIS 7 SL Streaming WCF .NET Framework MOSS 2007 BTS Adapter...
Software + Services – Next Steps Step 4 – Blueprints for repeatable patterns
Software + Services – Next Steps
Software + Services – Next Steps
Software + Services – Next Steps Step 5 – Get the right people involved
Software + Services – Next Steps Infrastructure Architect / Data Center Operations Solutions and Infrastructure Architect ...
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be...
Upcoming SlideShare
Loading in...5
×

Architectural Principles for Software + Services

4,136

Published on

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

Published in: Technology, Business
0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,136
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
746
Comments
0
Likes
9
Embeds 0
No embeds

No notes for slide
  • 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.
  • Transcript of "Architectural Principles for Software + Services"

    1. 2. Architectural Principles for Software + Services Simon Guest Senior Director Platform Architecture Team Microsoft Corporation
    2. 3. Industry Trends
    3. 4. Industry Trends Trend 1: Service Oriented Architecture (SOA)
    4. 5. Industry Trends
    5. 6. Industry Trends Trend 2: Software as a Service (SaaS)
    6. 7. Industry Trends
    7. 8. Industry Trends Trend 3: Web 2.0
    8. 9. Industry Trends
    9. 10. Industry Trends Trend 4: Rich Internet Applications (RIA)
    10. 11. Industry Trends
    11. 12. Industry Trends Trend 5: Cloud Computing
    12. 13. Industry Trends
    13. 14. Industry Trends What common architectural principles apply across all of these trends?
    14. 15. Heads in the Cloud, Feet on the Ground
    15. 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
    16. 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)
    17. 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)
    18. 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
    19. 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
    20. 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”
    21. 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
    22. 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
    23. 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
    24. 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
    25. 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
    26. 27. Architectural Principles for Software + Services
    27. 28. Architectural Principles for Software + Services
    28. 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
    29. 30. Architectural Principles for Software + Services
    30. 31. Architectural Principles for Software + Services
    31. 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
    32. 33. Architectural Principles for Software + Services
    33. 34. Architectural Principles for Software + Services Service Bus Asynchronous, reliable messaging, publish/subscribe model Peer to Peer Node registration, directory, presence awareness
    34. 35. Architectural Principles for Software + Services
    35. 36. Architectural Principles for Software + Services Authentication Username / Password or claims based Role Based Authorization Role-checking and authorization
    36. 37. Architectural Principles for Software + Services
    37. 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)
    38. 39. Architectural Principles for Software + Services
    39. 40. Architectural Principles for Software + Services
    40. 41. Architectural Principles for Software + Services Search Text Search, Image Search, Indexing Social Social Graphs, Profiles Content Management Indexing, Retrieval, Conflict Management
    41. 42. Architectural Principles for Software + Services
    42. 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
    43. 44. Architectural Principles for Software + Services
    44. 45. Architectural Principles for Software + Services Service Composition Composition, brokering results, aggregation Line of Business Integration Service wrapping of mainframe and other LOB applications
    45. 46. Architectural Principles for Software + Services
    46. 47. Architectural Principles for Software + Services Business Logic (Rules) Entities (Schema) Workflow (Process)
    47. 48. Architectural Principles for Software + Services
    48. 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.
    49. 50. Architectural Principles for Software + Services
    50. 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
    51. 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
    52. 53. Architectural Principles for Software + Services
    53. 54. Architectural Principles for Software + Services
    54. 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
    55. 56. Architectural Principles for Software + Services
    56. 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
    57. 58. Architectural Principles for Software + Services
    58. 59. Architectural Principles for Software + Services Devices Dedicated devices Consoles Games Consoles
    59. 60. Architectural Principles for Software + Services
    60. 61. Architectural Principles for Software + Services
    61. 62. Architectural Principles for Software + Services What type of architectural patterns can we show using these principles?
    62. 63. Static Web Site, On Premise
    63. 64. Static Web Site, On Premise (Add Content Mgt)
    64. 65. Static Web Site, On Premise (Add Search/Social)
    65. 66. Static Web Site, On Premise (Add Ad Service)
    66. 67. Static Web Site, On Premise (Move to Hoster)
    67. 68. Static Web Site, On Premise (Add AJAX)
    68. 69. Static Web Site, On Premise (Add Mobile RSS)
    69. 70. Architectural Principles for Software + Services How about the trends we talked about earlier?
    70. 71. Architectural Principles for Software + Services Trend 1: Service Oriented Architecture (SOA)
    71. 72. Trend 1: SOA - Single Service, On Premise
    72. 73. Trend 1: SOA - Single Service, On Premise
    73. 74. Trend 1: SOA - Single Service, On Premise
    74. 75. Trend 1: SOA - Single Service, On Premise
    75. 76. Trend 1: SOA - Single Service, On Premise
    76. 77. Trend 1: SOA - Single Service, On Premise
    77. 78. Trend 1: SOA - Single Service, On Premise
    78. 79. Trend 1: SOA - Single Service, On Premise
    79. 80. Architectural Principles for Software + Services Trend 2: Software as a Service (SaaS)
    80. 81. Trend 2: SaaS – Web Based SaaS Provider
    81. 82. Trend 2: SaaS – Web Based SaaS Provider
    82. 83. Trend 2: SaaS – Web Based SaaS Provider
    83. 84. Architectural Principles for Software + Services Trend 3: Web 2.0
    84. 85. Trend 3: Web 2.0 – Social Networking Site
    85. 86. Trend 3: Web 2.0 – Social Networking Site
    86. 87. Architectural Principles for Software + Services Trend 4: Rich Internet Applications
    87. 88. Trend 4: RIA – eCommerce Site
    88. 89. Trend 4: RIA – eCommerce Site
    89. 90. Trend 4: RIA – eCommerce Site
    90. 91. Trend 4: RIA – eCommerce Site
    91. 92. Architectural Principles for Software + Services Trend 5: Cloud Computing
    92. 93. Trend 5: Cloud Computing – Backup Provider
    93. 94. Trend 5: Cloud Computing – Backup Provider
    94. 95. Trend 5: Cloud Computing – Backup Provider
    95. 96. Trend 5: Cloud Computing – Backup Provider
    96. 97. Architectural Principles for Software + Services How about Microsoft’s own products?
    97. 98. Exchange Lifecycle (Exchange 4.0, Outlook 97)
    98. 99. Exchange Lifecycle (Exchange 5.0, Outlook 97)
    99. 100. Exchange Lifecycle (Exchange 5.0 SP1, Outlook XP)
    100. 101. Exchange Lifecycle (Exchange 2003, Outlook 2003)
    101. 102. Exchange Lifecycle (Exchange 2007, Outlook 2007)
    102. 103. Exchange Lifecycle (Hosted Exchange, Outlook 2007)
    103. 104. Architectural Challenges
    104. 105. Architectural Challenges Challenge 1 - Identity
    105. 106. Challenge 1 - Identity
    106. 107. Challenge 1 - Identity
    107. 108. Challenge 1 - Identity <ul><li>Accessing Hosted Assets with Internal Credentials </li></ul><ul><li>AuthN and AuthZ across FW </li></ul><ul><li>Credential Storage </li></ul>
    108. 109. Challenge 1 - Identity
    109. 110. Architectural Challenges Challenge 2 – Data
    110. 111. Challenge 2 - Data
    111. 112. Challenge 2 - Data <ul><li>Import and Export of Data </li></ul><ul><li>Privacy of External Data </li></ul><ul><li>Reporting and Analytics </li></ul>
    112. 113. Architectural Challenges Challenge 3 – Management
    113. 114. Challenge 3 - Management
    114. 115. Challenge 3 - Management <ul><li>Holistic View of Application? </li></ul><ul><li>Integration into existing System Management solutions? </li></ul><ul><li>Contracts and SLAs </li></ul>
    115. 116. Software + Services – Next Steps
    116. 117. Software + Services – Next Steps Step 1 – Understand many successful applications are a combination of Software + Services
    117. 118. Software + Services – Next Steps Step 2 – Use the “principles” to visualize, decompose and recompose existing applications
    118. 119. Software + Services – Next Steps Step 3 – Understand the Technology Mappings
    119. 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
    120. 121. Software + Services – Next Steps Step 4 – Blueprints for repeatable patterns
    121. 122. Software + Services – Next Steps
    122. 123. Software + Services – Next Steps
    123. 124. Software + Services – Next Steps Step 5 – Get the right people involved
    124. 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
    125. 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.
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×