MTA4ESC (A Multi-Tenancy Awareness Middleware For Elastic Services Composition) is a scaling middleware which is both multi-tenancy awareness and workload-adaptive allowing services providers to perform more efficient multi-tenant services composition and managing their elasticity. To exploit economies of scale, multi-tenancy is considered as an essential property of cloud services. It is an architecture in which a single instance of a service serves multiple users/organisations. Each one is identified as a tenant. The multi-tenancy is based on two basic modes which are native multi-tenancy and multiple instances. The native multi-tenancy mode means that all tenants are supported by a single shared service instance over various hosting resources. Indeed, the same instance denotes that the same service using the same code in the same infrastructure is used by tenants. Whereas, the multiple instances mode signifies that each tenant has his dedicated service instance over a shared hardware, operating system or a middleware in a hosting environment. A service instance requires a tenant specific behavior for a service.
The MTA4ESC is based on service pattern as a generic model which provides a reusable and an abstract description for matching multi-tenant services while ensuring the required tenants concerns. Service pattern can be considered as an intermediate level of abstraction which intend to bridge the gap between the tenant’s requirements and the dynamic composed services.
- Elasticity Management: it is responsible for providing the elasticity of involved services that may result from the workload variation of tenants at runtime to meet “pay-as-you-go” property.
- Elasticity Dependency Controller: it consists in analyzing elasticity dependencies between the multi-tenant business process and its involved services where the impact of the services instances change on the shared process instance should be controlled to decide whether a process is affected for ensuring better control decisions.