Architectural Principles for Software + Services

Download Architectural Principles for Software + Services

Post on 09-May-2015

4.052 views

Category:

Technology

2 download

Embed Size (px)

DESCRIPTION

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

TRANSCRIPT

<ul><li>1. </li></ul> <p>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 runson-premises Buy my own hardware, and manage my own data center Application runs at ahoster Pay someone to host my application using hardware that I specify Application runs usingcloudplatform 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 runson-premises Buy my own hardware, and manage my own data center Application runs at ahoster Pay someone to host my application using hardware that I specify Application runs usingcloudplatform 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 runson-premises Buy my own hardware, and manage my own data center Application runs at ahoster Pay someone to host my application using hardware that I specify Application runs usingcloudplatform 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 Ive 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 its 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 cant afford to maintain this old HR application written in VB its 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 Im 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-basedRelational Hosted relational database, familiar, transactional, finiteUnstructured 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 modelPeer 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, IndexingSocial Social Graphs, ProfilesContent Management Indexing, Retrieval, Conflict Management 42. Architectural Principles for Software + Services 43. Architectural Principles for Software + Services Transaction Pay for each transactionSubscription Pay per month/periodLicensing Pay per user/machineAdvertising Advert funded model 44. Architectural Principles for Software + Services 45. Architectural Principles for Software + Services Service Composition Composition, brokering results, aggregationLine 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 etcDynamic Asynchronous interaction, AJAX etc.RIA Rich Internet Applications, high visuals, limited offline supportStreaming 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 HTMLRSS 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 inOffice 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 inOffice 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 Microsofts 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 </p> <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> <p>109. Challenge 1 - Identity 110. Architectural Challenges Challenge 2 Data 111. Challenge 2 - Data 112. Challenge 2 - Data </p> <ul><li>Import and Export of Data </li></ul> <ul><li>Privacy of External Data </li></ul> <ul><li>Reporting and Analytics </li></ul> <p>113. Architectural Challenges Challenge 3 Management 114. Challenge 3 - Management 115. Challenge 3 - Management </p> <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> <p>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 rdParty 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. </p>