14
International Journal of Software Engineering and Its Applications Vol. 10, No. 4 (2016), pp. 13-26 http://dx.doi.org/10.14257/ijseia.2016.10.4.02 ISSN: 1738-9984 IJSEIA Copyright ⓒ 2016 SERSC Towards Multivariable Architecture for SaaS Multi-tenant Applications M. D. Samrajesh 1* and N.P. Gopalan 2 1 Research and Development Centre, Bharathiar University, Coimbatore, Tamil Nadu, 641046, India 2 National Institute of Technology, Tiruchirappalli, Tamil Nadu, 620015, India 1 [email protected], 2 [email protected] Abstract A multi-tenant Software as a Service (SaaS) application delivers customized run-time application to each tenant using a single application. Multi-tenancy offers several advantages including quick application deployment, reduced application maintenance, effective version control, and much more. However, handling large datacenter resources and providing better Quality of Service (QoS) is a major challenge for SaaS providers. SaaS application have unstable load based on tenant user’s demand. In a typical multitenant application security, reliability and energy efficiency play an important role. However, these aspects are largely ignored while focusing on the performance of the application. In this paper we propose a novel application’s component based multivariable architecture for multi-tenant Software as a Service (SaaS) application. Instances of application’s components are created at component level and dynamically scaled based on the component’s load considering security, reliability and energy based runtime factors applying multi-criteria ZiontsWallenius optimization method. Our evaluation and discussions show that the proposed multi-instance Towards Multivariable Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response time and conserves energy in datacenter. Keywords: Auto-scaling, Cloud Computing, Security, Green Computing, Reliability, SaaS, Multi-tenancy, Software Model 1. Introduction Today, system resources including software applications can be acquired on demand using cloud computing [1, 2]. Multi-tenancy is a key feature of cloud computing where a single application is shared among multiple tenants. Software as a Service (SaaS) using multi-tendency delivers customized run-time application to individual tenants using a single application [3]. Multi-tenancy offers several advantages including reduction in maintenance cost, effective application version control, rapid application customization, quick deployment and much more. Multi-tenant applications (MTA) have significant competitive advantages over classical single-tenant applications [4]. However, handling large datacenter resources and providing better Quality of Service (QoS) is a major challenge for SaaS applications [5]. SaaS applications have unstable load based on tenant users count, user access frequency. Moreover in a typical application security, reliability and energy efficiency play an important role which are largely ignored while focusing on the performance aspect of the application. Multi-tenant application can be designed using a single instance, however scalability of the application is restricted [6] and it is complex [7]. Having * Corresponding Author

Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

International Journal of Software Engineering and Its Applications

Vol. 10, No. 4 (2016), pp. 13-26

http://dx.doi.org/10.14257/ijseia.2016.10.4.02

ISSN: 1738-9984 IJSEIA

Copyright ⓒ 2016 SERSC

Towards Multivariable Architecture for SaaS Multi-tenant

Applications

M. D. Samrajesh1*

and N.P. Gopalan2

1Research and Development Centre, Bharathiar University, Coimbatore,

Tamil Nadu, 641046, India 2National Institute of Technology, Tiruchirappalli, Tamil Nadu, 620015, India

[email protected],

[email protected]

Abstract

A multi-tenant Software as a Service (SaaS) application delivers customized run-time

application to each tenant using a single application. Multi-tenancy offers several

advantages including quick application deployment, reduced application maintenance,

effective version control, and much more. However, handling large datacenter resources

and providing better Quality of Service (QoS) is a major challenge for SaaS providers.

SaaS application have unstable load based on tenant user’s demand. In a typical

multitenant application security, reliability and energy efficiency play an important role.

However, these aspects are largely ignored while focusing on the performance of the

application. In this paper we propose a novel application’s component based

multivariable architecture for multi-tenant Software as a Service (SaaS) application.

Instances of application’s components are created at component level and dynamically

scaled based on the component’s load considering security, reliability and energy based

runtime factors applying multi-criteria Zionts–Wallenius optimization method. Our

evaluation and discussions show that the proposed multi-instance Towards Multivariable

Architecture (TMA) offers enhanced application load distribution and at the same time

offers improved application response time and conserves energy in datacenter.

Keywords: Auto-scaling, Cloud Computing, Security, Green Computing, Reliability,

SaaS, Multi-tenancy, Software Model

1. Introduction

Today, system resources including software applications can be acquired on demand

using cloud computing [1, 2]. Multi-tenancy is a key feature of cloud computing where a

single application is shared among multiple tenants. Software as a Service (SaaS) using

multi-tendency delivers customized run-time application to individual tenants using a

single application [3]. Multi-tenancy offers several advantages including reduction in

maintenance cost, effective application version control, rapid application customization,

quick deployment and much more. Multi-tenant applications (MTA) have significant

competitive advantages over classical single-tenant applications [4]. However, handling

large datacenter resources and providing better Quality of Service (QoS) is a major

challenge for SaaS applications [5].

SaaS applications have unstable load based on tenant users count, user access

frequency. Moreover in a typical application security, reliability and energy efficiency

play an important role which are largely ignored while focusing on the performance

aspect of the application. Multi-tenant application can be designed using a single instance,

however scalability of the application is restricted [6] and it is complex [7]. Having

* Corresponding Author

Page 2: Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

International Journal of Software Engineering and Its Applications

Vol. 10, No. 4 (2016)

14 Copyright ⓒ 2016 SERSC

separate instances for each tenant is not economically feasible [6, 8]. Multi-tenant

architectures presented by [9, 10] are specific to a platform.

In this paper we propose a novel application’s component based Towards

Multivariable Architecture (TMA) for multi-tenant Software as a Service (SaaS)

applications. Instances of application are created at component level and dynamically

scaled based on the component’s load considering security, reliability and energy based

runtime factors and applying multi-criteria Zionts–Wallenius optimization method.

Generally, the method is based on user defined preferences and input at each iteration the

method finds feasible solutions and finally attempts to get a near optimal solution. A

component in MTA is defined as a major module or service in the application that is

created while designing the application. A component instance can run as a virtual

machine [11]. The proposed architecture can be incorporated in OpenNebula by updating

its scheduler.

Our evaluation and discussions show that the proposed multi-instance TMA offers

enhanced application load distribution, offers improved application response time and

reduces energy consumption at the datacenter. The rest of the paper is organized as

follows; Section 2 presents the related work in multitenant SaaS application. Section 3

presents the proposed multivariable architecture. Section 4 has the evaluation and

discussions and, finally, our conclusion and future work is presented in Section 5.

2. Related Work

A framework for implementing multi-tenant applications` is proposed in [12]. The

framework defined configurations for security, performance, and administration for

application. Moreover, it labeled the performance blocks and optimization methods.

Resource distribution is centered on Service Level Agreement (SLA). Monitoring of a

multi-tenant single-instance application is presented in [13] .The model has a performance

monitor, an element to identify unfamiliar conditions in the system and a scheduling

module to schedule tenants’ user access on pooled resources. The tenants are ordered

based on tenants’ SLA. Higher priority tenant users have early access to shared resources.

A secure and load disseminated architecture for multi-tenant applications is proposed

in [14]. The architecture dispenses authentication, authorization and validation processes

to different layers. The distribution of load in term is said to enhance the performance and

improve the user experience by meeting tenant specific SLAs. Responder services sensed

the kind of service and transfers it to successive service levels. A flexible database

schema based view on multi-tenant architecture is presented in [15]. The database tables

are vertically divided into chunks which are folded together into diverse physical multi-

tenant tables and combined. Application performance is achieved by mapping the heavily

used portions of the logical schemas into the conventional tables and the balance as chunk

tables. The evaluation results showed the effectiveness of chunk folding.

A framework for intuitive multi-tenant application development and administration is

presented in [16]. The framework is based on service oriented architecture; it exploits the

multi-tenancy enablement services such as isolation and tenant customization. Moreover,

it enables application developers to focus on business logic layer of their application

rather than basic multitenant aspects. The evaluation showed that the proposed framework

offers easier maintenance of application. A monitoring architecture based on scalable

paradigm for cloud is presented in [17]. The proposed architecture incorporates an

effective cloud monitoring of tenant data as per explicit service and tenant necessities and

uses standard communication protocols for communication in the multi-tenant cloud. The

architecture is based on open-source tool OpenStack. The architecture is compared with

other methods for performance and scalability; the results showed it incurs lesser

overhead.

Page 3: Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

International Journal of Software Engineering and Its Applications

Vol. 10, No. 4 (2016)

Copyright ⓒ 2016 SERSC 15

A novel monitoring of cloud resources and services is presented in [18]. In the

proposed architecture the resource provider can see a full overview of the infrastructure

deployed. The cloud consumer can view their resources using adaptive capabilities,

configure and customize the monitoring mechanism of their resources. The data examined

by the cloud consumer is private. Moreover, it supports disaster recovery by

synchronizing information for better retrieval in case of a failure. The evaluation results

showed that the proposed method offers better scalability and with lower overhead.

An efficient customization for multi-tenant SaaS applications using service lines is

presented in [19]. The proposed method includes design, implementation, functioning and

maintenance of a SaaS application. Moreover, the service line includes SLAs and

versioning, mapping specifications and instantiation of service line. The proposed method

is evaluated using a document processing application and also compared for cost

assessment with existing methods. A framework for QoS-aware and ontology-based

service deployment across clouds is presented in [20]. However, the energy consumption

of the servers is not considered while it’s deployed.

The surge in cloud computing services, have led to an exponentially growth of

datacenters [21]. Today, the datacenter itself is called as a computer. Information and

Communications Technology (ICT) devices energy consumption is on rise and by 2020

ICT devices are projected to consume about 14.5% of worldwide energy requirement

[22]. There is a demand from governments across the globe to reduce carbon emission,

due to its significant impact on climate change [23, 24]. Moreover, growing complexity of

cloud based interconnected system’s has become too complex for managing. A holistic

method that considers performance, reliability, security and Quality of Service (QoS)

without manual intervention is required [25]. Application scaling in cloud should take into

account the different runtime aspects for better QoS [26]. Scaling application efficiently

in cloud is a challenge [27]. There is a lack of approaches for optimizing cloud service

provisioning and application deployment, and also satisfy consumers’ QoS expectations

[28].

Our proposed architecture is an application’s component based approach for multi-

tenant Software as a Service (SaaS) applications. Instances of application are created at

component level based on various runtime factors such as to minimize the application

response time, minimize tenants security risk, minimize application’s reliability risk and

minimize datacenter’s energy requirement.

3. Towards Multivariable Architecture (TMA)

We present our proposed architecture that consists of system model, architecture and

algorithms. In the following sub-sections we describe the system model, the variables

used, the generalized notation of the multiple objective optimization problem, the

proposed architecture and the algorithms used in the implementation of the architecture.

3.1. System Model

An application consists of ‘n’ components core (components that are fundamental for

the application) and add-on (based on tenant nature of business the components vary) and

each component may have mi { 0 ≤ i ≤ n } number of instances based on the factors

defined. At any given point of time ‘t’ the Component Instance (CI) of a component ‘i’ ’

is described as ‘mi’ { 0 ≤ i ≤ n }.

n The number of components in the application

Ci Component ‘i’ of the application { 0≤ i ≤ n }

mi No of instances of component ‘i’ { 0≤ i ≤ n }

Page 4: Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

International Journal of Software Engineering and Its Applications

Vol. 10, No. 4 (2016)

16 Copyright ⓒ 2016 SERSC

CIij Component Instance of component ‘i’ , instance ‘j’ { 0≤ i ≤ n, 0≤ j ≤ mi

}

CSi Security flag Level – I for component ‘i’ of the application { 0≤ i ≤ n }

CISij Security flag Level – II for component ‘i’ and instance ‘j’

{ 0≤ i ≤ n, 0≤ j ≤ mi }

CRRij Component instance’s resource requirement

k The number of tenants attached to the application

Ti Tenant ‘i’ of the multi-tenant application { 0≤ i ≤ k }

ui Number of active users attached to the tenant Ti { 0≤ i ≤ k }

TCij Tenant ‘i’ user ‘j’ current number of components accessed

CAFij Component ‘i’ instance ‘j’ user Access Frequency. { 0≤ i ≤ n, 0≤ j ≤ mi

}

CRLij Component ‘i’ instance ‘j’ Runtime load { 1 ≤ i ≤ n, 0≤ j ≤ mi }

ARTij Application Response Time ‘i’ Tenant ‘j’ user { 1 ≤ i≤ k, 0≤ j ≤ ui }

p Number of servers at the datacenter

SCi Server Resource capacity ‘i’ { 0≤ i ≤ p }

SSRi Server Security Risk ‘i’ { 0≤ i ≤ p }

SRRi Server Reliability Risk ‘i’ { 0≤ i ≤ p }

SERi Maximum Energy requirement for Server ‘i’ { 0≤ i ≤ p }

SLi Server Load ‘i’ { 0≤ i ≤ p }

CuT Component up Threshold

CdT Component down Threshold

CHT Component hit Threshold

CHij Component Hit count { 0≤ i ≤ n, 0≤ j ≤ mi }

The SaaS multi-tenant application consists of ‘n’ number of components in the

application. Each component ‘Ci’ has ‘mi’ component instances represented as CIij.

Figure 1 shows the illustrative diagram of the system model. There are ‘k’ number of

tenants attached to the application and ‘ui’ number of active users attached to each tenant

Ti. Runtime factors of the user access is recorded in the following the user count in

‘TCij’, the user access frequency ‘CAFij’. The number of servers at the datacenter is

represented as ‘p’, each server’s capacity is represented by ‘SCi’ server resource capacity.

The security, reliability, energy and load of the server are represented by SSRi, SRRi,

SERi and SLi respectively. The proposed architecture has 2 layers of security one at

component level and another at component instance level termed as CSi, CISij

respectively. The various threshold used in the architecture are CuT Component up

Threshold is used start additional CI, CdT Component down Threshold is used to scale

down CI(s) and power off underutilized servers. The proposed architecture

implementation algorithm observes the CI for a period of time and decides to invoke the

ActiveScale() algorithm. This is done based on CHT (Component hit Threshold) and

counter CHij (Component Hit count).

Page 5: Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

International Journal of Software Engineering and Its Applications

Vol. 10, No. 4 (2016)

Copyright ⓒ 2016 SERSC 17

Figure 1. The Illustrative Diagram of the System Model

Generalized notation of multiple objective minimization problem

Minimize z = f(x) = (f1(x),..., fn-1(x-1), fn(x))

subject to

r ∈ R constraints

= { f(x) : x ∈ X, X ⊆ Rn }

where X is the feasible set and ‘x’ is the decision variable vector of size ‘n’

Minimize Response Time

f1(x)=Minimize ( )iji j

A R T u

{ 1 ≤ i≤ k, 0≤ j ≤ ui }

Minimize Security Risk

f2(x)=Minimize ( ).

p

i

i

S S R i y

{ 0≤ i ≤ p }

Minimize Reliability Risk

f3(x)=Minimize ( ).

p

i

i

S R R i y

{ 0≤ i ≤ p }

Page 6: Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

International Journal of Software Engineering and Its Applications

Vol. 10, No. 4 (2016)

18 Copyright ⓒ 2016 SERSC

Minimize Energy Requirement

f4(x)=Minimize ( ).

p

i

i

S E R i y

p { 0≤ i ≤ p }

1 if server ‘i’ is powered on

yi= 0 otherwise

Minimize z = f(x) = (f1(x), f2(x), f3(x), f4(x))

In the above multi-objective optimization, a feasible solution that minimizes the entire

stated objective functions simultaneously typically does not exist. Hence, considering

multiple variables, we incorporate Zionts–Wallenius method, it is an interactive method

used to find a best available solution in a multi-criteria optimization problem.

Min . ( )

n

i i

i

v f x

1

n

i

i

v { vi > 0 , i=1,2…n }

x ∈ X, specifically, if the vector Vi >=0, i=1,2…n then the minimization is a strict

Pareto optimum, whereas if vector Vi =0, i=1,2…n then it is a weak Pareto

optimum.

Constraints

1. Server load lower constraint at server ‘i’

.

n

iij

j

jC R XL >CuT ∀ j

Xij= 1 if CI ‘ij’ is connected to atleast one user and resides in server ‘i’

0 otherwise

The load in the server is directly related to the number of CI(s) placed in it. The server

load is above CuT. In case the load is less the underutilized servers CI’s are migrated and

the server is powered off to conserve energy.

2. Component instance resource requirement constraint

.

n

iij

j

jC R XR <= SCi ∀ j

Xij= 1 if CI ‘j’ is placed in Server ‘i’

0 otherwise

The component instance resource requirement is less than the physical capacity of the

residing server.

3. Server load upper constraint at server ‘i’

.

n

iij

j

jC R XL < ClT ∀ j

Xij= 1 if CI ‘ij’ is connected to atleast one user and resides in server ‘i’

Page 7: Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

International Journal of Software Engineering and Its Applications

Vol. 10, No. 4 (2016)

Copyright ⓒ 2016 SERSC 19

0 otherwise

The load of any server is less than Component lower Threshold (ClT); else present a

suitable server for relocating the CI based on TsT, selected CI(s) of the server are

migrated to a target server. Moreover, in case all the servers are above WoT, new servers

are powered on to balance the datacenter servers’ load.

4. Server energy consumption constraint

SERi >=0

0≤ i≤ n, 0≤ i≤ n,

The server energy consumption of servers is above 0

5. CI’s placement Constraint

∑jXij=1∀ i

A CI is placed and resides in only one server at a time. When a CI is relocated and

placed in a target server Xij=1 the victim server’s value is set to 0, hence the summation

is always 1.

6. Security Risk Constraint

SRSi >=1

0≤ i≤ n, 0≤ i≤ n,

Atleast at level 1

3.2. Multivariable Architecture

The proposed novel architecture is comprehensive, it considers the resources

availability at datacenter (processing power, network bandwidth, memory, energy

,reliability) , tenant user(s) demand (static, dynamic) and application’s requirement

(security , performance requirement). The multi objective criterion considers wide range

of factors. We incorporate Zionts–Wallenius method; based on the user defined

preferences at each iteration it finds the best available solution for the multi-criteria

optimization problem by selecting the best available server for placing application

component instance.

The proposed architecture offers fine grained component level scaling based on

component’s load. It provides two level of security for the application access, when the

load at a component instance (CI) increases based on the tenant user request and various

other runtime factors such as access frequency. As shown in algorithm 1 ActiveScale() is

invoked to create additional instances of the component instance such as to ensure that the

QoS is not degraded. The algorithm removes instances when the load decreases by

consolidating CIs, Moreover, the proposed algorithm tries to minimize the number of

servers, by migrating CI(s) from under-loaded servers. Migration is done such as the

number of powered-on servers is kept at the minimum. Additionally, migration of CI is

done based on the reliability and security of the server and the tenant requirement. This

helps application providers reduce energy cost at the same time enhance QoS. The

proposed architecture while switching on and off target servers considers the HEF

(Highest Energy First) and LEF (Lowest Energy First) respectively hence the energy

saved under heterogeneous

Page 8: Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

International Journal of Software Engineering and Its Applications

Vol. 10, No. 4 (2016)

20 Copyright ⓒ 2016 SERSC

Algorithm 1. ActiveScale ()

Input : Component load, Server Load, Hit Count

Output : Scale application Server Selection and CI’s to Migrates

Trigger : Change in Resources Availability, Tenant

User Load changes

1. Begin

// Observe Application Components Instances (CI)

2. For (for all Application Component Instances) do

3. Find CI ∃ if CRLij > CuT ∧ CHj < CHT // Scale Up

// Search for components load greater than threshold and

// # of times it crosses the threshold

4. Create new instance of component ‘ i’

5. Call PickUpServer (Scale up)

6. Start-up new Component instance at ‘k’

7. Map future user access to new Component

8. Find CI ∃ CRLij < CdT ∧ CHj < CHT // Scale Down

// Search for instance > CdT ∧ < CHT , Choose target CI(s)

9. Call PickUpServer (Scale Down)

10. If ( Designated Server count(CI) = ф)

11. Switch off the Designated Server

12. End

Algorithm 1. Active Scale Implementation

server capacity is significant. The conservation in energy also leads to reduction in

carbon emission and substantially contributes to green computing.

The proposed architecture considers various runtime factors including the user access

frequency and user access pattern and when users of similar components access during

runtime, grouping together and consolidating instances enhances the QoS and minimizes

the number of servers. Most available system ignores the relationship in user access

patterns. The security and reliability of the application is enhanced by running CI(s) only

in servers that has the lower security and reliability risk. The Risk factor of the server is

periodically evaluated and the CI(s) are place only on servers that have risk factor SSRi

and SRRi minimum. We use a multi-variable defensive criterion (Xi ) { 0≤ i ≤ 8 } to

determine the security and reliability of the server.

The following criterion are used (Xi) X1-Unsafe Identify Management, X2-Absence

of Tenant application monitoring X3-Absence of finer Granularity of application and data

access, X4-Absence of Tenant data isolation, X5-Absence of Secure Network access, X6-

Insecure Backups storage, X7-Absence of High availability, X8-Absence of Data

recovery mechanism. The risk classification is done based on [8] in 3 categories of risks

labeled a) Low b) Medium, and c) High.

Reliability of the server is computed using three core factors of the datacenter servers

1) Energy Reliability (λ1) Reliability characteristics include redundancy of power source

in the server’s datacenter, availability of highly-efficient UPS (Uninterrupted Power

Supply), and efficient datacenter cooling management system. 2) Server Hardware

Reliability (λ2) reliable hardware is crucial for the application’s availability. Health of

critical devices such as hard disks, capacity and failure of CPU(s), and primary memory

are considered. 3) Network Reliability (λ3) includes redundant path, communication

reliability, and bandwidth [28].

Page 9: Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

International Journal of Software Engineering and Its Applications

Vol. 10, No. 4 (2016)

Copyright ⓒ 2016 SERSC 21

Algorithm 2. PickUpServer (var)

Output : Server Selection for Component creation/releases

Input : Server Load, Energy Requirement, Scale Up/Down

Trigger : Change in Resources Availability, Server Load

1. Begin

2. If (var is Scale up)

3. For all datacenters Server do

4. Find server ∃ LRE I , { Sort List of Servers based server }

// Apply Zionts–Wallenius method

// (considering Load, Reliability & Security, LEF)

5. Choose the first Server ’k’ from the list

6. In case of tie choose based on CRR match

//Create Component Intance

7. Else if (var is Scale Down)

8. Consolidate underutilized CI such as to switch off a server

with HEF (Highest Energy First) // Apply Zionts–Wallenius method

9. Live migrate all users of CI(s) to existing target CI(s)

10. End

Algorithm 2. Pickup Server Implementation

4. Evaluation and Discussion

The proposed model is evaluated using custom built simulator as in [29] [30] and using

automation tool Arena [31]. The workload configuration consists of steady, increasing,

spike and on-off as in [32].

4.1 Experimental Setup

The initial total number of tenants is 1000. The number of tenant users attached to each

tenant follows a Poisson distribution. The add-on components accessed by tenant users

are randomly distributed. We generate risk factors according to probability distribution

model. The risk levels are classified based on the security and reliability strength within a

specific timeframe. Risks at each server are quantitatively measured in scale between 1

and 3.

We model the system using application level traces as in [33] which contain traces of

real world HTTP request. Weibull distribution widely used in reliability engineering and

failure analysis [34] is used to generate numerical simulation values. Moreover, in order

to perform a realistic evaluation, we use existing TPCW benchmark with multi-tenancy

support (MTTPC-W) [35]. MTTPC-W is an online book store application, the workload

is generated when tenant users access web, to support multi-tenancy, and it differentiates

between requests originating from different tenants by isolating their data. The tenant user

request follows a Markov chain. As given in Table 1, in our experiments we use 100

servers, 2000 tenant and each tenant having varied number of users who simultaneously

access the application. The MTA consists of 5 core components and 10 add-on

components, initially single instance of all core components are created. Later based on

demand further instances of the core and add-on components are created.

Table 1. Evaluation Setup Parameters

Number of Servers 100

Tenants 2000

Number of Core Components 5

Add on Components 10

Tenant Users 250-1000

Page 10: Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

International Journal of Software Engineering and Its Applications

Vol. 10, No. 4 (2016)

22 Copyright ⓒ 2016 SERSC

We evaluate the proposed architecture using 3 types of servers 1) Small Scale

Deployment (SSD), 2) Medium Scale Deployment (MSD), and 3) Large Scale

Deployment (LSD) as shown in Table 2. The datacenter servers load at time ‘t’ is shown

in Figure 2. The thresholds are set based on [36, 37].

Table 2. Test Bed hardware Specification

SSD MSD LSD

Bandwidth mbps 2 mbps 10 mbps Unlimited

Number of Servers 50 30 20

Energy (watts) 218 638 12682

When the application CI(s) load increases TMA creates additional CI(s) to handle the

additional workload and guarantees the user QoS. Additionally, when the load decrease it

removes specific CI(s) or migrates CI(s) and switches off servers that are underutilized

this reduces energy consumption and increases the reliability of the server.

Figure 2. Typical Server Load at Datacenter

4.2. Comparative Evaluation

We evaluate the average Tenant user Response Time (TRT) under two different

scenarios namely the static component access and dynamic component access. We

compare our proposed architecture with two existing application instance scaling models

1) Time based Scaling (TBS) as in [38] here application components are scaled based on a

planned schedule set by the providers. The highest application load time is selected based

on history of earlier logs and traces and based on the type of application 2) Hierarchical

Based Scaling (HBS) as in [39], here components are scaled based on the applications

core components and related components based on the application’s hierarchy. Each

application can also have one or more application component instances considering its

level in the hierarchy.

Our evaluation results in Figure 3 shows the average tenant response time under static

component access (i.e., the number of attached users to a tenant is constant) and dynamic

component access (i.e., the number of attached users to a tenant continuously vary). The

average tenant response time under static component access at 500 tenant users TMA

when compared with TBS, HCS has 10.52%, 21.05% less average tenant response time

respectively. TMA was performed well as TMA creates additional CI based on the load

and the load at the server is balanced. However at dynamic component access as shown in

Figure 3 (b) at 1000 tenant user we see a convergence in response time and the

Page 11: Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

International Journal of Software Engineering and Its Applications

Vol. 10, No. 4 (2016)

Copyright ⓒ 2016 SERSC 23

comparative advantage in response time is less sine the data center resources are utilized

to the maximum.

(a) (b)

Figure 3. Average Tenant Response Time Under (a) Static Component Access (b) Dynamic Component Access for TBS-Time based Scaling, HBS-Hierarchical Based Scaling and TMA- Towards Multivariable Architecture

A typical datacenter has of different energy consuming servers that are heterogeneous.

We compare our proposed architecture with respect to energy saving against 1) Non

Power-Aware (NPA) as stated in [40] and 2) Dynamic Voltage and Frequency Scaling

(DVFS) as in [41]. The number of powered off and the normalized energy saved under

homogenous datacenter server capacity and heterogeneous server capacity datacenter is

evaluated.

Our experimental results in figure 4 shows that proposed TMA outperforms DVFS by

conserving more energy under homogenous datacenter server capacity and heterogeneous

datacenter server capacity by 14.28% , 37.12% respectively. The proposed architecture

while switching on and off target servers considers the HEF (Highest Energy First) and

LEF (Lowest Energy First) respectively hence the energy saved under heterogeneous

server capacity is significant. The conservation in energy also leads to reduction in carbon

emission and substantially contributes to green computing.

(a) (b)

Figure 4. (a) Homogenous Datacenter Server Capacity (b) Heterogeneous Datacenter Server Capacity. NPA: Non Power-Aware, DVFS : Dynamic

Voltage and Frequency Scaling

Page 12: Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

International Journal of Software Engineering and Its Applications

Vol. 10, No. 4 (2016)

24 Copyright ⓒ 2016 SERSC

5. Conclusion and Future Work

We presented a novel Towards Multivariable Architecture (TMA) along with

implementation algorithms for multi-tenant SaaS application. The proposed architecture is

an inclusive architecture that considers most aspects for the SaaS application. Instances

of application is created at component level and dynamically scaled based on runtime

application factors and datacenter resources factors including server security, reliability

and energy. We incorporate Zionts–Wallenius method in our proposed architecture which

attempts to find the best available server for application component instance.

We compared our proposed architecture for energy saving against Non Power-Aware

(NPA) and Dynamic Voltage and Frequency Scaling (DVFS). The tenant users’ response

time is evaluated in two different scenarios the static component access and dynamic

component access. Our evaluation under different scenarios and methods demonstrates

that the proposed architecture is effective in enhancing the QoS of multitenant

application. The average tenant response time under static component access at 500 tenant

users TMA when compared with TBS, HCS has 10.52%, 21.05% less average tenant user

response time respectively. TMA outperforms DVFS in conserving energy under

homogenous datacenter server capacity and heterogeneous datacenter server capacity by

14.28%, 37.12% respectively. As a part of future work we plan to include more factors in

the evaluation of the architecture and use diverse scenarios for testing.

References

[1] A. Fox, R. Griffith, A. Joseph, R. Katz, A. Konwinski, G. Lee, and I. Stoica, “Above the clouds: A

Berkeley view of cloud computing”, Dept. Electrical Eng. and Computer Sciences, University of

California, Berkeley, Rep. UCB/EECS, vol. 28, no. 13, (2009).

[2] I. A. T. Hashem, I. Yaqoob, N. B. Anuar, S. Mokhtar, A. Gani and S. U. Khan, “The rise of ‘big data’

on cloud computing: review and open research issues”, Information Systems, vol. 47, (2015), pp. 98-

115.

[3] M. D. Samrajesh and N. P. Gopalan, “Component based energy aware multi-tenant application in

software as-a service”, Proceedings of the 15th International Conference Advanced Computing

Technologies (ICACT), IEEE, (2013), pp. 1-5.

[4] J. Schroeter, S. Cech, S. Götz, C. Wilke and U. Aßmann, “Towards modeling a variable architecture for

multi-tenant SaaS-applications”, In Proceedings of the sixth international workshop on variability

modeling of software-intensive systems, (2012) January, pp. 111-120.

[5] R. Buyya, R. Ranjan and R. N. Calheiros, “Intercloud: Utility-oriented federation of cloud computing

environments for scaling of application services”, Algorithms and architectures for parallel processing,

Springer Berlin Heidelberg, (2010), pp. 13-31.

[6] F. Chong and G. Carraro, “Architecture strategies for catching the long tail”, MSDN Library, 9-10

Microsoft Corporation, (2006).

[7] H. Koziolek, “The SPOSAD architectural style for multi-tenant software applications”, In Proceedings

of 9th Working IEEE/IFIP Conference on Software Architecture (WICSA), (2011), pp. 320-327.

[8] M. D. Samrajesh and N. P. Gopalan, “Secure Multi-tenant Application in Software as a Service”,

Proceedings of the International Conference on Emerging Research in Computing, Information,

Communication and Applications, ELSEVIER, (2013), pp. 826-832.

[9] F. Chong, G. Carraro and R. Wolter, “Multi-tenant data architecture”, MSDN Library, Microsoft

Corporation, (2006).

[10] C. D. Weissman and S. Bobrowski, “The design of the force. com multitenant internet application

development platform”, In the Proceedings of SIGMOD Conference, (2009), pp. 889-896.

[11] Q. Zhang, L. Cheng and R. Boutaba, “Cloud computing: state-of-the-art and research challenges”.

Journal of internet services and applications, vol. 1, no. 1, (2010), pp. 7-18.

[12] Z. H. Wang, C. J. Guo, B. Gao, W. Sun, Z. Zhang and W. H. An, “A study and performance evaluation

of the multi-tenant data tier design patterns for service oriented computing”, In Proceedings of IEEE

International Conference on e-Business Engineering, (2008), IEEE, pp. 94-101.

[13] X. Cheng, Y. Shi and Q. Li, “A multi-tenant oriented performance monitoring, detecting and scheduling

architecture based on SLA”, In Joint Conferences on Pervasive Computing (JCPC), (2009), IEEE, pp.

599-604.

[14] Z. Pervez, S. Lee and Y. K.. Lee, “Multi-tenant, secure, load disseminated SaaS architecture”, In

Proceedings of the 12th International Conference on Advanced Communication Technology (ICACT),

IEEE, (2010), pp. 214-219.

Page 13: Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

International Journal of Software Engineering and Its Applications

Vol. 10, No. 4 (2016)

Copyright ⓒ 2016 SERSC 25

[15] S. Aulbach, T. Grust, D. Jacobs, A. Kemper and J. Rittinger, “Multi-tenant databases for software as a

service: schema-mapping techniques”, In the Proceedings of ACM SIGMOD international conference

on Management of data, ACM, (2008), pp. 1195-1206.

[16] C. J. Guo, W. Sun, Y. Huang, Z. H. Wang and B. Gao, “A framework for native multi-tenancy

application development and management”, In Proceedings of the 4th IEEE International Conference on

Enterprise Computing, E-Commerce, and E-Services, IEEE, (2007), pp. 551-558.

[17] J. Povedano-Molina, J. M. Lopez-Vega, J. M. Lopez-Soler, A. Corradi and L. Foschini, “DARGOS: A

highly adaptable and scalable monitoring architecture for multi-tenant Clouds”, Future Generation

Computer Systems, vol. 29, no. 8, (2013), pp. 2041-2056.

[18] J. M. Alcaraz Calero and J. Gutierrez Aguado, “MonPaaS: An Adaptive Monitoring Platform as a

Service for Cloud Computing Infrastructures and Services”, Services Computing, IEEE Transactions on,

vol. 8, no. 1, (2015), pp. 65-78.

[19] S. Walraven, D. Van Landuyt, E. Truyen, K. Handekyn and W. Joosen, “Efficient customization of

multi-tenant software-as-a-service applications with service lines”, Journal of Systems and Software,

vol. 91, (2014), pp 48-62.

[20] A. V. Dastjerdi, S. K. Garg, O. F. Rana and R. Buyya, “CloudPick: a framework for QoS‐aware and

ontology‐based service deployment across clouds”, Software: Practice and Experience, vol. 45, no. 2,

(2015), pp. 197-231.

[21] K. Bilal, S. U. R. Malik, O. Khalid, A. Hameed, E. Alvarez, V. Wijaysekara and S. U. Khan, “A

taxonomy and survey on Green Data Center Networks”, Future Generation Computer Systems, vol. 36,

(2014), pp 189-208.

[22] L. A. Barroso and U. Hölzle, “The case for energy-proportional computing”, Computer, vol. 12, (2007),

pp. 33-37.

[23] R. Buyya, A. Beloglazov and J. Abawajy, “Energy-efficient management of data center resources for

cloud computing: A vision, architectural elements, and open challenges”, arXiv preprint

arXiv:1006.0308, (2010).

[24] W. Vereecken, W. Van Heddeghem, D. Colle, M. Pickavet and P. Demeester, “Proceedings of the

Overall ICT footprint and green communication technologies”, (2010), pp 1-6.

[25] A. N. Toosi, R. N. Calheiros and R. Buyya, “Interconnected cloud computing environments: Challenges,

taxonomy, and survey”, ACM Computing Surveys (CSUR), vol. 47, no. 1, (2014), p. 7.

[26] L. M. Vaquero, L. Rodero-Merino and R. Buyya, “Dynamically scaling applications in the cloud”, ACM

SIGCOMM Computer Communication Review, vol. 41, no. 1, (2011), pp. 45-52.

[27] J. Ru, J. Grundy and J. Keung, “Software engineering for multi-tenancy computing challenges and

implications”, In Proceedings of the International Workshop on Innovative Software Development

Methodologies and Practices, ACM, New York, NY, USA, (2014), pp 1-10.

[28] M. D. Samrajesh and N. P. Gopalan, “Towards Reliable Multi-Tenant Software as-a Service

Application”, Advanced Science Letters, vol. 21, no. 1, (2015), pp. 122-126.

[29] M. D. Samrajesh and N. P. Gopalan, “AppSIM: An Application Simulator for Software as a Service

(SaaS)”, In the Proceedings of the International Conference on Computational Techniques and Mobile

Computing (ICCTMC), (2012), pp. 14-15.

[30] M. Sahinoglu, “Security meter: A practical decision-tree model to quantify risk”, IEEE security and

privacy, vol. 3, (2005), pp. 18-24.

[31] G. Altuger and C. Chassapis, “Multi criteria preventive maintenance scheduling through arena based

simulation modeling”, Proceedings of the International conference of Simulation, (2009), pp. 2123-

2134.

[32] D. Villegas and S. M. Sadjadi, “Mapping non-functional requirements to cloud applications”, In

Proceedings of the 23rd International Conference on Software Engineering and Knowledge Engineering,

SEKE, (2011), pp. 527-532.

[33] M. Arlitt and T. Jin, “A workload characterization study of the 1998 world cup web site”, Network,

IEEE, vol. 14, no. 3, (2000), pp. 30-37.

[34] M. D. Samrajesh, N. P. Gopalan and S. Suresh, “A Scalable Component Model for Multi-Tenant SaaS

Application”, Int. J. Advanced Intelligence Paradigms, ("in press").

[35] R. Krebs, A. Wert and S. Kounev, “Multi-tenancy performance benchmark for web application

platforms”, Proceedings of the International Conference on Web Engineering, Springer Berlin

Heidelberg, (2013), pp. 424-438.

[36] Y. Sahu, R. K. Pateriya and R. K. Gupta, “Cloud server optimization with load balancing and green

computing techniques using dynamic compare and balance algorithm”, In Proceedings of 5th

International Conference on Computational Intelligence and Communication Networks (CICN), IEEE

(2013), pp. 527-531.

[37] J. Wang, C. Huang, Q. Liu, K. He, J. Wang, P. Li and X. Jia, “An Optimization VM Deployment for

Maximizing Energy Utility in Cloud Environment”, In Algorithms and Architectures for Parallel

Processing, Springer International Publishing, (2014), pp. 400-414.

[38] M. Mao and M. Humphrey, (2011), November, “Auto-scaling to minimize cost and meet application

deadlines in cloud workflows”, Proceedings of the International Conference for High Performance

Computing, Networking, Storage and Analysis, (2011), ACM, p. 49.

Page 14: Towards Multivariable Architecture for SaaS Multi-tenant ......Architecture (TMA) offers enhanced application load distribution and at the same time offers improved application response

International Journal of Software Engineering and Its Applications

Vol. 10, No. 4 (2016)

26 Copyright ⓒ 2016 SERSC

[39] S. K. Garg, S. Versteeg and R. Buyya, “SMICLOUD: A framework for comparing and ranking cloud

services”, Fourth IEEE International Conference on Utility and Cloud Computing (UCC)”, IEEE,

(2011), pp. 210-218.

[40] A. Beloglazov and R. Buyya, “Energy efficient resource management in virtualized cloud data centers”,

Proceedings of the 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid

Computing, IEEE Computer Society, (2010), pp. 826-831.

[41] A. Beloglazov, J. Abawajy and R. Buyya, “Energy-aware resource allocation heuristics for efficient

management of data centers for cloud computing”, Future generation computer systems, vol. 28, no. 5,

(2012), pp. 755-768.

Authors

M. D. Samrajesh, received MCA from Bharathidasan University.

He got his M.Phil in the field of Computer Science from MS

University, He is currently a Research scholar at Research and

Development Centre, Bharathiar University, Tamil Nadu. He is a

member of IACSIT, IAENG, CSI. His research interest includes

Cloud Computing, Software Engineering, Distributed Systems, Green

Computing, and VOD.

N. P. Gopalan, received his M.Sc degree Mathematics from

Madras University in 1978, PhD in Applied Mathematics from Indian

Institute of Science, Bangalore in 1983and M.E degree in Computer

Science and Engineering from NIT, Tiruchirappalli in 1993.and

currently serving as the Professor of Computer Applications in it. He

has nearly 60 publications in various national and international and

Journals. He has authored several text books and a patent in the

design of wireless robot. His areas of interest include Algorithms,

Combinatorics, Data Mining, Distributed and Mobile Computing.