  Elasticity is one of key features of cloud computing. Elasticity allows
Software as a Service (SaaS) applications' provider to reduce cost of running
applications. In large SaaS applications that are developed using
service-oriented architecture model, each service is deployed in a separated
virtual machine and may use one or more services to complete its task.
Although, scaling service independently from its required services propagates
scaling problem to other services, most of current elasticity approaches do not
consider functional dependencies between services, which increases the
probability of violating service level agreement. In this paper, architecture
of SaaS application is modeled as multi-class M/M/m processor sharing queuing
model with deadline to take into account functional dependencies between
services during estimating required scaling resources. Experimental results
show effectiveness of the proposed model in estimating required resources
during scaling virtual resources.
