cloudgenius: decision support for web server cloud migrational. [15] present an approach to measure...

10
CloudGenius: Decision Support for Web Server Cloud Migration Michael Menzel Research Center for Information Technology Karlsruhe Institute of Technology Karlsruhe, Germany [email protected] Rajiv Ranjan School of CSE, University of New South Wales Sydney, Australia Information Engineering Lab, CSIRO ICT Center Canberra, Australia [email protected] ABSTRACT Cloud computing is the latest computing paradigm that de- livers hardware and software resources as virtualized ser- vices in which users are free from the burden of worry- ing about the low-level system administration details. Mi- grating Web applications to Cloud services and integrat- ing Cloud services into existing computing infrastructures is non-trivial. It leads to new challenges that often require innovation of paradigms and practices at all levels: techni- cal, cultural, legal, regulatory, and social. The key problem in mapping Web applications to virtualized Cloud services is selecting the best and compatible mix of software images (e.g., Web server image) and infrastructure services to en- sure that Quality of Service (QoS) targets of an applica- tion are achieved. The fact that, when selecting Cloud ser- vices, engineers must consider heterogeneous sets of criteria and complex dependencies between infrastructure services and software images, which are impossible to resolve man- ually, is a critical issue. To overcome these challenges, we present a framework (called CloudGenius) which automates the decision-making process based on a model and factors specifically for Web server migration to the Cloud. Cloud- Genius leverages a well known multi-criteria decision making technique, called Analytic Hierarchy Process, to automate the selection process based on a model, factors, and QoS pa- rameters related to an application. An example application demonstrates the applicability of the theoretical CloudGe- nius approach. Moreover, we present an implementation of CloudGenius that has been validated through experiments. Categories and Subject Descriptors D.2.2 [Software Engineering]: Design Tools and Tech- niques—Computer-aided software engineering (CASE), De- cision tables, Evolutionary prototyping ; H.4.2 [Information Systems Applications]: Types of Systems—Decision sup- port (e.g., MIS) Keywords Cloud Computing, Migration Process, Decision Support, Se- lection Algorithm, Factors, Criteria, Service Selection, Au- tomation Copyright is held by the International World Wide Web Conference Com- mittee (IW3C2). Distribution of these papers is limited to classroom use, and personal use by others. WWW 2012, April 16–20, 2012, Lyon, France. ACM 978-1-4503-1229-5/12/04. 1. INTRODUCTION The emergence of Cloud computing over the past five years is potentially one of the breakthrough advances in the history of computing. Cloud providers including Amazon Web Services (AWS), Salesforce.com, or Google App En- gine give users the option to deploy their application over a network of infinite resource pool with practically no capital investment and with modest operating cost proportional to the actual use. By leveraging Cloud services to host Web applications organizations can benefit from advantages such as elasticity, pay-per-use, and abundance of resources. How- ever, organisations tend to avoid or delay migrations of Web applications to the Cloud due to multiple hurdles. With Cloud computing being a disruptive technology an adoption brings along risks and obstacles [2]. Risks can turn into ef- fective problems or disadvantages for organizations that may decide to move Web applications to the Cloud. Considering this increases the complexity of the decision associated with migrating a Web application to the Cloud. Such a decision depends on many factors, from risks and costs to security issues and service level expectations [17]. Another critical hurdle is the complexity of migrating a Web application to the Cloud on a technical level while incorporating econom- ical aspects. A migration from an organization-owned data center to a Cloud infrastructure service implies more than few trivial steps. The following steps outline a migration of an organization’s Web application to an equivalent on a Cloud infrastructure service. Steps of a migration to a Platform-as-a-Service (PaaS) offering would differ in several regards. First, an appropriate Cloud infrastructure service, or In- frastructure-as-a-Service (IaaS) offering, is selected. This demands a well-thought decision to be made that consid- ers all relevant factors, like e.g., price, Service Level Agree- ment (SLA) level, or support quality. The basis of a se- lection are data and measurements regarding each factor that describe the quality and make service options compa- rable. Secondly, the existing Web application and its plat- form, i.e., a Web server, are transferred from the local data center to the selected Cloud infrastructure service. There- fore, the Web application and server must be converted into a format expected by a Cloud infrastructure service. Typi- cally, in this step the whole Web application is bundled as a virtual machine (VM) image that consists of a software stack from operating system and software platforms to the software containing the business logic. Since it is often un- achievable to convert an existing Web application and its WWW 2012 – Session: Web Engineering 2 April 16–20, 2012, Lyon, France 979

Upload: others

Post on 30-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CloudGenius: decision support for web server cloud migrational. [15] present an approach to measure a provider’s perfor-mance capabilities. The work introduces a set of interesting

CloudGenius: Decision Support for Web Server CloudMigration

Michael MenzelResearch Center for Information Technology

Karlsruhe Institute of TechnologyKarlsruhe, [email protected]

Rajiv RanjanSchool of CSE, University of New South Wales

Sydney, AustraliaInformation Engineering Lab, CSIRO ICT Center

Canberra, [email protected]

ABSTRACTCloud computing is the latest computing paradigm that de-livers hardware and software resources as virtualized ser-vices in which users are free from the burden of worry-ing about the low-level system administration details. Mi-grating Web applications to Cloud services and integrat-ing Cloud services into existing computing infrastructuresis non-trivial. It leads to new challenges that often requireinnovation of paradigms and practices at all levels: techni-cal, cultural, legal, regulatory, and social. The key problemin mapping Web applications to virtualized Cloud servicesis selecting the best and compatible mix of software images(e.g., Web server image) and infrastructure services to en-sure that Quality of Service (QoS) targets of an applica-tion are achieved. The fact that, when selecting Cloud ser-vices, engineers must consider heterogeneous sets of criteriaand complex dependencies between infrastructure servicesand software images, which are impossible to resolve man-ually, is a critical issue. To overcome these challenges, wepresent a framework (called CloudGenius) which automatesthe decision-making process based on a model and factorsspecifically for Web server migration to the Cloud. Cloud-Genius leverages a well known multi-criteria decision makingtechnique, called Analytic Hierarchy Process, to automatethe selection process based on a model, factors, and QoS pa-rameters related to an application. An example applicationdemonstrates the applicability of the theoretical CloudGe-nius approach. Moreover, we present an implementation ofCloudGenius that has been validated through experiments.

Categories and Subject DescriptorsD.2.2 [Software Engineering]: Design Tools and Tech-niques—Computer-aided software engineering (CASE), De-cision tables, Evolutionary prototyping ; H.4.2 [InformationSystems Applications]: Types of Systems—Decision sup-port (e.g., MIS)

KeywordsCloud Computing, Migration Process, Decision Support, Se-lection Algorithm, Factors, Criteria, Service Selection, Au-tomation

Copyright is held by the International World Wide Web Conference Com-mittee (IW3C2). Distribution of these papers is limited to classroom use,and personal use by others.WWW 2012, April 16–20, 2012, Lyon, France.ACM 978-1-4503-1229-5/12/04.

1. INTRODUCTIONThe emergence of Cloud computing over the past five

years is potentially one of the breakthrough advances in thehistory of computing. Cloud providers including AmazonWeb Services (AWS), Salesforce.com, or Google App En-gine give users the option to deploy their application over anetwork of infinite resource pool with practically no capitalinvestment and with modest operating cost proportional tothe actual use. By leveraging Cloud services to host Webapplications organizations can benefit from advantages suchas elasticity, pay-per-use, and abundance of resources. How-ever, organisations tend to avoid or delay migrations of Webapplications to the Cloud due to multiple hurdles. WithCloud computing being a disruptive technology an adoptionbrings along risks and obstacles [2]. Risks can turn into ef-fective problems or disadvantages for organizations that maydecide to move Web applications to the Cloud. Consideringthis increases the complexity of the decision associated withmigrating a Web application to the Cloud. Such a decisiondepends on many factors, from risks and costs to securityissues and service level expectations [17]. Another criticalhurdle is the complexity of migrating a Web application tothe Cloud on a technical level while incorporating econom-ical aspects. A migration from an organization-owned datacenter to a Cloud infrastructure service implies more thanfew trivial steps. The following steps outline a migrationof an organization’s Web application to an equivalent ona Cloud infrastructure service. Steps of a migration to aPlatform-as-a-Service (PaaS) offering would differ in severalregards.

First, an appropriate Cloud infrastructure service, or In-frastructure-as-a-Service (IaaS) offering, is selected. Thisdemands a well-thought decision to be made that consid-ers all relevant factors, like e.g., price, Service Level Agree-ment (SLA) level, or support quality. The basis of a se-lection are data and measurements regarding each factorthat describe the quality and make service options compa-rable. Secondly, the existing Web application and its plat-form, i.e., a Web server, are transferred from the local datacenter to the selected Cloud infrastructure service. There-fore, the Web application and server must be converted intoa format expected by a Cloud infrastructure service. Typi-cally, in this step the whole Web application is bundled asa virtual machine (VM) image that consists of a softwarestack from operating system and software platforms to thesoftware containing the business logic. Since it is often un-achievable to convert an existing Web application and its

WWW 2012 – Session: Web Engineering 2 April 16–20, 2012, Lyon, France

979

Page 2: CloudGenius: decision support for web server cloud migrational. [15] present an approach to measure a provider’s perfor-mance capabilities. The work introduces a set of interesting

server directly to a Cloud infrastructure service compatibleVM image format, an adequate existing VM image offeredby the Cloud provider is chosen and customized. Existingimages vary in many ways, such as underlying operating sys-tem, software inside the software stack or software versions.Hence, selecting a functionally correct VM image becomes acomplex task. Besides, choosing a comprehensive VM imagehelps to minimize the effort of installing a software stack ona basic image. In the end, the resulting VM image shouldreflect the original Web server and at least replace it in asufficing manner. Next, a migration strategy needs to bedefined and applied to make the transition from the localdata center to the Cloud infrastructure service. A migra-tion strategy defines the migration procedure in means oforder and data transfer. In case data is affected with theWeb application migration all data on the original machinemust be transferred to the new system in the Cloud. Finally,all configurations and settings must be applied on the newWeb server in the Cloud to finish creating an appropriateequivalent. In sum, the process of migrating an IT systemto a Cloud infrastructure service comprises five steps listedin presorted, modifiable order as following:

• Cloud infrastructure service selection

• Cloud VM image selection

• Cloud VM image customization

• Migration strategy definition

• Migration strategy application

The order reflects the fact that an image can be chosen fora certain Cloud infrastructure service only. Alternatively,selecting a Cloud VM image first restrains the number ofeligible Cloud infrastructure services, typically to one. Inmore complex settings multiple components and databasesmust be migrated in parallel, what requires to apply thesteps described above component-wise. Additionally, inter-connections and relations between the components must beconsidered.

In this paper we introduce the CloudGenius frameworkthat lowers hurdles introduced by the complexity of theCloud migration process. CloudGenius offers a detailed pro-cess and comprehensive decision support that reduces a Webengineer’s effort of finding a proper infrastructure serviceand VM image when migrating a Web application to theCloud.

The paper is structured as follows. First, we reflect relatedwork in Section 2 and then present the CloudGenius frame-work in Section 3. Further, we give an example applicationof CloudGenius in Section 4 and present CumulusGenius, aprototypical implementation, in Section 5. In Section 6 wepresent the results of experiments on CumulusGenius’ timecomplexity before we discuss limitations and future work inSection 7 and conclude in Section 8.

2. RELATED WORKThere is preliminary work in the field of decision support

for Cloud VM images and Cloud services. Dastjerdi et al.[6] propose an approach that selects Cloud VM images andCloud infrastructure services based on an ontology but lacksa service evaluation. Services that fulfill all requirementscan not be differentiated regarding quality and suitability in

this approach due to the missing evaluation. An ontology-based description to formulate requirements and attributesof a service is used since Dastjerdi et al. introduce a cen-tral system that manages service discovery and mediation.Khajeh-Hosseini et al. [11] [12] developed the Cloud Adop-tion Toolkit that offers a decision support for migrating awhole IT infrastructure of an enterprise. The focus of thedecision support is on risk management and cost calculationbased on workloads. However, the toolkit lacks consider-ing factors that are not cost-related and supports a decisionprocess which stays on an abstract decision level. Regardingmulti-component migration planning, Hajjat et al. [8] madesome interesting effort with a model that supports decisionsin hybrid Cloud setups. The model addresses the trade-offbetween direct cost savings, network delays, and internetcommunication costs and takes a set of specific constraintsand requirements into account. Ye et al. [20] solve the map-ping of service compositions to Cloud services with a geneticalgorithm. The approach considers data and control flow ofa composition and evaluates Cloud services by four Qual-ity of Service (QoS) attributes. The approach overlooks theexistence of Cloud VM images and focuses on service com-position.

There is an amount of work on Cloud service selectionsthat, however, lacks factoring in the actual Web server andVM image selection, and misses a decision support and a mi-gration process. Chan and Chieu [3] propose a single valuedecomposition technique-based approach that evaluates andranks Cloud computing services by QoS attributes. Li etal. [15] present an approach to measure a provider’s perfor-mance capabilities. The work introduces a set of interestingmetrics to measure, but a method to choose a provider ismissing.

3. CLOUDGENIUS FRAMEWORKThe complexity of a Web server Cloud migration can be

mitigated by a decision support system that is capable of en-hancing the quality of Cloud infrastructure service selectionsand Cloud VM image selections. Both selection tasks canbe translated into decision-making problems between mul-tiple alternatives. Each alternative, a Cloud infrastructureservice or Cloud VM image, possesses different attributeswhich can be compared and evaluated with criteria. Finally,both selections must be joined since an image and a servicebuild a single, combined solution. Usually, every Cloud VMimage is only compatible with Cloud infrastructure servicesof few or a single provider restricting the number of viablecombinations. Figure 1 depicts the decisions to be made,as well as influential parameters and potential objects ofchoice. The problem depiction assumes that a user wants tochoose a VM image before an infrastructure service. Solidlined arrows imply parameter inheritance and dashed linedarrows point at options to choose from.

With CloudGenius we propose an approach that trans-lates both selection steps into multi-criteria decision-makingproblems to determine the most valuable combination of aCloud VM image and a Cloud infrastructure service. TheCloudGenius framework defines a Cloud migration process.Within the process CloudGenius offers a model and methodsto determine the best combined choice of a Cloud VM imageand a Cloud infrastructure service. The framework lever-ages an evaluation and decision-making framework, called(MC2)2, [16] to support requirements and adopt a profound

WWW 2012 – Session: Web Engineering 2 April 16–20, 2012, Lyon, France

980

Page 3: CloudGenius: decision support for web server cloud migrational. [15] present an approach to measure a provider’s perfor-mance capabilities. The work introduces a set of interesting

Figure 1: Overview of the Selection Problem

multi-criteria evaluation approach. The (MC2)2 frameworkprovides a process depicted in Figure 2 that allows to createan evaluation method that contains a requirements checkand evaluates multiple alternatives with relative values ona (0-1) scale. Within (MC2)2 process CloudGenius pro-poses the Analytic Hierarchy Process (AHP) reducing deci-sion modelling effort in comparison to the Analytic NetworkProcess (ANP) suggested by (MC2)2. AHP allows to buildcomplex weighted sum functions in a structured manner.Weighted sum functions allow compensation between crite-ria what can be influenced by weights derived from trade-offsstated by a user.

Figure 2: Overview of the (MC2)2 Process

CloudGenius allows users to define an abstract Web serverand set requirements for a Web server implementation thatcondition what attributes are acceptable for a Cloud equiv-alent. Besides, a user has to choose relevant factors froma criteria list and define their priorities by setting weightsfor criteria in pair-wise comparisons. From the informa-tion given by the user the CloudGenius approach employs amodel and the user preferences to apply the (MC2)2 frame-work and suggest a best Cloud image and Cloud servicecombination.

The following subsections give details on CloudGenius’

migration process, its formal model, and the selection andcombination steps that lead to an adequate VM image andCloud service from the abundance of offerings. Moreover,the final subsections address an alternative evaluation vari-ant and the computational complexity of CloudGenius.

3.1 A Cloud Migration ProcessFigure 3 shows the migration process to be followed in

the CloudGenius framework modelled in Business ProcessModel and Notation (BPMN) 2.0. The process illustrationintends to define steps and highlight activities. The processis triggered by an event ”Cloud is selected Infrastructure Op-tion” occuring after an organization has identified the Cloudinfrastructure for a possible or the best infrastructure optionfor a Web server. The subsequent steps show the informa-tion and preferences that need to be provided by the orga-nization and Web engineer (see ”User Input” lane) and whatis processed and computed by CloudGenius resp. an imple-mentation of the framework (see ”CloudGenius implementa-tion” lane). Two parallel steps that lie in the responsibilityof CloudGenius are linking to the sub-process described bythe (MC2)2 generic decision-making framework. Therefore,the implementation translates user input and the CloudGe-nius model stored in its database into a model that can beevaluated with (MC2)2. In the process Web engineers pro-vide input and receive suggestions computed by CloudGe-nius. From there the migration is executed with a selectedVM image and an infrastructure service target.

In the final steps of the process a user has the chance toenter a loop, try worse alternatives or reconsider with alteredrequirements and a new focus. Thereby the process allowsusers to incrementally improve a migration until a satisfyingsolution has been found. The migration process ends whenthe Web application has been successfully migrated to theCloud.

3.2 Formal Model of CloudGeniusIn order to formalize the problem addressed by the Cloud-

Genius framework, a formal mathematical model is intro-duced. The model defines the sets of objects involved in theproblem and the relations between objects and their eval-uation. Table 1 summarizes the parameters of the modelincluded in CloudGenius.

The model behind CloudGenius consists of m images ai, nservices sj and o providers pk. A is the corresponding set ofWeb server images, S the set of Cloud infrastructure servicesand P the set of Cloud providers. ai and sj own numeri-

cal, measurable and non-numerical attributes defined in Aai ,

Asj , Bai and Bsj . χ represents a value connected with a nu-merical attribute α or non-numerical attribute β. Further-more, the model introduces rA VM image related require-ments and rS service related requirement, and a goal/criteriahierarchy including g goals and c leaf criteria.

Based on the model CloudGenius determines the bestcombination (ai, sj) where ai and sj are the image andinfrastructure service of provider pk that have the highestvalue of all combinations according to the user’s preferencesand with ai deployable on sj . An evaluation method builtwith (MC2)2 can be employed to determine the best im-age ai ∈ A. Therefore, (MC2)2’s function is interpreted as

f(ai, Aai , Bai) 7→ vai which returns a value vai for image aiand allows to findmax{va1 , ..., vam}. In parallel, the best service sj ∈ S has

WWW 2012 – Session: Web Engineering 2 April 16–20, 2012, Lyon, France

981

Page 4: CloudGenius: decision support for web server cloud migrational. [15] present an approach to measure a provider’s perfor-mance capabilities. The work introduces a set of interesting

Table 1: CloudGenius ModelParameter Descriptionw Web application to be migrated to the CloudA = {a1, ..., am} set of m Cloud VM imagesS = {s1, ..., sn} set of n Cloud infrastructure servicesP = {p1, ..., po} set of o Cloud providersRA = {rA,1, ..., rA,rA} set of rA Cloud image requirementsRS = {rS,1, ..., rS,rS} set of rS Cloud service requirementsD = {d1, ..., dq} set of q image-service dependencies (ai, sj)τh Cloud image ai or service sj as h-th τ ∈ A ∪ SAτh = {ατh,1, ..., ατh,t} set of t numerical attributes of h-th image or service

Bτh = {βτh,1, ..., βτh,u} set of u non-numerical attributes of h-th image or serviceχ(α) Value of numerical attribute α in CloudGenius databaseχ(β) Value of non-numerical attribute β in CloudGenius databasevτh value of h-th τ calculated with (MC2)2

the value max{vs1 , ..., vsn} with f(sj , Asj , Bsj ) 7→ vsj . Ina final step, given the evaluation results of Cloud VM im-ages and infrastructure services, a best combination is de-termined. Combinations of an image and a service must befeasible, meaning an image has to be deployable on the ser-vice. The feasibility of a combination is indicated by theset D which holds all dependencies between images and ser-vices. Not all providers do support standard formats and,thus, set D is required to define the compatibilities betweenimages and services explicitly.

The applicability of the approach correlates with the qual-ity of the data hold in the model. Therefore, the number ofimages and services must possibly reflect the Cloud marketthat is of interest for a Web server migration. Moreover,the currentness and quality of χ values of all numerical andnon-numerical attributes have a high, direct influence on thequality of CloudGenius’ results. Thus, measurements mustbe accurate and up-to-date implicitly demanding frequentmaintenance of the database.

3.3 Web Server Requirements & PreferencesIn the first step of applying CloudGenius, a Web engineer

has to define and describe the Web server by formulatingrequirements and their preferences. Requirements formula-tion comprises choosing a Web server attribute and speci-fying a minimum or maximum value for numerical values,and a set of allowed items for non-numerical values. Numer-ical requirements can be of Max or Min type, non-numericalrequirements of Equals or OneOf type. Table 2 gives anoverview of the possible requirement definitions aligned withthe (MC2)2 framework which uses conjunctive and disjunc-tive satisficing methods for numerical values. The table as-sumes χ to be the attribute value under consideration, vrto be the given numerical requirement value, s a given non-numerical value and S a given set of non-numerical values.Boolean expressions mathematically formulate applied re-quirements checks regarding an attribute value χ and therequirement constraint. A list of available Web server at-tributes to set requirements upon can be drawn from merg-ing all available attributes of Cloud VM images and Cloudinfrastructure services listed in Table 3, 4, 5 and 6. Thetables includes numerical and non-numerical attributes thatcan be referred to in a requirement condition of a require-ment with an according numerical or non-numerical type.

Stating preferences is carried out by selecting and weight-

Table 2: CloudGenius Requirement TypesValue Type Req. Type Boolean ExpressionNumerical Max χ(α) < vrNumerical Min χ(α) > vr

Non-numerical Equals χ(β) = sNon-numerical OneOf χ(β) ∈ S

ing goals and criteria. CloudGenius proposes a hierarchy ofgoals and criteria and asks a Web engineer to weight theitems in pair-wise comparisons, in analogy to AHP. Figure4 and Figure 5 depict the proposed hierarchy offered byCloudGenius. The proposed criteria for CloudVM imagesand Cloud infrastructure services are derived from Kalepuet al. [10]. For CloudVM images the goal hierarchy com-prises two goals, cheapest and best quality VM images, withone criterion each, hourly price and image popularity. Thehierarchy for services consists of three main goals: cheapest,best latency and best quality service, that parent multiplecriteria: hourly price, max. and average network latency,performance and uptime. The Performance goal has threesub-goals CPU, RAM and Disk performance. The crite-rion ”popularity” corresponds to ”reputation” and ”uptime”to ”availability” in Kalepu et al..

The selection of goals comprises few, important QoS at-tributes only, but CloudGenius is extensible regarding awider selection of goals and more complex hierarchy. Sincethe (MC2)2 evaluation framework supports more complexgoal hierarchies CloudGenius is not limited in this aspect.However, a higher complexity of the goal hierarchy increasesthe amount of input a user must provide. Our approachkeeps the goal hierarchy complexity low but allows usersto extend and customize the goal hierarchy to their needs.Possible additional goals are QoS properties proposed byKalepu et al. [10] such as reliability, accessibility, securityor support.

Finally, it is important to find a trade-off for the compen-satory influence of Cloud VM image and Cloud infrastruc-ture service on the combined value in a pair-wise compari-son. The trade-off is incorporated in the calculation of anoverall value of a combination of an image and a service.

3.4 Cloud VM Image SelectionA Cloud VM image is a pre-configured, self-contained,

virtualization-enabled, and pre-built software resource unit

WWW 2012 – Session: Web Engineering 2 April 16–20, 2012, Lyon, France

982

Page 5: CloudGenius: decision support for web server cloud migrational. [15] present an approach to measure a provider’s perfor-mance capabilities. The work introduces a set of interesting

Fig

ure

3:

Mig

rati

on

Pro

cess

of

the

Clo

udG

en

ius

Fra

mew

ork

Figure 4: CloudGenius VM Image Goal Hierarchy

Figure 5: CloudGenius Infrastructure Service Hier-archy

that can be deployed at a Cloud infrastructure service. Anexample for a Web Server Cloud image is a pre-configuredTomcat Web server on Ubuntu Linux 10.4. Currenlty, thereis no widely accepted standard (virtualization) format for aCloud image, which means that an image is built for a spe-cific virtualization technology and possibly will not run onCloud services that are managed by non-overlapping virtu-alization technologies. For example, a VMware image can-not be deployed on the Amazon Web Services (AWS) ElasticCompute Cloud (EC2) service, as AWS only supports a pro-prietary virtualization format (also referred to as AmazonMachine Image (AMI) virtualization format).

Table 3 gives an overview of the measurable, numericalattributes the CloudGenius framework proposes. The tablelists their influence direction, metrics and the range of possi-ble values. A list of non-numerical attributes is presented inTable 4. The variability of an attribute represent the abil-ity to change the value over time, e.g., the popularity of animage might shrink over time and, thus, is dynamic. Staticvariability means the value is defined once with the creationof the image, e.g., its operating system, while dynamic at-tribute values are more volatile. Non-numerical attributesare all of static variability, while all numerical attributesare dynamic. Nevertheless, there is no correlation betweennon-numerical attributes and static variability in general. Inparallel, numerical attributes are not always dynamic per se.Attributes, additionally, have either a negative or positiveinfluence on the value. For instance, the higher the licensecosts the less interesting becomes an image. In contrary,higher popularity is positive for an image. (MC2)2 respectsnegative and positive values in its evaluation.

The list of Cloud VM image attributes is open for at-

WWW 2012 – Session: Web Engineering 2 April 16–20, 2012, Lyon, France

983

Page 6: CloudGenius: decision support for web server cloud migrational. [15] present an approach to measure a provider’s perfor-mance capabilities. The work introduces a set of interesting

Table 3: Cloud Image Numerical AttributesName Influence Metric Value RangeHourly License Price Negative $/h 0-∞ $/hPopularity Positive % 0-100 %

Table 4: Cloud image Non-numerical AttributesName Example ValuesVirtualization Format Xen, VMWare, . . .Operating System (OS) Linux, Windows, . . .OS Version Ubuntu 10.4, . . .Implementation Language Java, Perl, Ruby, . . .Supported Impl. Lang.s Java, Perl, Ruby, . . .

tribute changes and supports users with the introduction ofmore or other attributes for images. The current attributeselection is derived from literature [6] and own observations,and provides a basic set of attributes that are essential toCloud VM image selection. Nevertheless, the current CloudVM image attribute list is not fixed and we hope to be ableto build a list of important attributes from usage data ofa future, publicly available prototype. Both measurableattributes have been derived from [10] since these two at-tributes have been found to be useful and applicable to VMimages.

The VM image selection process requires the (MC2)2 eval-uation framework to evaluate whether an image can deliverthe requested functional and non-functional requirements,e.g., ”supports Web applications implemented in Java” or”has a popularity of over 80% according to user ratings”. Itis assumed that all VM images are Web servers what can beensured by introducing an attribute that describes the VMimage software stack and an requirement set automaticallythat checks if this attribute implies a Web server, i.e., anattribute ”VM Image Feature” and a requirement ”VM Im-age Feature equals ’Web server’”. Every image that does notmeet all formulated requirements is eliminated by (MC2)2

and not considered for composite solutions of an image anda service. Besides, the evaluation framework determines avalue for an image and, therefore, involves all numerical im-age attributes.

To create an evaluation method with (MC2)2 that pro-vides the demanded capabilities a Web engineer’s input andCloudGenius’ formal model must be translated into inputparameters for the (MC2)2’s evaluation method buildingprocess (see Figure 2). Therefore, in the building processthe ”Define scenario” step is skipped and in the subsequentstep ”Define alternatives” all images from a database whichholds the set of images including all image attributes be-come the evaluation alternatives. Further, all numerical at-tributes of images (see Table 3) are translated into a cri-teria hierarchy. The criteria hierarchy corresponds to theproposed goal hierarchy customized and weighted in pair-wise comparisons in step 2 of the process. Any items withinthe hierarchy that have been deselected are removed fromthe hierarchy. CloudGenius defines all requirements set onimage attributes as the requirements to be considered bythe evaluation method. The multi-criteria decision-makingmethod chosen is every time AHP which needs to be config-ured with criteria weights. The weighting of the criteria isinferred from goal preferences which have been gathered in

pair-wise comparisons for all available attributes during thefirst steps of the CloudGenius process.

Fed with images as alternatives, a criteria hierarchy, re-quirements and criteria weights a new evaluation methodbased on AHP is created with (MC2)2. The created evalua-

tion method matches a function f(ai, Aai , Bai) 7→ vai whichis applied on all images ai. By setting all χ(α) as param-eters in the function a value vai for every image ai can bedetermined. The function returns a value vai = 0 whenever

the attributes (B)ai of ai do not achieve all requirements. Indetail, (MC2)2 creates the function described in Equation1 where wj is the global criteria weight of j-th numericalattribute.

f(ai, Aai , Bai) =

|Aai

|∑j=0

wjχ(αj,ai) ∀r ∈ RA : r = true

0 else

7→ vai(1)

In case, none of the images meets all requirements in a sub-sequent step all images that meet all but one requirementare considered. This procedure is repeated n times untila set of images is found that fulfil all but n requirements.The evaluation will still continue and return evaluation val-ues. CloudGenius expects a created evaluation method tosupport a requirements check that keeps images with anynumber of requirements in RA not met, e.g., for n = 1 theevaluation method must keep all images with a single, arbi-trary requirement in RA not met. This must not be achievedby removing one element from RA subsequently and applythe evaluation method with a smaller RA set. Instead therequirements check step within the evaluation method mustallow n requirement checks to be false for any image. Onlythen the calculated results are represented by relative valuesbetween all image alternatives.

To determine the best image one needs to find the highestvalue alternative of all evaluation results max{va1 , ..., vam}.A reasonable notion is to order all alternatives resp. imagesby value what can be achieved with an arbitrary sortingalgorithm. Then, depending on the sorting direction, thebest alternatives are the top for descending order or bottomones for ascending order.

3.5 Cloud Infrastructure Service SelectionIn parallel to the Cloud VM image selection, the selection

of a Cloud infrastructure service proposes a range of numer-ical and non-numerical attributes and leverages the (MC2)2

framework to gain an evaluation method g(sj , Asj , Bsj ) 7→vsj formulated in Equation 2 where wi is the global criteriaweight of i-th numerical attribute.

g(sj , Asj , Bsj ) =

|Asj

|∑i=0

wiχ(αi,sj ) ∀r ∈ RS : r = true

0 else

7→ vsj(2)

A list of numerical attributes for the Cloud service selec-tion evaluation method is given in Table 5, a list of non-numerical attributes in Table 6. The table of numericalattributes implies a dynamic variability for all attributesand presents their metric and value range. The table of

WWW 2012 – Session: Web Engineering 2 April 16–20, 2012, Lyon, France

984

Page 7: CloudGenius: decision support for web server cloud migrational. [15] present an approach to measure a provider’s perfor-mance capabilities. The work introduces a set of interesting

non-numerical attributes implies a static variablity for allattributes and gives example values.

Table 5: Cloud Service Numerical AttributesName Influence Metric Value RangeHourly Price Negative $/h 0-∞ $/hCPU Perfomance Positive Flops 0-∞ FlopsRAM Perfomance Positive Flops 0-∞ FlopsDisk Perfomance Positive Flops 0-∞ FlopsMax. Latency Negative ms 0-∞ msAvg. Latency Negative ms 0-∞ msUptime Positive % 0-100%Service Popularity Positive % 0-100%

Table 6: Cloud Service Non-numerical AttributesName Example ValuesProvider Amazon, Rackspace, . . .Location Country Germany, Australia, . . .

Cloud infrastructure services possess multiple numericalattributes that imply a caclulation or measurement. HourlyUsage Prices are typically provided from the provider ormust be calculated with a provider’s price model. Moredetailed cost schemes are provided by Klems et al. [13] andKhajeh-Hosseini et al. [12]. To guarantee comparabilityof costs the attribute might need a corrected metric andneeds to be renamed to ”Total Costs” or ”Monthly Costs”accordingly. Performance and latency attributes want to bemeasured with benchmarking tools as those are often notprovided by Cloud providers [14]. The uptime of a service isa long-term experience that can be provided as guaranteeduptime by a provider or his SLA, or retrieved from userexperiences. Also, service popularity can be gained fromuser experiences.

In parallel to the process of building the image selectionevaluation method, the evaluation method building processof (MC2)2 must be followed (see Figure 2). With all parame-ters set (images as alternatives, a goal and criteria hierarchy,requirements and criteria weights) the (MC2)2 process canbe completed and a new Cloud service evaluation methodbased on AHP is created. The Cloud service evaluationscan be retrieved from applying the new evaluation methodg(sj , Asj , Bsj ). The highest ranked Cloud infrastructure al-ternative is max{vs1 , ..., vsn}.

3.6 Best CombinationIn the final step, after both, images and services, have

been evaluated and became comparable, combined solutionsare build. Every VM image ai can be combined with a ser-vice sj to create a possible solution pair (ai, sj). The newlycreated solutions are not all actually feasible combinationsand, hence, infeasible image-service compositions need to befiltered out. The CloudGenius model holds the set D of alldependencies between images and services that indicate thecompatibility of image ai with service sj . Only solution pairsthat have a corresponding dependency defined in the set Dare interpreted as feasible and have a value vai,sj > 0. Equa-tion 3 formulates the function b that maps solution pairs toa value using an operator •.

vai,sj = b : (ai, sj) 7→ f(ai, Aai , Bai) • g(sj , Asj , Bsj )

∀i, j : (ai, sj) ∈ D(3)

CloudGenius proposes • to be the operator + and, hence,allows for compensation between the value of a VM imageand a service within total value of a combination. For in-stance, a low quality service and high quality image mightbe a less good combination than a combination of mediumquality image and medium quality service. Furthermore,user defined weights wa and ws that sum up to 1 deter-mine the influence of f and g on the total value. Equation4 formulates the resulting evaluation function suggested byCloudGenius. For more complex combination value compu-tations a function h(f(·), g(·)) may return the overall valueinstead of an operator • only. A wider choice of operatorsor functions is subject to future enhancements and imple-mentations, e.g., ∗ or × operator helps finding VM imageinfrastructure service combinations with most balanced val-ues.

b(ai, sj) =

{wa ∗ f(·) + ws ∗ g(·) (ai, sj) ∈ D0 else

7→ vai,sj

(4)

The best overall solution pair to choose has the value:

max b(ai, sj) = max{va1,s1 , ..., va1,s1}

The ranking of only the VM image or the service of a solu-tion within the list of evaluated images or services is an in-teresting indicator reflecting the compensation effect. Withthe selection of a combined solution the process continues.The image can be deployed on the service and further cus-tomized. The process ends with the execution of a migrationstrategy that results in a Web application available on Cloudinfrastructure services.

3.7 Integrated Evaluation ApproachAlternatively, a best combination can be determined in a

single (MC2)2 process using the goal hierarchy and accord-ing weights from user input depicted in Figure 6. In thisvariant the compensatory relation between VM image andservice is less transparent and can no longer be influenceddirectly, but is by weighting the goal hierarchy. Hence, wesuggest not to use the integrated approach and leave it toan implementation to provide more evaluation options to auser.

Figure 6: CloudGenius Integrated Goal Hierarchy

WWW 2012 – Session: Web Engineering 2 April 16–20, 2012, Lyon, France

985

Page 8: CloudGenius: decision support for web server cloud migrational. [15] present an approach to measure a provider’s perfor-mance capabilities. The work introduces a set of interesting

3.8 Complexity of CloudGenius ApproachThe whole problem addressed by CloudGenius seems rather

complex and involves a number of calculations. Hence, ana-lyzing the actual computational complexity of the approachbecomes of interest to ensure its applicability. To our bestknowledge we define O of CloudGenius as following:

O(m ∗ |Ba|+ n ∗ |Bs|︸ ︷︷ ︸requirements check

+m ∗ |Aa|+ n ∗ |As|︸ ︷︷ ︸evaluation

+

m ∗ n ∗ |D|︸ ︷︷ ︸feasibility check

+ m ∗ n︸ ︷︷ ︸combined value

)

The computational complexity is proportional to the thenumber of VM images m, services n. Computations for mimages and n services comprise requirements checks in Baand Bs, evaluations regarding criteria Aa and As, feasibil-ity check with set D, and combining and evaluating image-service pairs. Evaluations implicate additional computationsteps for AHP comprising normalization of matrices andderivation of global weights which are not included for sim-plicity. Based on the given O we expect CloudGenius’ timecomplexity to be quadratic in proportion to m and n.

4. EXAMPLE APPLICATIONThe following example shows CloudGenius’ support for se-

lection and its process loop assuming a rich implementationand database.

An e-business relies on own IT infrastructures and suf-fers from high costs maintaining old systems. Thus, thee-business decides to use a Cloud infrastructure for its Webshop and applies the CloudGenius framework for migration.A Web engineer of the e-business has developed a scalableWeb application providing a PHP environment that keepsdata in the local, privately owned data center. Data mi-gration, hence, is out of focus. Now, she defines require-ments, and selects and weights goals and criteria. Her onlyrequirement demands PHP to be supported as implemen-tation language. Next, she wants all proposed criteria tobe considered and weights all hierarchies with an emphasison latency and costs. With the given input the rich Cloud-Genius implementation starts the selection algorithm andsuggests a combination of a Windows-based VM image witha XAMPP1 stack pre-installed and an infrastructure servicefrom Amazon. However, after deploying the VM image, anddeploying and customizing the Web shop application on thesoftware stack several problems occur that can be tracedback to Windows-incompatibilities of the Web application.Now, a new CloudGenius cycle begins and the Web engineerintends to pick a lower ranked non-Windows-based solution.Since the list is showing to many options she decides to stepback to the requirements definition and adds a requirementwhich defines the Operating System to be ”Linux”. In thesubsequent steps the CloudGenius implementation refiltersall alternative VM images and offers an updated best com-bination list from which the top best alternative is chosen.From here the customization and installation of the Webapplication works properly. Finally, a migration strategy isplanned that replaces the old, local Web application ver-sion. Fortunately, due to the absence of a data migration

1An Apache httpd, Perl, PHP, and MySQL software stack.See http://www.apachefriends.org/en/xampp.html, visited2011-10-19.

the migration strategy only comprises adding the new Webapplication’s URL to an existing load balancer and removeold URLs over time.

5. CUMULUSGENIUS PROTOTYPEThe complexity of the selection problem leads to the need

of a software implementation that is fundamental to makeCloudGenius applicable with acceptable effort. Therefore,we promote the CumulusGenius software tool [5] that fullyimplements the model of VM images, services and providers,as well as requirements and criteria. For computing evalua-tions the Aotearoa software tool’s API [17][1] is used. Auto-mated test deployments of images to infrastructure servicemappings are triggered with the jCloud library [9]. The cur-rent version of the CumulusGenius software tool implemen-tation supports Web servers migration to Amazon Web Ser-vices (AWS) including all criteria presented earlier. The toolcan be used programmatically as a java library and allows auser to create a data model with his requirements, criteria,and weights as well as attribute values of AMIs and services.The library expects the user to leverage enumeration classesthat restrict definitions to supported requirements and cri-teria. The set of AMIs must be defined programmatically.

6. EXPERIMENTSThe theoretical computational complexity has already been

determined earlier and has shown how multiple parametersof the formal model influence the complexity. The followingexperiment measure the actual time complexity of Cumu-lusGenius and make a comparison to the expected O.

The experiments were run in a 64Bit Java Virtual Machineversion 1.6 on a MacBook Pro 5,5 with an Intel Core 2 Duo2,5 Ghz CPU and 4GB of RAM. The experiment setup didnot consider any requirements and skipped any filtering ofinfeasible combinations from a set D what increases the to-tal number of evaluations but eliminates filtering efforts. Inevery experiment the number of VM images and infrastruc-ture service has be increased by 100 starting from 100 upto 1000 objects. Images and services were generated andrandom, plausible attribute values within value ranges wereassigned. Figures 7 and 8 depict the average time complexi-ties for generating the model and evaluating m images resp.n services repeated in 20 runs. The experiments have shownthat service evaluation is more complex than image evalua-tion originating from the higher number of criteria in serviceevaluations.

Figure 7: Time Effort for AMI Selection

Figure 9 depicts the measured average time complexityof generating service-image combinations and the respectivevalue from 20 runs for 100 to 1000 images and services. For

WWW 2012 – Session: Web Engineering 2 April 16–20, 2012, Lyon, France

986

Page 9: CloudGenius: decision support for web server cloud migrational. [15] present an approach to measure a provider’s perfor-mance capabilities. The work introduces a set of interesting

Figure 8: Time Effort for Service Selection

combined values, both, images and services, have similarinfluence, but the computation effort grows non-linear.

0100

200300

400500

600700

800900

1000

0100

200300

400500

600700

800900

10000

1000

2000

3000

# of AMIs

Time for Combining (in ms)

# of Cloud Services

ms

Figure 9: Time Effort for Combinations

The aggregated, total time complexity of a best combi-nation computation depicted in Figure 10 reflects the non-linear behavior and the strong influence of a growing servicenumber. In 20 runs 100 to 1000 images and services havebeen evaluated separately, grouped into combined solutionsand an overall value.

0100

200300

400500

600700

800900

1000

0100

200300

400500

600700

800900

10000

10000

20000

30000

40000

50000

# of AMIs

Total Computation Time (in ms)

# of Cloud Services

ms

Figure 10: Total Time Effort

The results confirm a quadratic time complexity and showthat for a growing number of parameters, i.e., criteria, im-ages, services, a search for a best solution is exhaustive.For large sets of parameters heuristics are an alternative

approach. A first notion is a genetic algorithm employingfunction b (see Formula 4) as fitness function.

7. DISCUSSION & FUTURE WORKCloudGenius focuses on a migration process for single-tier

Web applications and is limited in its applicability for otherIT systems. Characteristics in means of criteria and processsteps among others are inherent to an approach for Webserver migration. A multi-tier decision support would haveto consider relations between components and a persistencetier, all having distinct characteristics. Since the effort toevaluate qualitative criteria in pair-wise comparisons for allVM images and infrastructure services would be immense,besides non-numerical criteria the set of criteria is restrictedto quantitative numerical criteria. Moreover, CloudGeniusassumes a Web engineer expects a full featured VM imageinstead of a basic image with customization effort, such asa basic Linux OS image.

However, the presented generic framework leaves space fora range of enhancements and deeper evaluations, and, yet,provides an applicable approach. To our knowledge no ex-isting approach has addressed the problem of selecting a VMimage and infrastructure service in a migration process. Ma-jor issues are criteria catalogs, the quality and currentness ofmeasured values, and a user-friendly implementation with acomprehensive database. To gain a comprehensive databaseexisting databases such as thecloudmarket.com [18] can beintegrated as well as existing benchmarking services (e.g.,CloudHarmony [4]) that together with automated bench-marking [7] mitigate staleness of data. Also, an integra-tion of other tools, e.g., for different cost calculations, wouldadd value to the CumulusGenius prototype. Moreover, thecurrent complexity of requirement checks is very basic andmight be extended with other approaches such as featuremodels [19]. Regarding support for different VM imagepreparation levels future work can comprise a prediction ofexpected customization effort to compare full feature im-ages with low featured images. CloudGenius’ limitation toquantitative criteria might be overcome with group ratingsor evaluations of qualitative criteria on a rating portal in fu-ture prototype versions. Future work also includes extendingthe support to more application types and to multiple, inter-related components. Besides, support for a persistence layerand system trade-offs such as the CAP theorem or secu-rity vs. latency as well as a wider process loop that beginswith an initial Cloud decision are currently studied. Fur-thermore, the process itself might be enhanced with qualityguarantees, e.g., guaranteed idempotency.

8. CONCLUSIONDecision problems occuring during the migration of Web

applications to the Cloud are non-trivial. A decision supportcan decrease effort and remove hurdles. In this paper, we in-troduced the generic CloudGenius framework that providesa migration process and decision support. With CloudGe-nius Web engineers are able to migrate Web applicationsto the Cloud along a cyclic process that suggests Cloud VMimages and Cloud infrastructure services according to an en-gineers’ requirements and goals. We further described lim-itations of the framework and gave an example to providepractical insights and show its applicability. In experimentsa prototypic implementation of the framework has been val-

WWW 2012 – Session: Web Engineering 2 April 16–20, 2012, Lyon, France

987

Page 10: CloudGenius: decision support for web server cloud migrational. [15] present an approach to measure a provider’s perfor-mance capabilities. The work introduces a set of interesting

idated and the time complexity of the underlying algorithmwas analyzed.

9. ACKNOWLEDGMENTSInitial research work on Cloud VM image and infrastruc-

ture service data models was done when Dr. Rajiv Ranjanwas employed at University of New South Wales on strategiceResearch grant scheme.

10. REFERENCES[1] Aotearoa Prototype.

http://code.google.com/p/aotearoadecisions/,accessed 2011-10-19.

[2] M. Armbrust, A. Fox, R. Griffith, A. Joseph, R. Katz,A. Konwinski, G. Lee, D. Patterson, A. Rabkin,I. Stoica, et al. Above the clouds: A berkeley view ofcloud computing. EECS Department, University ofCalifornia, Berkeley, Tech. Rep. UCB/EECS-2009-28,2009.

[3] H. Chan and T. Chieu. Ranking and mapping ofapplications to cloud computing services by SVD. InNetwork Operations and Management SymposiumWorkshops (NOMS Wksps), 2010 IEEE/IFIP, pages362–369. IEEE, 2010.

[4] CloudHarmony. http://cloudharmony.com, accessed2011-10-19.

[5] CumulusGenius Prototype.http://code.google.com/p/cumulusgenius/,accessed 2011-11-06.

[6] A. Dastjerdi, S. Tabatabaei, and R. Buyya. Aneffective architecture for automated appliancemanagement system applying ontology-based clouddiscovery. In Proceedings of the 2010 10th IEEE/ACMInternational Conference on Cluster, Cloud and GridComputing, pages 104–112. IEEE Computer Society,2010.

[7] S. Haak and M. Menzel. Autonomic benchmarking forcloud infrastructures: an economic optimizationmodel. In Proceedings of the 1st ACM/IEEE workshopon Autonomic computing in economics, pages 27–32.ACM, 2011.

[8] M. Hajjat, X. Sun, Y. Sung, D. Maltz, S. Rao,K. Sripanidkulchai, and M. Tawarmalani. Cloudwardbound: Planning for beneficial Migration of EnterpriseApplications to the Cloud. ACM SIGCOMMComputer Communication Review, 40(4):243–254,2010.

[9] jClouds Multi-Cloud Library.http://code.google.com/p/jclouds/, visited2011-10-19.

[10] S. Kalepu, S. Krishnaswamy, and S. Loke. Verity: aqos metric for selecting web services and providers. InWeb Information Systems Engineering Workshops,2003. Proceedings. Fourth International Conferenceon, pages 131–139. IEEE, 2003.

[11] A. Khajeh-Hosseini, D. Greenwood, J. Smith, andI. Sommerville. The Cloud Adoption Toolkit:Supporting Cloud Adoption Decisions in theEnterprise. Software: Practice and Experience, 2010.

[12] A. Khajeh-Hosseini, I. Sommerville, J. Bogaerts, andP. Teregowda. Decision support tools for cloud

migration in the enterprise. Arxiv preprintarXiv:1105.0149, 2011.

[13] M. Klems, J. Nimis, and S. Tai. Do clouds compute? aframework for estimating the value of cloudcomputing. Designing E-Business Systems. Markets,Services, and Networks, pages 110–123, 2009.

[14] A. Lenk, M. Menzel, J. Lipsky, S. Tai, andP. Offermann. What are you paying for? performancebenchmarking for infrastructure-as-a-service offerings.In Cloud Computing (CLOUD), 2011 IEEEInternational Conference on, pages 484–491. IEEE,2011.

[15] A. Li, X. Yang, S. Kandula, and M. Zhang. Cloudcmp:comparing public cloud providers. In Proceedings ofthe 10th annual conference on Internet measurement,pages 1–14. ACM, 2010.

[16] M. Menzel, M. Schonherr, J. Nimis, and S. Tai.(MC2)2: A Generic Decision-Making Framework andits Application to Cloud Computing. In Proceedings ofthe International Conference on Cloud Computing andVirtualization (CCV 2010), Singapore, Mai 2010.GSTF.

[17] M. Menzel, M. Schonherr, and S. Tai. (MC2)2:Criteria, Requirements and a Software Prototype forCloud Infrastructure Decisions. Software: Practice andExperience, 2011.

[18] The Cloud Market. http://cloudmarket.com,accessed 2011-10-19.

[19] E. Wittern and C. Zirpins. On the use of featuremodels for service design: the case of valuerepresentation. In Towards a Service-Based Internet.ServiceWave 2010 Workshops, pages 110–118.Springer, 2011.

[20] Z. Ye, X. Zhou, and A. Bouguettaya. Geneticalgorithm based qos-aware service compositions incloud computing. In Database Systems for AdvancedApplications, pages 321–334. Springer, 2011.

WWW 2012 – Session: Web Engineering 2 April 16–20, 2012, Lyon, France

988