Presentation on theme: "Engineering Multi-Tenant Software-as-a-Service Systems Bikram Sengupta (IBM Research India) Abhik Roychoudhury (National University of Singapore) ICSE."— Presentation transcript:
Engineering Multi-Tenant Software-as-a-Service Systems Bikram Sengupta (IBM Research India) Abhik Roychoudhury (National University of Singapore) ICSE 2011 workshop PESOS 2011, Honolulu1
What is SaaS? ICSE 2011 workshop PESOS 2011, Honolulu2 Software as a service (SaaS) is a software delivery model in which software and its associated data are hosted centrally (typically in the Internet/cloud) and are typically accessed by users using a thin client, normally using a web browser over the Internet. — wikipedia Gartner predicts that the SaaS market will grow at a compound annual growth rate (CAGR) of 22.1% through 2011 Gartner/Dataquest Insight: “SaaS Demand Set to Outpace Enterprise Application Software Market Growth.”
A. Lenk et al, ICSE 2009 WS on SE-Cloud ICSE 2011 workshop PESOS 2011, Honolulu4
Challenges in building Multi-tenant SaaS ICSE 2011 workshop PESOS 2011, Honolulu5 vendor-offered customizations tenant-specific changes Fixed-set SLA: High commonality Ease development/maintenance Little variability Tenants need to compromise Diverse requirements: Improve Flexibility Meet customer needs Degrade level of sharing Increase vendor’s overhead
Broader perspective ICSE 2011 workshop PESOS 2011, Honolulu6 Evolving programs / program versions Testing [ASE08, ASE10, FSE10, …] Test suite augmentation to stress changes Debugging [ESEC-FSE99, ESEC-FSE’09, FSE10, …] DARWIN method [ESEC-FSE99] uses symbolic execution for regression debugging. Design and development of multi-tenant SaaS software can benefit from research on evolving programs. Customization of SaaS to accommodate new tenants – can be systematized using testing / debugging research.
SaaS Market ICSE 2011 workshop PESOS 2011, Honolulu7 Data from IDC Total public cloud services revenue in 2010 SaaS Market 71%, $17.5b Expected SaaS Market in 2014 $40.9b 25.9% compound annual growth SaaS applications ERP, CRM Security products …
A Scenario that did not happen ICSE 2011 workshop PESOS 2011, Honolulu8 ?? The Federal Treasurer, The Honourable Wayne Swan, has made a statement that he has rejected the proposed merger of ASX Limited (ASX) and Singapore Exchange (SGX). In these circumstances the parties have agreed to terminate the Merger Implementation Agreement entered into on 25 October 2010.
A Business Case ICSE 2011 workshop PESOS 2011, Honolulu9 Suppose SGX and ASX make an agreement to offer joint online trading services for a range of stock transactions. This has to be made operational very soon to exploit a favorable economic climate. Several new business processes have to be supported with a high number of variants tailored to the needs of different grades of investors A number of third party services may need to be leveraged, some of which support large-scale data analytics off remote cloud infrastructures Grades of investors have to be offered specialized SLAs based on their usage patterns and needs (performance expectations, security, isolation, recoverability requirements etc) A highly-scalable multi-tenant SaaS solution has to be developed very rapidly, and tested thoroughly before being deployed on a cloud.
Challenges ICSE 2011 workshop PESOS 2011, Honolulu10 Propose a SaaS system management model (from the vendor’s perspective ) Enable quantitative analysis of SaaS system Tenant management On-boarding decision (return-on-investment) Variability/commonality management Application evolving Add new functionalities Testing Re-factoring
SaaS Management Model: Overview ICSE 2011 workshop PESOS 2011, Honolulu11 … Service II Service I Service X Feature 2 v1 v2 Feature 1 v1 v3 v2 … T1 T2 T3 subscription
SaaS System ICSE 2011 workshop PESOS 2011, Honolulu12 Service: a group of offered functionalities service invariants Feature: a particular functionality feature invariants Variant v = : a variation of the feature to support certain customization/changes
Case study ICSE 2011 workshop PESOS 2011, Honolulu13 Apache Roller Free open source Java blog server roller.apache.org/roller.apache.org/ Powers the USA government blog, employee blogs at Sun and IBM, Java blogging community … Convert to a multi-tenancy SaaS system Tenants: individual blogging sites End user: site admin, blogger, reader… Services: Admin services Weblog services Features: write blog, edit blog, delete blog, category management … Comment services …
Write Weblog Variants ICSE 2011 workshop PESOS 2011, Honolulu14 Pre-conditions: 1.logged-in blogger 2.Word limit Rich/plain text Implementation Meth(); Post-conditions: 1.Publish time is displayed 2. notifications are sent to owner and newsfeed subscribers Existing variant (v0) New request/variant (v1) Pre-conditions: 1.Logged-in blogger 2.Word limit Plain text only Implementation Configuration + Meth(); Post-conditions: 1. notifications are sent to newsfeed subscribers Less impl. cost v1 vs. v0 1.Stronger pre-condition 2.Weaker post-condition 3.v0 is a refinement of v1
Write Weblog Variants ICSE 2011 workshop PESOS 2011, Honolulu15 Pre-conditions: 1.logged-in owner 2.Word limit Rich/plain text Implementation Meth(); Post-conditions: 1.Publish time is displayed 2. notifications are sent to owner and newsfeed subscribers Existing variants (v0 & v1) New request/variant (v2) Pre-conditions: 1.Authorized blogger 2.Select a category 3.Word limit Rich/plain text Implementation Meth1() Post-conditions: 1.Weblog is stored in the selected category 2.Publish time is displayed v2 vs. existing variants: 1.No refinement new impl. Is needed 2.Derive the impl. from the closest existing variant 3.Create a new variant or feature in the model (depends on the distance) v0 v1 cost ∝ distance
On-boarding Cost ICSE 2011 workshop PESOS 2011, Honolulu16 Accommodate a new service request Direct on-boarding: exist a same variant, or a refinement No new implmentation constant cost Feature expansion: create a new variant of an existing feature Associate cost with weakening/strengthening of pre/post conditions Assumption: weaken post strengthen post Feature set augmentation: create a new feature Service set augmentation: create a new service
Onboarding Profit ICSE 2011 workshop PESOS 2011, Honolulu17 Profit of onboarding a new tenant Subscription fee Expected pay-by-use revenue Aggregated accommodation cost for each request cost
Commonality ICSE 2011 workshop PESOS 2011, Honolulu18 Commonality characterizes the level of reuse of a SaaS system Higher commonality higher degree of sharing of features by tenants We expect that for each feature, a significant fraction of tenants should subscribe to it (including its variants)
Tenant Selection Problem ICSE 2011 workshop PESOS 2011, Honolulu19 A set of tenants to be onboarded on an existing system Multi-objective optimization problem maximize profit and maximize commonality Find optimal subset of the tenants commonality profit Commonality threshold Pareto front
SaaS Testing ICSE 2011 workshop PESOS 2011, Honolulu20 When a new tenant is on-boarded, how to test that existing tenants are not impacted by the changes introduced? No update of existing operations not relevant in our approach How do we efficiently test that the SaaS system meets the needs of the different tenants that have been onboarded ? large degree of commonality test only the changes introduced by a tenant Test suite augmentation problem [ASE10, for evolving programs] exploits similarities amongst tenants during testing Test tree
Re-factoring SaaS Systems ICSE 2011 workshop PESOS 2011, Honolulu22 Merging Useful for moving legacy services to the cloud Analyze specification, detect commonalities/differences Improve sharing, increase overall system commonality Feature 2 v4 v5 Feature 1 v1 v3 v2 Feature 1’ v1v2 v4v5 * v4 is identified as a refinement of v3, hence tenants subscribing v3 can be moved to v4 (with necessary configuration)
Re-factoring SaaS Systems ICSE 2011 workshop PESOS 2011, Honolulu23 Splitting dual of the merging operation break a large SaaS into smaller ones reduce variability and improve maintenance. Pruning: retiring entities (services, operations) that the vendor perceives to be of low utility based on financial motives
Initial Experiments ICSE 2011 workshop PESOS 2011, Honolulu24 Conference Online Management System Chair/ Reviewer/ Author/ Participant/ … Randomly generated tenant sets (20) and requests Create two sets (set1 and set2) of costs associated with each type of the onboarding cost factors direct onboarding < weaken post cond. < strengthen pre cond. < weaken pre cond. < strengthen post cond. < add new feature consider only the implementation cost (no hardware or maintenance cost) Compute the Pareto optimal for the tenant selection problem
Concluding Remarks ICSE 2011 workshop PESOS 2011, Honolulu26 Towards a formal model for SaaS system Variant management Cost model Tenant onboarding management Based on the model, we propose various vendor operations: System testing Test suite augmentation, Exploit commonality of test suites System maintenance/re-factoring Larger scale experiments – future work.