230 likes | 476 Views
Engineering Multi-Tenant Software-as-a-Service Systems . Bikram Sengupta (IBM Research India) Abhik Roychoudhury (National University of Singapore). What is SaaS ?.
E N D
Engineering Multi-Tenant Software-as-a-Service Systems Bikram Sengupta (IBM Research India) Abhik Roychoudhury (National University of Singapore) ICSE 2011 workshop PESOS 2011, Honolulu
What is SaaS? • 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.” ICSE 2011 workshop PESOS 2011, Honolulu
SaaS vs.On-Premise Deployment ICSE 2011 workshop PESOS 2011, Honolulu
A. Lenk et al, ICSE 2009 WS on SE-Cloud ICSE 2011 workshop PESOS 2011, Honolulu
Challenges in building Multi-tenant SaaS vendor-offered customizations tenant-specific changes • Diverse requirements: • Improve Flexibility • Meet customer needs • Degrade level of sharing • Increase vendor’s overhead • Fixed-set SLA: • High commonality • Ease development/maintenance • Little variability • Tenants need to compromise ICSE 2011 workshop PESOS 2011, Honolulu
Broader perspective • 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. ICSE 2011 workshop PESOS 2011, Honolulu
A Scenario that did not happen ?? http://www.asxgroup.com.au/asx-sgx-merger.htm 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. ICSE 2011 workshop PESOS 2011, Honolulu
A Business Case • 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. ICSE 2011 workshop PESOS 2011, Honolulu
Challenges • 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 ICSE 2011 workshop PESOS 2011, Honolulu
SaaS Management Model: Overview Service I subscription Feature 1 v1 v2 T1 v3 Feature 2 v1 T2 v2 … T3 Service II … Service X ICSE 2011 workshop PESOS 2011, Honolulu
SaaS System • Service: a group of offered functionalities • service invariants • Feature: a particular functionality • feature invariants • Variant v = <pre(v), meth(v), post(v)>: a variation of the feature to support certain customization/changes ICSE 2011 workshop PESOS 2011, Honolulu
Case study • Apache Roller • Free open source Java blog server 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 • … ICSE 2011 workshop PESOS 2011, Honolulu
Write Weblog Variants New request/variant (v1) Existing variant (v0) Pre-conditions: Logged-in blogger Word limit 1000 Plain text only Implementation Configuration + Meth(); Post-conditions: Email notifications are sent to newsfeed subscribers Pre-conditions: logged-in blogger Word limit 2000 Rich/plain text Implementation Meth(); Post-conditions: Publish time is displayed Email notifications are sent to owner and newsfeed subscribers v1 vs. v0 Stronger pre-condition Weaker post-condition v0 is a refinement of v1 Less impl. cost ICSE 2011 workshop PESOS 2011, Honolulu
Write Weblog Variants New request/variant (v2) Existing variants (v0 & v1) • Pre-conditions: • Authorized blogger • Select a category • Word limit 2000 • Rich/plain text • Implementation • Meth1() • Post-conditions: • Weblog is stored in the selected category • Publish time is displayed Pre-conditions: logged-in owner Word limit 2000 Rich/plain text Implementation Meth(); Post-conditions: Publish time is displayed Email notifications are sent to owner and newsfeed subscribers v0 v1 v2 vs. existing variants: No refinement new impl. Is needed Derive the impl. from the closest existing variant Create a new variant or feature in the model (depends on the distance) cost ∝ distance ICSE 2011 workshop PESOS 2011, Honolulu
On-boarding Cost • 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 pre < weaken pre <> strengthen post • Feature set augmentation: create a new feature • Service set augmentation: create a new service ICSE 2011 workshop PESOS 2011, Honolulu
Onboarding Profit Subscription fee Expected pay-by-use Aggregated accommodation cost for each request revenue cost Profit of onboardinga new tenant ICSE 2011 workshop PESOS 2011, Honolulu
Commonality • 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) ICSE 2011 workshop PESOS 2011, Honolulu
Tenant SelectionProblem • 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 Pareto front Commonality threshold profit ICSE 2011 workshop PESOS 2011, Honolulu
SaaS Testing • 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 ICSE 2011 workshop PESOS 2011, Honolulu
Test Tree 300 tests 100 tests 150 tests Tenants {t3, t4, t6} 30 tests 50 tests Tenant {t1} Tenants {t2, t5} ICSE 2011 workshop PESOS 2011, Honolulu
Initial Experiments • Conference Online Management System • http://www.conference-service.com/index.html • 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 ICSE 2011 workshop PESOS 2011, Honolulu
Experimental Results ICSE 2011 workshop PESOS 2011, Honolulu
Concluding Remarks • 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. ICSE 2011 workshop PESOS 2011, Honolulu