Allocating resources for customizable multi-tenant applications in clouds using dynamic feature placement

Abstract Multi-tenancy, where multiple end users make use of the same application instance, is often used in clouds to reduce hosting costs. A disadvantage of multi-tenancy is however that it makes it difficult to create customizable applications, as all end users use the same application instance. In this article, we describe an approach for the development and management of highly customizable multi-tenant cloud applications. We apply software product line engineering techniques to cloud applications, and use an approach where applications are composed of multiple interacting components, referred to as application features. Using this approach, multiple features can be shared between different applications. Allocating resources for these feature-based applications is complex, as relations between components must be taken into account, and is referred to as the feature placement problem. In this article, we describe dynamic feature placement algorithms that minimize migrations between subsequent invocations, and evaluate them in dynamic scenarios where applications are added and removed throughout the evaluation scenario. We find that the developed algorithm achieves a low cost, while resulting in few resource migrations. In our evaluations, we observe that adding migration-awareness to the management algorithms reduces the number of instance migrations by more than 77 % and reduces the load moved between instances by more than 96 % when compared to a static management approach. Despite this reduction in number of migrations, a cost that is on average less than 3 % more than the optimal cost is achieved.

[1]  Malgorzata Steinder,et al.  A scalable application placement controller for enterprise data centers , 2007, WWW '07.

[2]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[3]  Colin Low Decentralised application placement , 2005, Future Gener. Comput. Syst..

[4]  Asser N. Tantawi,et al.  Dynamic placement for clustered web applications , 2006, WWW '06.

[5]  Jerome A. Rolia,et al.  Automating Enterprise Application Placement in Resource Utilities , 2003, DSOM.

[6]  Wei Sun,et al.  Software as a Service: Configuration and Customization Perspectives , 2008, 2008 IEEE Congress on Services Part II (services-2 2008).

[7]  Urs Andelfinger,et al.  Applying software product lines to create customizable software-as-a-service applications , 2011, SPLC '11.

[8]  Hanan Lutfiyya,et al.  The right tool for the job: Switching data centre management strategies at runtime , 2013, 2013 IFIP/IEEE International Symposium on Integrated Network Management (IM 2013).

[9]  Hassan Gomaa,et al.  Variability Modeling for Service Oriented Product Line Architectures , 2011, 2011 15th International Software Product Line Conference.

[10]  Sooyong Park,et al.  Building Dynamic Software Product Lines , 2012, Computer.

[11]  Constantin Adam,et al.  Service Middleware for Self-Managing Large-Scale Systems , 2007, IEEE Transactions on Network and Service Management.

[12]  Rolf Stadler,et al.  Resource Management in Clouds: Survey and Research Challenges , 2015, Journal of Network and Systems Management.

[13]  Filip De Turck,et al.  Developing and managing customizable Software as a Service using feature model conversion , 2012, 2012 IEEE Network Operations and Management Symposium.

[14]  Dirk Beyer,et al.  Automated application component placement in data centers using mathematical programming , 2008, Int. J. Netw. Manag..

[15]  Kuo Zhang,et al.  A Policy-Driven Approach for Software-as-Services Customization , 2007, The 9th IEEE International Conference on E-Commerce Technology and The 4th IEEE International Conference on Enterprise Computing, E-Commerce and E-Services (CEC-EEE 2007).

[16]  Frank Leymann,et al.  Variability modeling to support customization and deployment of multi-tenant-aware Software as a Service applications , 2009, 2009 ICSE Workshop on Principles of Engineering Service Oriented Systems.

[17]  Jordi Torres,et al.  Utility-based placement of dynamic Web applications with fairness goals , 2008, NOMS 2008 - 2008 IEEE Network Operations and Management Symposium.

[18]  Filip De Turck,et al.  Feature placement algorithms for high-variability applications in cloud environments , 2012, 2012 IEEE Network Operations and Management Symposium.

[19]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[20]  Arnold L. Rosenberg,et al.  Application Placement on a Cluster of Servers , 2007, Int. J. Found. Comput. Sci..

[21]  Asser N. Tantawi,et al.  Dynamic Application Placement Under Service and Memory Constraints , 2005, WEA.

[22]  Filip De Turck,et al.  Cost-Effective Feature Placement of Customizable Multi-Tenant Applications in the Cloud , 2014, Journal of Network and Systems Management.

[23]  Filip De Turck,et al.  Network-aware impact determination algorithms for service workflow deployment in hybrid clouds , 2012, 2012 8th international conference on network and service management (cnsm) and 2012 workshop on systems virtualiztion management (svm).

[24]  David Breitgand,et al.  SLA-aware placement of multi-virtual machine elastic services in compute clouds , 2011, 12th IFIP/IEEE International Symposium on Integrated Network Management (IM 2011) and Workshops.

[25]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[26]  Vicente Pelechano,et al.  Context-Aware Autonomous Web Services in Software Product Lines , 2011, 2011 15th International Software Product Line Conference.

[27]  Bernard Butler,et al.  Provisioning of requests for virtual machine sets with placement constraints in IaaS clouds , 2013, 2013 IFIP/IEEE International Symposium on Integrated Network Management (IM 2013).

[28]  Hassan Gomaa,et al.  Feature Based Variability for Service Oriented Architectures , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[29]  Tzilla Elrad,et al.  Aspect-Oriented Software Development , 2004 .

[30]  Calton Pu,et al.  Improving Performance and Availability of Services Hosted on IaaS Clouds with Structural Constraint-Aware Virtual Machine Placement , 2011, 2011 IEEE International Conference on Services Computing.

[31]  Rolf Stadler,et al.  Gossip-based resource management for cloud environments , 2010, 2010 International Conference on Network and Service Management.

[32]  Jing Xu,et al.  Multi-Objective Virtual Machine Placement in Virtualized Data Center Environments , 2010, 2010 IEEE/ACM Int'l Conference on Green Computing and Communications & Int'l Conference on Cyber, Physical and Social Computing.