S+S Architecture Overview

618 views
511 views

Published on

This is a talk I give to explain S+S and provide architectural guidance on how to understand and build S+S solutions.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
618
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
56
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • 06/07/09 23:35 © 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.
  • S+S Architecture Overview

    1. 1. An Architectural Overview of Software + Services David Solivan Architect Evangelist Microsoft Corporation [email_address] Twitter alias: mrbeaudreaux http://www.youtube.com/dsolivan Gamertag: MagicalSolly Blog: http://blogs.msdn.com/beaudreaux
    2. 2. Some Recent History
    3. 3. In the beginning… centralization .
    4. 4. Some Recent History
    5. 5. Some Recent History
    6. 6. Some Recent History Then we realized distribution was best.
    7. 7. Some Recent History
    8. 8. Some Recent History
    9. 9. Some Recent History The we saw that what we really needed was centralization .
    10. 10. Some Recent History
    11. 11. Some Recent History
    12. 12. Why The Back and Forth??? Security & Privacy Customizability Visibility & Control Data accessibility Global reach Ease of provisioning Business agility Deployability & manageability
    13. 13. Industry Trends
    14. 14. Industry Trends Trend 1: Service Oriented Architecture (SOA)
    15. 15. Industry Trends
    16. 16. Industry Trends Trend 2: Software as a Service (SaaS)
    17. 17. Industry Trends
    18. 18. Industry Trends Trend 3: Web 2.0
    19. 19. Industry Trends
    20. 20. Industry Trends Trend 4: Rich Internet Applications (RIA)
    21. 21. Industry Trends
    22. 22. Industry Trends Trend 5: Cloud Computing
    23. 23. Industry Trends
    24. 24. Industry Trends Trend 6: Mobile Computing
    25. 25. Industry Trends
    26. 26. Industry Trends SOA: Service Oriented Architecture Service Composition Web 2.0 Network Effect SaaS: Software as a Service Service Delivery RIA: Rich Internet Applications Experience Software + Services Cloud Computing Service Utility
    27. 27. Industry Trends Is this just a Microsoft thing?
    28. 28. Industry Trends “ Let me just say it: We want native third-party applications on the iPhone, and we plan to have an SDK in developers' hands in February” - Steve Jobs Apple Reverses on Third-Party iPhone Apps “ But Google's offline approach also is a recognition that Microsoft's right in insisting that not all computing will take place in the Internet cloud. Microsoft's been touting a vision of "software plus services " that relies on Internet-connected desktop apps, and more enterprise software-as-a-service companies, such as CRM vendor RightNow, recognize the need for some client software.” Google CEO Says Software to Play a Bigger Role
    29. 29. Industry Trends IBM also introduced Bluehouse, the code name for services … designed to help business partners share contacts, files, project and interact via chat and Web meeting. The model is similar to what Microsoft has been pushing with its software-plus-services strategy developed by Microsoft CTO Ray Ozzie, who created the Notes platform. Microsoft is trying to define a new category with software plus services …it turns out that Microsoft may have a point and, while Salesforce.com would be unlikely to concede this, in fact it provides some supporting evidence. A few years ago Salesforce.com released its Off-line Edition for its popular customer relationship management (CRM) product.
    30. 30. Demo: FedEx QuickShip
    31. 31. Taking Advantage of these Trends
    32. 32. Taking Advantage of these Trends How do these industry trends map to architectural patterns? What kind of applications are possible using the Software + Services paradigm? Can Software + Services take advantage of existing investments?
    33. 33. Taking Advantage of these Trends A set of architectural principles for understanding the Software + Services paradigm
    34. 34. Foundation
    35. 35. Foundation Physical, Dedicated Single service on a dedicated hardware Physical, Shared Multiple services on a dedicated hardware Physical, HPC Physical hardware supporting HPC scenario Virtual, Single Single instance virtual image Virtual, Shared Multiple instance virtual image
    36. 36. Self-Hosted vs. Vendor Hosted
    37. 37. Self-Hosted vs. Vendor Hosted Self-Hosted You manage and pay for your own datacenter Vendor Hosted You pay for a vendor to host your applications
    38. 38. Self-Hosted vs. Vendor Hosted Vendor Investments Vendors investing heavily in multi-site datacenters
    39. 39. Self-Hosted vs. Vendor Hosted Microsoft Data Center (Chicago, IL) $500m investment, 500,000 sq ft, container based
    40. 40. Self-Hosted vs. Vendor Hosted Cost Initial investment, maintenance, and depreciation
    41. 41. Self-Hosted vs. Vendor Hosted Power Considerations Rising energy costs and sustainability considerations
    42. 42. Self-Hosted vs. Vendor Hosted Operational Requirements Helpdesk, backups, networking, upgrades
    43. 43. Self-Hosted vs. Vendor Hosted Security and Data Protection Storage, transmission, identity, and regulatory issues
    44. 44. Self-Hosted vs. Vendor Hosted Hardware Advancements Virtualization, Multicore, Performance Tuning
    45. 45. Architectural Principles for Software + Services Foundation Self Hosted Vendor Hosted Compute Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable
    46. 46. Infrastructure Services
    47. 47. Infrastructure Services Identity and Access Directory Based Authentication Username / Password based Claims Based Authentication Secure token or other claims based Role Based Authorization Role-checking and authorization
    48. 48. Infrastructure Services Messaging Service Bus Asynchronous, reliable messaging, publish/subscribe model Peer to Peer Node registration, directory, presence awareness
    49. 49. Infrastructure Services Storage Traditional Fileshare, flat, page-based Relational Hosted relational database, familiar, transactional, finite Unstructured Key/value Pair, no atomicity, infinitely scalable
    50. 50. Infrastructure Services Workflow Event Based Triggered based on events (e.g. document upload) High Throughput Low latency, high volume (e.g. trading confirmations)
    51. 51. Architectural Principles for Software + Services Infrastructure Services Foundation Self Hosted Vendor Hosted Identity & Access Directory RBAC Messaging Service Bus P2P Storage Traditional Unstructured Relational Workflow Event based High Throughput Compute Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable Claims
    52. 52. Application Services
    53. 53. Application Services Collaboration Search Text Search, Image Search, Indexing Social Social Graphs, Profiles Content Indexing, Retrieval, Conflict Management
    54. 54. Application Services Monetization Transaction Pay for each transaction Subscription Pay per month/period Licensing Pay per user/machine Advertising Advert funded model
    55. 55. Application Services Composition Service Composition Composition, brokering results, aggregation LOB Integration Service wrapping of mainframe and other LOB applications
    56. 56. Application Services Business Intelligence Dashboard Exposed, pre-defined KPIs Reporting Custom queries and reports
    57. 57. Architectural Principles for Software + Services Infrastructure Services Foundation Application Services Self Hosted Vendor Hosted Collaboration Search Content Social Monetization Tx Subs License Advert Composition Service Int LOB Int Business Intelligence Dashboards Reporting Identity & Access Directory RBAC Messaging Service Bus P2P Storage Traditional Unstructured Relational Workflow Event based High Throughput Compute Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable Claims
    58. 58. Application Services Application Business Logic (Rules) Entities (Schema) Workflow (Process)
    59. 59. Architectural Principles for Software + Services Infrastructure Services Foundation Application Services Self Hosted Vendor Hosted Application Entities (Schema) Business Logic (Rules) Collaboration Search Content Social Monetization Tx Subs License Advert Composition Service Int LOB Int Business Intelligence Dashboards Reporting Identity & Access Directory RBAC Messaging Service Bus P2P Storage Traditional Unstructured Relational Workflow Event based High Throughput Compute Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable Claims Workflow (Processes)
    60. 60. Application Services Web Presentation Static Static content, HTML etc Dynamic Asynchronous interaction, AJAX etc. Rich Rich Internet Applications, high visuals, limited offline support Streaming Optimized for content delivery, videos etc.
    61. 61. Architectural Principles for Software + Services Infrastructure Services Foundation Application Services Self Hosted Vendor Hosted Web Delivery Static Dynamic Rich Streaming Application Entities (Schema) Business Logic (Rules) Collaboration Search Content Social Monetization Tx Subs License Advert Composition Service Int LOB Int Business Intelligence Dashboards Reporting Identity & Access Directory RBAC Messaging Service Bus P2P Storage Traditional Unstructured Relational Workflow Event based High Throughput Compute Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable Claims Workflow (Processes)
    62. 62. Application Services Programmatic Access Web Services SOAP based, WS-I compliant, WS-* REST CRUD access to services via HTML RSS Syndication services for subscriptions
    63. 63. Application Services Programmatic Access VoiceXML Mobile Application Speech API SIP Session Initiation Protocol – IM Clients SMTP Email inbound and outbound delivery SMS Mobile inbound and outbound text messaging
    64. 64. Architectural Principles for Software + Services Infrastructure Services Foundation Application Services Self Hosted Vendor Hosted Exposed APIs Web Services REST RSS VoiceXML Web Delivery Static Dynamic Rich Streaming Application Entities (Schema) Business Logic (Rules) Collaboration Search Content Social Monetization Tx Subs License Advert Composition Service Int LOB Int Business Intelligence Dashboards Reporting Identity & Access Directory RBAC Messaging Service Bus P2P Storage Traditional Unstructured Relational Workflow Event based High Throughput Compute Physical, Dedicated Physical, Shared Physical, HPC Virtual, Single Virtual, Scalable Claims SMTP SMS SIP Workflow (Processes)
    65. 65. Client Software
    66. 66. Client Software Web Based Consumer of web based content, HTML etc RIA Consumer of Rich Content through Browser Add-In Browser Based
    67. 67. Client Software Mobile Client Web Based Mobile consumer of web based content, HTML etc RIA Mobile consumer of Rich Content through Browser Add-In Client Application Locally installed and run applications
    68. 68. Client Software Mobile Client Office Mobile based Email and Office Applications SMS / IM Text messaging and IM using Mobile Device Speech Speech enabled interface
    69. 69. Client Software Office Office Suite, including Email and RSS reader capability Client Application Rich (Smart) client applications installed locally on machine Client PC
    70. 70. Client Software Gadgets Locally installed, desktop based Instant Messaging Locally installed Instant Messaging client Client PC
    71. 71. Client Software Devices Dedicated devices Consoles Games Consoles Embedded
    72. 72. Architectural Principles for Software + Services
    73. 73. Architectural Principles for Software + Services
    74. 74. Architectural Principles for Software + Services Now that I understand the principles, how should I think about my own architectural designs?
    75. 75. Simple Web Site
    76. 76. Simple Blog
    77. 77. Simple Wiki
    78. 78. Architectural Principles for Software + Services How about the trends you mentioned earlier?
    79. 79. Architectural Principles for Software + Services Trend 1: Service Oriented Architecture (SOA)
    80. 80. (Trend 1: SOA) – Self Hosted Services
    81. 81. (Trend 1: SOA) – Integrating LOB Applications
    82. 82. (Trend 1: SOA) – Expanding using OBA
    83. 84. (Trend 1: SOA) – Self Hosted Services
    84. 85. (Trend 1: SOA) – Self Hosted Services using ESB
    85. 86. Architectural Principles for Software + Services Internet Service Bus
    86. 87. (Trend 1: SOA) – Self Hosted Services using ISB
    87. 89. Architectural Principles for Software + Services Trend 2: Software as a Service (SaaS)
    88. 90. (Trend 2: SaaS) – Web Based SaaS Provider
    89. 91. (Trend 2: SaaS) – Web Based SaaS Provider w/ API
    90. 92. (Trend 2: SaaS) – Web Based SaaS Provider w/ Offline
    91. 94. Architectural Principles for Software + Services Trend 3: Web 2.0
    92. 95. Nico Nico Douga
    93. 96. (Trend 3: Web 2.0) – Nico Nico Douga
    94. 97. (Trend 3: Web 2.0) – Nico Nico Douga
    95. 99. Architectural Principles for Software + Services Trend 4: Rich Internet Applications
    96. 100. (Trend 4: RIA) - Purchasing Capability
    97. 101. (Trend 4: RIA) - Purchasing Capability + RIA
    98. 102. (Trend 4: RIA) - Purchasing Capability + Mobile RIA
    99. 104. Architectural Principles for Software + Services How about Microsoft’s own products?
    100. 105. Exchange Lifecycle (Exchange 4.0, Outlook 97)
    101. 106. Exchange Lifecycle (Exchange 5.0, Outlook XP)
    102. 107. Exchange Lifecycle (Exchange 2003, Outlook 2003)
    103. 108. Exchange Lifecycle (Exchange 2003, Outlook 2003)
    104. 109. Exchange Lifecycle (Exchange 2007, Outlook 2007)
    105. 110. Exchange Lifecycle (Hosted Exchange, Outlook 2007)
    106. 111. Architectural Principles for Software + Services A “middle out” architecture
    107. 112. Architectural Principles for Software + Services A “middle out” architecture
    108. 113. Architectural Principles for Software + Services A “middle out” architecture
    109. 115. Contracts and SLAs
    110. 116. Contracts and SLAs What kind of contracts and SLAs do you need to be thinking about?
    111. 117. Simple Web Site
    112. 118. Simple Web Site (Internal Contract and SLA) Contracts and SLAs
    113. 119. Simple Web Site (External Contract and SLA) Contracts and SLAs
    114. 120. Using ISB (Mixed Contract and SLA) Contracts and SLAs
    115. 121. Provisioning
    116. 122. Provisioning What is important from a provisioning perspective?
    117. 123. Provisioning How are you going to manage your application “as one” in a mixed hosted environment?
    118. 124. Using ISB (Provisioning Considerations) Contracts and SLAs Provisioning, Management & Monitoring
    119. 125. Implementing Software + Services
    120. 126. Implementing Software + Services Three steps for implementing Software + Services using the principles and patterns introduced in this deck
    121. 127. Implementing Software + Services Step 1: Get the right people involved
    122. 128. Implementing Software + Services Contracts and SLAs Provisioning, Management & Monitoring
    123. 129. Implementing Software + Services Contracts and SLAs Provisioning, Management & Monitoring 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
    124. 130. Implementing Software + Services Step 2: Map to technologies
    125. 131. Implementing Software + Services IE8 Silverlight Windows Mobile 6 Live Msgr Windows CE XBOX 360 IIS 7 SL Streaming WCF .NET Framework MOSS 2007 BTS Adapters MOSS 2007 BDC AD / ADFS SQL Server Reporting Services Ad Center .NET Framework 3 rd Party BizTalk 2006 R2 Vista ILM CardSpace BizTalk / BizTalk.Net Peer Fx IIS 7 SQL Server SSDS Windows WF MOSS 2007 Windows WF BizTalk Server 2006 Windows Server 2008 WS 2008 HPC Windows Server 2008 Hyper-V Office WPF
    126. 132. Implementing Software + Services Step 3: If you are dealing with repeatable architectural designs, build assets using Software Factories approach
    127. 133. Implementing Software + Services
    128. 134. Implementing Software + Services
    129. 135. Implementing Software + Services Purchasing Site 1 Purchasing Site 2 Purchasing Site 3 Purchasing Site 4
    130. 136. © 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. davidsol@microsoft.com

    ×