FIrM: Functional Middleware with Support to Multi-tenancy

The use of middleware systems to support multi-tenancy applications in cloud computing environments can help to decrease the application costs by reducing the hardware infrastructure and the amount of software license required to run a software, and facilitating the its maintenance. However, the design and implementation of middleware systems that support multi-tenancy feature is complex due challenges such as hardware sharing, security, scalability, configuration per tenant and tenant isolation. Furthermore, developers generally implement middleware systems through general-purpose object-oriented languages without taking the benefits of using a language that allows a higher level of abstraction and concision on writing concurrent and parallel systems. In this paper, we present FIrM (Functional Middleware), a cloud computing middleware implemented in Haskell, which allows multi-tenant-aware remote procedure calls. In order to evaluate FIrM, we carry out a performance evaluation that shows the impact of the multi-tenancy mechanisms on the performance of the applications.

[1]  Wouter Joosen,et al.  Context-oriented programming for customizable SaaS applications , 2012, SAC '12.

[2]  Raouf Boutaba,et al.  Cloud computing: state-of-the-art and research challenges , 2010, Journal of Internet Services and Applications.

[3]  Massimo Di Pierro,et al.  Concurrency in Modern Programming Languages [Guest editors' introduction] , 2012, Comput. Sci. Eng..

[4]  Wolfgang Emmerich,et al.  Software engineering and middleware: a roadmap , 2000, ICSE '00.

[5]  E. Michael Maximilien,et al.  Toward cloud-agnostic middlewares , 2009, OOPSLA Companion.

[6]  Sungyoung Lee,et al.  Intercloud message exchange middleware , 2012, ICUIMC '12.

[7]  Philip A. Bernstein,et al.  Middleware: a model for distributed system services , 1996, CACM.

[8]  Srinath Perera,et al.  Multi-tenant SOA Middleware for Cloud Computing , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[9]  Steve Vinoski,et al.  Programming language impact on the development of distributed systems , 2011, Journal of Internet Services and Applications.

[10]  Won-Jae Lee,et al.  Supporting Multi-tenancy in SaaS Environments , 2012 .

[11]  Andres Löh,et al.  Deterministic Parallel Programming with Haskell , 2012, Computing in Science & Engineering.

[12]  Konrad Hinsen,et al.  The Promises of Functional Programming , 2009, Computing in Science & Engineering.

[13]  Gregory Collins,et al.  The Snap Framework: A Web Toolkit for Haskell , 2011, IEEE Internet Computing.

[14]  Douglas C. Schmidt,et al.  Research Advances in Middleware for Distributed Systems: State of the Art , 2002 .

[15]  Wouter Joosen,et al.  A Middleware Layer for Flexible and Cost-Efficient Multi-tenant Applications , 2011, Middleware.

[16]  Cor-Paul Bezemer,et al.  Multi-tenant SaaS applications: maintenance dream or nightmare? , 2010, IWPSE-EVOL '10.

[17]  Hans-Wolfgang Loidl,et al.  Haskell vs. f# vs. scala: a high-level language features and parallelism support comparison , 2012, FHPC '12.

[18]  Frank Leymann,et al.  ESBMT: Enabling Multi-Tenancy in Enterprise Service Buses , 2012, 4th IEEE International Conference on Cloud Computing Technology and Science Proceedings.

[19]  John Hughes,et al.  Why Functional Programming Matters , 1989, Comput. J..

[20]  Paola Inverardi,et al.  Developing highly complex distributed systems: a software engineering perspective , 2012, Journal of Internet Services and Applications.

[21]  Imad M. Abbadi Middleware Services at Cloud Virtual Layer , 2011, 2011 IEEE 11th International Conference on Computer and Information Technology.

[22]  Frank Leymann,et al.  A Framework for Optimized Distribution of Tenants in Cloud Applications , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[23]  Cornelia Heinisch,et al.  Remote Method Invocation , 2011 .

[24]  Dan Grossman,et al.  How programming languages will co-evolve with software engineering: a bright decade ahead , 2014, FOSE.

[25]  Mark Anderson,et al.  Understanding the Complexity Surrounding Multitenancy in Cloud Computing , 2011, 2011 IEEE 8th International Conference on e-Business Engineering.

[26]  Wouter Joosen,et al.  Towards performance isolation in multi-tenant SaaS applications , 2012, MW4NG '12.

[27]  Ning Wang,et al.  A Transparent Approach of Enabling SaaS Multi-tenancy in the Cloud , 2010, 2010 6th World Congress on Services.