Next Generation Internet Services


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Next Generation Internet Services

  1. 1. Next Generation Internet Services Dean Jacobs Technische Universität München
  2. 2. Talk Outline <ul><li>Web 2.0 and Consumer Services </li></ul><ul><li>Enterprise Software as a Service </li></ul><ul><li>Case Study: </li></ul><ul><li>Database Virtualization </li></ul>
  3. 3. What Is Web 2.0 <ul><li>The Web As Platform </li></ul><ul><li>Harnessing Collective Intelligence </li></ul><ul><li>Data is the Next Intel Inside </li></ul><ul><li>End of the Software Release Cycle </li></ul><ul><li>Lightweight Programming Models </li></ul><ul><li>Software Above the Level of a Single Device </li></ul><ul><li>Rich User Experience </li></ul>Tim O'Reilly 2005
  4. 4. 1. The Web As Platform <ul><li>Seamless cooperation (mashups) between services </li></ul><ul><ul><li>Google maps + Craig’s List = </li></ul></ul><ul><ul><li>An ecosystem of interdependent services </li></ul></ul><ul><li>Reach the “long tail” of users </li></ul><ul><ul><li>Exploit self-service and algorithmic data management </li></ul></ul><ul><ul><li>Google AdSense rather than DoubleClick ($3.1B) </li></ul></ul><ul><li>Easy to experiment </li></ul><ul><ul><li>Low cost for failure </li></ul></ul><ul><ul><li>Fostering a huge wave of innovation </li></ul></ul>
  5. 5. 2. Harnessing Collective Intelligence <ul><li>People perform tasks for themselves, the community, or both (reputation building) </li></ul><ul><li>Computers amplify the data into significant value </li></ul><ul><li>Google Page rank </li></ul><ul><li>Ebay Supply chain </li></ul><ul><li>Wikipedia , MySpace, Flickr User-generated content </li></ul><ul><li>Flickr , Tagging for classification </li></ul><ul><li>ESP Game Two-person game that tags photos </li></ul><ul><li>Digg Vote to determine importance of news stories </li></ul><ul><li> Song recommendations from listening patterns </li></ul><ul><li>HSX Hollywood predictive market </li></ul><ul><li>Amazon Customer ratings and reviews </li></ul><ul><li>Amazon Mechanical Turk Hire people for simple tasks </li></ul>
  6. 6. 3. Data is the Next Intel Inside * Streaming Data: “The Live Web” Amazon ?? Market Basket* Flickr Photographer Photographs* Google ?? Browsing Activity* Amazon Amazon Product Reviews* Amazon ISBN Book Numbers* E*Trade Stock Markets Stock Valuations* Google Maps Digital Globe Satellite Images Zillow County Records Home Valuations* Google Maps NavTeq Maps Enhancement Ownership
  7. 7. 4. End of the Software Release Cycle <ul><li>Software is offered as a service not a product </li></ul><ul><li>Operations become a core competency </li></ul><ul><ul><li>As important to Google as PageRank </li></ul></ul><ul><li>Perpetual beta </li></ul><ul><ul><li>Weekly or even daily updates </li></ul></ul><ul><ul><li>Real-time monitoring of user behavior </li></ul></ul><ul><li>Dynamic scripting languages (Perl, Python, PHP, Ruby) are more nimble and therefore more suitable </li></ul>
  8. 8. 5. Lightweight Programming Models <ul><li>Started with HTTP/HTML and lead to Web Services </li></ul><ul><ul><li>Also applies to the design of Web Services APIs </li></ul></ul><ul><li>Loose coupling is essential </li></ul><ul><ul><li>Make few assumptions about the other end </li></ul></ul><ul><ul><li>Be self-describing and resilient to changes </li></ul></ul><ul><li>Simple, flexible protocols are better than complex, specialized protocols </li></ul><ul><ul><li>Amazon reports 95% of their Web Services traffic uses REST (XML over HTTP) rather than SOAP </li></ul></ul><ul><ul><li>SOAP and WS-* are designed for Enterprise Application Integration </li></ul></ul>
  9. 9. <ul><li>6. Software Above the Level of a Single Device </li></ul><ul><ul><li>Applications should span servers, desktops, laptops, cell phones, PDAs, and special devices </li></ul></ul><ul><ul><li>Example: iPod/iTunes reaches from the handheld device to a massive web back-end with the PC acting as a local cache and control station </li></ul></ul><ul><li>7. Rich User Experience </li></ul><ul><ul><li>Rich Internet Applications started with browser Applets </li></ul></ul><ul><ul><li>Realized today as AJAX </li></ul></ul><ul><li>“ AJAX isn't a technology. It's really several technologies, each flourishing </li></ul><ul><li>in its own right, coming together in powerful new ways. AJAX incorporates: </li></ul><ul><ul><li>standards-based presentation using XHTML and CSS; </li></ul></ul><ul><ul><li>dynamic display and interaction using the Document Object Model; </li></ul></ul><ul><ul><li>data interchange and manipulation using XML and XSLT; </li></ul></ul><ul><ul><li>asynchronous data retrieval using XMLHttpRequest; </li></ul></ul><ul><ul><li>and JavaScript binding everything together.“ </li></ul></ul><ul><li>Jesse James Garrett - Adaptive Path </li></ul>
  10. 10. Talk Outline <ul><li>Web 2.0 and Consumer Services </li></ul><ul><li>Enterprise Software as a Service </li></ul><ul><li>Case Study: </li></ul><ul><li>Database Virtualization </li></ul>
  11. 11. Enterprise Software Models Data Center Application Service Provider System Integrators Customers Open Source Platform Vendors System Integrators On-Premises Software Software as a Service Application Vendors Customer Data Center
  12. 12. Web 2.0 Checklist Data Center Application Service Provider Customers <ul><li>The Web As Platform </li></ul><ul><li>Harnessing Collective Intelligence </li></ul><ul><li>Data is the Next Intel Inside </li></ul><ul><li>End of the Software Release Cycle </li></ul><ul><li>Lightweight Programming Models </li></ul><ul><li>Software Above the Level of a Single Device </li></ul><ul><li>Rich User Experiences </li></ul>5 1 5 System Integrators 1 7 6 4 3 2 5 1 Hosted Services On-premises Applications
  13. 13. Lower Total Cost of Ownership <ul><li>Leverage economy of scale </li></ul><ul><ul><li>Capital expenditures – hardware, software </li></ul></ul><ul><ul><li>Operational expenditures – bandwidth, personnel </li></ul></ul><ul><li>Leverage open-source software </li></ul><ul><ul><li>Natural fit for a service-oriented model </li></ul></ul><ul><li>One version of the software </li></ul><ul><ul><li>Runs on only one platform </li></ul></ul><ul><ul><li>Upgrade all users at the same time (rolling upgrade) </li></ul></ul><ul><li>Tight coupling of operations and support </li></ul><ul><ul><li>Resolve customer issues on the production system </li></ul></ul><ul><ul><li>Perform professional services on the production system </li></ul></ul>
  14. 14. <ul><li>An application is more attractive to host if … </li></ul><ul><ul><li>Leverages Internet connectivity </li></ul></ul><ul><ul><li>On-premises solutions expensive </li></ul></ul><ul><ul><li>Less data and simpler operations </li></ul></ul><ul><ul><li>Simpler configuration </li></ul></ul><ul><ul><li>Simpler backend integration </li></ul></ul><ul><ul><li>Weaker transactional requirements </li></ul></ul><ul><ul><li>Weaker security requirements </li></ul></ul><ul><ul><li>Less mission critical </li></ul></ul>Hosting Sweet Spots Apply more to People Apps Sales, Marketing, HR, Help Desk, Portal than Process Apps Planning, Purchasing, Inventory, Financials, Manufacturing Apply more to small to mid-sized businesses Opening up new markets Limits on functionality
  15. 15. Sacrificing Functionality Functionality Total Cost of Ownership Scalability Using on-premises software The sweet spot Not worth building Not possible to build
  16. 16. Talk Outline <ul><li>Web 2.0 and Consumer Services </li></ul><ul><li>Enterprise Software as a Service </li></ul><ul><li>Case Study: </li></ul><ul><li>Database Virtualization </li></ul>
  17. 17. The Primary Application <ul><li>Customer Relationship Management (CRM) </li></ul><ul><ul><li>Marketing and Campaign Automation </li></ul></ul><ul><ul><li>Salesforce Automation </li></ul></ul><ul><ul><li>Customer Service and Support </li></ul></ul><ul><ul><li>Analytics and Reporting </li></ul></ul>Hosted CRM Market Share - IDC Worldwide On-Demand CRM Vendor Analysis, 2005 50% 7% All others 14% 7% salesforce 18% 4% #2 #3 #4 #5
  18. 18. The Web As Platform <ul><li>Web Services API to access salesforce objects </li></ul><ul><ul><li>End users: strongly-typed for organization data model </li></ul></ul><ul><ul><li>Developers: weakly-typed to span organization models </li></ul></ul><ul><li>Simple and scalable </li></ul><ul><ul><li>REST model to reduce server-side state </li></ul></ul><ul><ul><li>Bulk operations to reduce communication overhead </li></ul></ul><ul><li>Used to integrate with </li></ul><ul><ul><li>the ecosystem of partner services </li></ul></ul><ul><ul><li>on-premises applications in enterprise data centers </li></ul></ul><ul><ul><li>clients: browser (AJAX), off-line edition, mobile devices, spreadsheets, calendar </li></ul></ul>
  19. 19. Harnessing Collective Intelligence <ul><li>A set of extensions can be packaged into an installable application by customers and SIs </li></ul><ul><li>Project management, expense tracking, budgeting, purchasing, HR, education, manufacturing, … </li></ul><ul><li>Targets the “long tail” of custom applications </li></ul>
  20. 20. Service Growth 1999 2000 2001 2002 2003 2004 2005 - Based on publicly available data. Bars represent fiscal quarters. Organizations Subscribers 30,000 650,000 March 2007 Organizations Subscribers 20,000 350,000 October 2005
  21. 21. Scalability and Performance Average Response Time (milliseconds) Transactions per quarter (millions) - Based on publicly available data. Points represent fiscal quarters.
  22. 22. Talk Outline <ul><li>Web 2.0 and Consumer Services </li></ul><ul><li>Enterprise Software as a Service </li></ul><ul><li>Case Study: </li></ul><ul><li>Database Virtualization </li></ul>
  23. 23. High-Level Goals <ul><li>Consolidate multiple businesses (tenants) onto the same operational system </li></ul><ul><li>Reduce total cost of ownership </li></ul><ul><ul><li>Pooling resources </li></ul></ul><ul><ul><li>Improving management efficiency </li></ul></ul><ul><li>Support Web 2.0 style collaboration </li></ul><ul><li>To the extent possible, hide multi-tenancy from developers and system administrators </li></ul>
  24. 24. Specific Requirements <ul><li>Pool database resources to improve their utilization </li></ul><ul><ul><li>Avoid provisioning each tenant for their maximum load </li></ul></ul><ul><ul><li>Breaks down isolation: weakens security, increases resource contention, interferes with optimizations </li></ul></ul><ul><li>Provide a tenant-aware administrative framework </li></ul><ul><ul><li>Manage farms of individual multi-tenant databases </li></ul></ul><ul><ul><li>Support DML and DDL operations across tenants </li></ul></ul><ul><ul><li>Support tenant migration within and across farms </li></ul></ul><ul><li>Support Web 2.0 style collaboration </li></ul><ul><ul><li>Allow shared extensions to the base schema </li></ul></ul><ul><ul><li>Allow shared public data with private updates </li></ul></ul>3 2
  25. 25. Multi-Mode Delivery <ul><li>Three ways of delivering software to the enterprise </li></ul><ul><ul><li>On-premises The business controls the application </li></ul></ul><ul><ul><li>Hosted The service provider controls the application </li></ul></ul><ul><ul><li>Hybrid The application runs in the data center of the business in an appliance and is remotely administered by the service provider </li></ul></ul><ul><li>Customers should be able to migrate between them </li></ul><ul><ul><li>Or keep a warm back-up that is ready to use </li></ul></ul><ul><li>Sweet spot is open source software, since that is commonly used in the hosted and hybrid models </li></ul>
  26. 26. Consolidation Options <ul><li>Shared Machine </li></ul><ul><li>Shared Process </li></ul><ul><li>Shared Table </li></ul>Isolation Resource Pooling
  27. 27. Shared Machine <ul><li>Cannot scale beyond tens of tenants per server </li></ul><ul><li>Appropriate for applications with a smaller number of larger tenants, e.g., for banking </li></ul>Memory requirements for a database with one empty CRM schema instance 273 MB 74 MB 171 MB 80 MB 55 MB COTS 3 COTS 2 COTS 1 MaxDB PostgresSQL
  28. 28. Shared Process <ul><li>Scalability limited due to the amount of metadata </li></ul><ul><ul><li>But it is redundant for the base schema </li></ul></ul><ul><li>Should scale up to thousands of tenants </li></ul><ul><li>If each tenant gets their own table space then migration entails simply moving files </li></ul>Memory requirements for a database with 10,000 empty CRM schema instances * extrapolated 359 MB 2061 MB 616 MB * 80 MB 79 MB * COTS 3 COTS 2 COTS 1 MaxDB PostgresSQL
  29. 29. Shared Table <ul><li>Data from many tenants in the same tables </li></ul><ul><ul><li>Add a tenant id column </li></ul></ul><ul><ul><li>Tenant queries must fix the value for this column </li></ul></ul><ul><li>Extend the base schema using generic columns </li></ul><ul><ul><li>May be varchar or a mix of types </li></ul></ul><ul><ul><li>The database must compactly represent sparse tables </li></ul></ul>Account 0021 0029 Name Acme Ball ... TenId 1041 1041 1053 1053 0016 0049 Gump Wonk Val0 1/3/95 3/7/72 red blue Val1 ---- ---- 35 18 ... Val100 ---- ---- ---- ----
  30. 30. Shared Table <ul><li>The Good News - Everything is pooled </li></ul><ul><ul><li>Processes, memory, connections, prepared statements </li></ul></ul><ul><ul><li>Easy DML and DDL operations across tenants </li></ul></ul><ul><ul><li>Add, remove, and extend tenants with DML (not DDL) </li></ul></ul><ul><li>The Bad News - Isolation is very weak </li></ul><ul><ul><li>Irrelevant data infects query processing </li></ul></ul><ul><ul><ul><li>Optimization Statistics </li></ul></ul></ul><ul><ul><ul><li>Table Scans </li></ul></ul></ul><ul><ul><ul><li>Data locality </li></ul></ul></ul><ul><ul><li>No indexes or integrity constraints on generic columns </li></ul></ul><ul><ul><li>Migration requires querying the operational system </li></ul></ul>
  31. 31. Possible Improvements <ul><li>Shared Process – increase resource pooling </li></ul><ul><ul><li>Keep one copy of the meta-data about the base schema </li></ul></ul><ul><ul><li>Allow prepared statements over table names </li></ul></ul><ul><ul><li>Allow queries over table names </li></ul></ul><ul><ul><li>Dynamically set the principal for a database connection </li></ul></ul><ul><li>Shared Table – increase isolation </li></ul><ul><ul><li>Take the tenant ID into account in query optimization, indexing, and data placement </li></ul></ul><ul><ul><li>Could be done from inside the database or from outside in a SQL transformation layer </li></ul></ul>
  32. 32. Our Current Research <ul><li>Adapt an open source database for multi-tenancy </li></ul><ul><li>Measure its scalability and performance using a benchmark for multi-tenant databases </li></ul>Lead Campaign Line Item Product Case Contact Contract Account Opportunity Asset conversion source source parent reports to signed by Simple CRM Schema
  1. A particular slide catching your eye?

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