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.