JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 1 A Classification and Comparison Framework for Service Brokerage Architectures

Frank Fowley, Claus Pahl, Pooyan Jamshidi, Daren Fang, Xiaodong Liu

Abstract—Cloud service brokerage and related management and marketplace concepts have been identified as key concerns for future cloud technology development and research. Cloud service management is an important building block of cloud architectures that can be extended to act as a broker service layer between consumers and providers, and even to form marketplace services. We present a 3-pronged classification and comparison framework for broker platforms and applications. A range of specific broker development concerns like architecture, programming and quality are investigated. Based on this framework, selected management, brokerage and marketplace solutions will be compared, not only to demonstrate the utility of the framework, but also to identify challenges and wider research objectives based on an identification of cloud broker architecture concerns and technical requirements for service brokerage solutions. We also discuss emerging cloud architecture concerns such as commoditisation and federation of integrated, vertical cloud stacks.

Index Terms—Cloud Broker; Service Brokerage; Architecture Patterns; Cloud Broker Classification; Service Management. F

1INTRODUCTION perspective. Marketplaces, like app stores, are broker Several organisations active in the cloud technology applications that assemble and provide end-user ser- area, such as Gartner, Forrester and NIST [17], [14], vices. These broker applications often run on cloud [27], have identified cloud service brokerage as an platforms with specific broker-oriented capabilities. important business model, but also as an architectural This classification framework is based on a broader challenge that needs to explore how to best construct classification in terms of capability and feature cat- broker applications on top of suitable platforms. A egories, architectural patterns and a more refined, cloud service broker manages the use, performance descriptive scheme specifically looking at architec- and delivery of cloud services and negotiates rela- ture, language and quality as technical aspects. The tionships between cloud providers and cloud con- emphasis here is on a systematic determination of sumers [14]. Cloud service management, an important classification categories based on different cloud and building block of cloud architectures, can be extended software bodies of knowledge. We compare selected to act as a brokerage layer between consumers and cloud service management and brokerage solutions providers, and to even form marketplaces. Archi- to illustrate and evaluate the framework, and also to tecture, development and quality concerns are key derive trends and challenges from this comparison. enablers of any service brokerage solution that inter- The selection of subjects is again systematic, aiming mediates between different providers by integrating, to identify technically advanced solutions that cover aggregating and customising their individual services. the cloud service broker space comprehensively to Our main contribution is a classification framework ensure that the adequacy and the completeness of for cloud service management, brokerage and market- the framework is properly evaluated. Based on an place solutions that use some form of intermediation identification of cloud broker architecture patterns for mechanism that goes beyond Gartner, Forrester and service brokerage solutions, we discuss challenges. NIST and aims to resolve different existing interpre- Such a dedicated framework does not exist for tations. In addition to providing a comprehensive cloud brokers and goes beyond existing service tax- definition, our framework allows us to classify and onomies such as [19]. Grozev and Buyya [18] go compare broker solutions. We look at architectural beyond this and introduce a taxonomy and compare concerns, i.e., software-based intermediation solutions solutions. However, their effort is focussed on a tax- that support brokerage as a business model. We onomy for inter-cloud architectures. Their comparison distinguish between an application and a platform scheme uses 5 basic aspects (type/organisation, archi- tecture, brokering approach, application type, aware- F. Fowley, . Pahl and P. Jamshidi are with the Irish Centre for Cloud ness). The definitions provided by Gartner, Forrester • Computing and Commerce IC4, Dublin City University, Dublin 9, and NIST [17], [14], [27] are also high-level and not Ireland. suitable for a detailed classification and comparison. E-mail: [email protected] (contact author) D. Fang and X. Liu are with the School of Computing, Edinburgh In [15], the need for a multi-dimensional classification • Napier University, Edinburgh, UK. is recognised and a basic multi-facetted framework is proposed. However, it does not clearly distinguish JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 2 between application and platform dimensions, lacks – Application: marketplace, cloud provisioning a detailed vocabulary at concept instance level, nor – Functions: discovery, billing, marketplaces does it provide a systematic identification, extraction, Customisation is about altering or adding capa- • modelling and evaluation of the framework. bilities in order to improve the service function- The paper is organised as follows. Cloud service ality and provide enhanced service analytics. management and brokerage is introduced and anal- – Agent: independent software vendor (ISV) ysed in Section 2. Section 3 defines the comparison – Application: analytics, monitoring, interface framework. In Section 4, we apply the comparison – Functions: wrapper, adaptivity framework to selected solutions and evaluate its fit- Integration involves making independent ser- ness for purpose. This investigation leads to a broader • vices work together as a combined offering. This research challenges discussion, before ending with could be the interworking between layers of conclusions in Section 5. the vertical cloud stack, or could involve the data/process integration within a single layer. 2CLOUD SERVICE BROKERAGE -LITERA- Techniques such as transformation, mediation TURE REVIEW AND ANALYSIS and orchestration are the classic solutions. We start with a review of existing cloud service – Agent: systems integrator (SI) brokerage definitions to obtain a consolidated list – Application: integrated PaaS of broker types (Section 2.1) and a list of their – Functions: orchestration, mashup, mediation typical capabilities (Section 2.2). We revisit the bro- NIST uses aggregation, arbitrage and intermediation ker types to define the scope of emerging archi- as the three core broker types [27]. NIST and Gartner tectural patterns for cloud service brokers (Section agree on the importance of aggregation. Some further 2.3). Then, we investigate the cloud stack deploy- commonalities exist. NIST intermediation and Gartner ment models – namely, infrastructure (IaaS) and plat- customisation focus on enhancing existing services. form/applications (PaaS/SaaS) - to determine layer- NIST arbitration and Gartner integration both con- specific concerns (Section 2.4). Finally, we discuss the sider the flexible mediation and integration of differ- perspectives of different user types (Section 2.5). We ent systems. Otherwise, the views diverge. NIST in- adopt the NIST definitions [27] refering to capabilities cludes arbitrage (which supports dynamic pricing in a provided covering processing, storage, networking cloud service marketplace), whereas Gartner does not. resources (IaaS), deployment of applications created NIST intermediation differs from Gartner integration. using programming languages, libraries and tools Intermediation between consumers and providers, in (PaaS) and using a providers applications (SaaS). the NIST understanding, includes a range of capabil- ities (SLA management, invoicing/billing consolida- tion) as opposed to a merely technical integration. 2.1 Brokerage - Definitions and Analysis Gartner’s classification is building on traditional • We begin by focusing on a brokerage-as-a-service IT roles, which can be seen as a limitation. The delivery model based on intermediation as a tech- role of the aggregation broker matches the tradi- nical principle. Advanced multi-cloud management tional distributor role, the integration broker role platforms, as well as brokers as marketplaces, can be aligns with a systems integrator and, finally, the considered as specific models in the wider broker- customization broker corresponds to an indepen- age space. Forrester, Gartner and NIST define Cloud dent software vendor role – note that we have Service Brokerage (CSB) in different ways [14], [17], singled out the agent in the Gartner summary. [27]. Gartner and NIST both follow a three-pronged NIST’s terminology is not undisputed either. A • classification. They define a cloud broker as an entity service intermediary should be a party with no that manages the use, performance and delivery of commercial aims, i.e., no consumer cloud policies cloud services and negotiates between providers and should be affected by the commercial bias of an consumers, i.e., intermediates between both [14]. intermediary. An intermediary can play the role In this initial overview of key concepts, we start of a broker (receiving a commission is included in with Gartner [17]. For each broker type, we name the activity), but might choose not to. Note that the typical broker role (agent), the application types NIST defines five actors (including brokers) in its (application) and the typical functionality of brokered Reference Architecture, which (or mediated) services (functions). we will simplify later (see Section 2.4). Aggregation is about delivering two or more • Forrester starts with the assumption that the cloud services to possibly many consumers, not neces- broker model offers IT and telecom service providers sarily providing new functionality, integration or and other vendors the opportunity to overcome the customisation, but typically offering centralised rapid commoditisation of their existing services busi- management of SLAs and security. ness and build a sustainable service delivery model. A – Agent: distributor simple broker model compares similar cloud provider JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 3 options and dynamically provisions selected services by Forrester (such as hosting or management) can based on the actual spot prices of these resources. be mapped to integration and intermediation. We A full broker goes beyond this to include cloud defined these capabilities and associated capability bursting, i.e., the dynamic relocation of workloads types. Composition as a type combines application from private environments to cloud providers and services or application and platform services. Manage- vice versa. Forrester’s model is based on three core ment refers to platform-provided management capa- cloud models [39]: tool vendor (software focus), in- bilities. Adaptation refers to a specialisation of a service frastructure provider (infrastructure focus) and cloud to meet a specific user profile. Distribution is involved builder (consultancy focus). A cloud broker is defined if services originate from different cloud providers. as the combination of three capabilities arising from To further describe the features of a broker for a three core models: multi-cloud or a federated cloud setting beyond the SaaS Provider - combines software and infrastruc- capabilities definition, we need to provide a more • ture focus with hosting and management. exhaustive list of lower-level features that are used to Value-Added Reseller - combines software and create SLA and service management, self-service user • consultancy focus with management and also access and authorisation functions. The following are customisation and integration capabilities. extracted from the list given in [39], supplemented by Integrator - combines infrastructure and consul- other sources such as the features offered by commer- • tancy focus with integration and hosting. cial broker platforms. They are associated with a set We use these definitions to extract five core broker of feature categories – which are the relevant broker types and a vocabulary of capabilities and features. capabilities they apply to, as well as the management view from the capability types, see Table 2. 2.2 Broker Mediation Construction - Capabilities and Features The broker architecture needs to be divided into two 2.3 Management, Broker Platform and Market- layers – broker platform and broker application: place - Scope and Patterns The platform is the implementation platform on • which a broker application is implemented. This Cloud brokerage applications are built up on exist- platform can be provided ’as-a-service’. The plat- ing virtualisation techniques, cloud platforms, and form provides a range of services to construct the IaaS/PaaS/SaaS offerings. Emerging from the earlier application through intermediation techniques. discussion, we can single out three architecture pat- The application provides a concrete broker – terns that cover the wider brokerage platform and • possibly targeting a specific vertical sector or a application space, and that frame the broker capabil- specific service type (e.g., for a cloud delivery ities. These can help to put broker applications into model). The broker application is constructed us- context in terms of their key application direction. ing the platform services, providing features such Here, the description of the architecture patterns does as SLA management, a service catalogue, ser- not describe some concrete structural or behavioural vice provisioning, including self-service access, as architecture, but rather the features and objectives well as user authentication and authorisation. of each cloud service architecture type, see Table 3. These patterns are characterised by technical features. Several tools specifically target this architecture. We However, they should not be considered as broker will review open-source platforms later. The com- layers. For example, the Cloud Management pattern mercial space also provides advanced solutions that may include a billing integration feature, whereas the validate the relevance of this architectural setting1. Broker Platform pattern may not. From the discussion in Section 2.1 based on the different definitions from NIST and Gartner and from Management brokers could also be called internal an analysis of features that commercial broker plat- brokers as their main purpose is often managing forms provide, we extract five rather than the usual an internal service catalogue. On the other hand, three core broker capabilities following [11], see Table 1. classical brokers typically mediate between customers We started with capabilities and features from Section and externally provided services. This perspective is 2.1 that we then validated using the descriptions of complementary to the broker platform capabilities, the commercial tools. These reflect how the different which focuses on the broker construction only, but mediated services are constructed, which is part of not the objective embedded in the architecture. The the platform perspective. The capabilities referred to discussion below will show that a fine-grained charac- terisation of the types of cloud brokerage applications, 1. Examples, in no particular order, are Jam- even beyond these three, is necessary to identify cracker (www.jamcracker.com/solutions), Vordel and distinguish specific challenges. We look at open- (www.axway.com/vordel-products), Gravitant (www.gravitant.com), AppDirect (www.appdirect.com) or source solutions (or solutions provided by publicly ComputeNext (www.computenext.com). funded projects) as these are well-documented. JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 4

TABLE 1 Broker Capabilities.

Broker Capability Capability Type Definition Aggregration Composition & delivering combined and centrally managed services to many consumers, not (internal) Management necessarily providing new functionality, integration or customisation. Customisation Adaptation altering or adding capabilities to change or improve, enhance and analyse the service function. Intermediation Composition & intermediation between cloud consumers and providers including advanced (external) Management capabilities (SLA management, invoicing/billing consolidation). Integration Distribution & building independent services and data into a combined offering – often as an Composition integration of a vertical cloud stack or data/process integration within a layer through transformation, mediation and orchestration. Arbitrage Distribution flexible composition of service chosen possibly from multiple providers selected statically or dynamically based on technical as well as cost aspects.

TABLE 2 Broker Features.

Feature Category Features1 Aggregation service orchestration, service catalogue management, provider contracting, resource selection, identity Integration management, user authentication and authorisation, security management, interoperability Customisation Intermediation SLA compliance, self-service enablement, metering, dashboards, monitoring, helpdesk support, business Management transaction monitoring, billing/invocing consolidation, dynamic pricing Arbitrage Dynamic service operations, dynamic routing, capacity management, dynamic orchestration, performance Integration management, life migration, cloud bursting, replication Workload workload classification, capacity planning, price prediction, metering, billing and chargeback, perfor- Management mance management, configuration management, Note 1: Extracted from the categorised feature list, Fig. 4, p.9 presented in [39], augmented and validated by feature descriptions used in the selected commercial products listed in Footnote 1.

TABLE 3 Broker Scope and Patterns.

Pattern Scope Definition Architecture Cloud Broker Supports the broker activity types discussed earlier – Broker Platform: The origin of this is the Platform such as aggregation, customisation, integration etc. – common intermediary/broker pattern from which needs a specific language to describe services in a software design patterns, applied to a cloud uniform way and to define the integration mechanism. setting. Cloud Service Supports the design, deployment, provisioning and Broker Application: A management layer Management monitoring of cloud resources, e.g. through management is often identified in cloud architecture that portals. This is an extension of the core lifecycle facilitates efficient and scalable provisioning management (LCM), adding monitoring features or in a number of the platforms reviewed below. graphical forms of interaction. Rudimentary features for Required capabilities include intermediation and the integration of compatible services can be provided. aggregation. Cloud Builds up on intermediary/broker platform to provide a Broker Application: Marketplaces for apps Marketplace marketplace to bring providers and customers together. are omnipresent and this marketplace pattern Again, service description for core and integrated is a reflection of upcoming cloud-specific services plays a role for functionality and technical marketplaces, which will be discussed in more quality aspects. Consolidated pricing and invoicing detail in Section 5. Required capabilities include should here be included. customisation, arbitrage and often aggregation.

2.4 Layer-specific Requirements Analysis dynamic integration capabilities. With techniques such as replication, provisioned services can be We now investigate the possible impact of the dif- scaled. Images can be replicated and dynamically ferent cloud layers, IaaS and PaaS/SaaS, on cloud migrated to other, interoperable offerings and service broker requirements, based on generic, layer- platforms to create a virtual layered environment. agnostic concerns arising from the definitions above. Problems arise due to platform engines being Brokers often target service at a specific layer and, • proprietary or not replicating fully, unless stan- consequently, have to deal with various cloud layer- dards like OVF for VMs are used. Moreover, specific concerns [5]. We identify requirements and replicating an image with data needs bandwidth, refer to the earlier broker features such as replication, which requires optimised solutions. migration or orchestration here. Image and data management aims to 1) minimise Specific concerns for the IaaS layer can be described: • replication and manage deletion, 2) use segmen- A key requirement for the IaaS model is elasticity • tation for services, 3) differentiate between user- management – see workload management and JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 5

data and images/services to optimise resources at an infrastructure level [38]. Compliant PaaS sys- and 4) include intelligent data management such tems include Cloudify, a management tool for vertical as map-reduce techniques. Horizontal scaling of- cloud stack integration, and Compatible One, a broker ten requires the full dataset to be replicated. Ver- for horizontal integration [9], [11]. tical scaling can be based on data segmentation and distribution. 2.5 Brokerage - User Perspectives This indicates that automation is of critical importance to IaaS, as the cloud elasticity need is the driver Brokerage is a mediation process between different for these techniques. Elasticity requires an automated parties. It is important to consider different user per- management of integration tasks, specifically dynamic spectives, i.e., the consumer and service provider as integration and workload management, cf. Table 2. well as the broker itself. Both consumers, providers Specific concerns for the PaaS layer (SaaS is sub- and also prosumers (that consume and provide at the sumed here as we are considering PaaS-provisioned same time) have their own lifecycles. They differ in application services) apart from elasticity are: terms of their responsibility for different features and also the relevance of these in the context of their activ- Platforms need to support composition, orches- • ities. Gartner, for instance, has organised its brokerage tration and service mashups to aggregate and model along different provider and prosumer types. customise service offerings [13], [4], [6]. App Developers and Suppliers: The app devel- For most applications, base image duplication • • oper’s work should be supported by abstract- suffices. However,with many users per applica- ing the lower-level work through architecture tion, full replication with customer-specific data and programming features, only exposing the and code is generally required. Where base im- business-rule coding interface. This is seen by the ages (e.g., for .NET) are available, we only need to progression from API libraries and frameworks, replicate service instances, and not a full image. to devops and now PaaS platforms for multi- Further problems arise for composition as QoS is • language, multi-framework development and de- generally not compositional, e.g., the security of ployment, to collaborative app composition, and a composition is determined by its weakest link. to app lifecycle management. The developer does In contrast to IaaS, automated management of aggrega- not need to know about the elasticity of the tion, customisation and integration is more of a concern IaaS, for example. These will become prosumers for PaaS. Note that the financial aspects for arbitrage that construct the broker application on top of a apply to IaaS, PaaS and SaaS equally. Intermediation broker platform. and arbitrage refer to activities relevant for all layers. End Users: Consumers of the app/cloud service • A common concern for all layers is standardisation. just need the interface and use the broker ap- Standardisation in terms of OVF as an image format, or plication service. They are arguably the greatest OCCI as an interface for infrastructure-level resource beneficiaries of cloud brokerage. management, are solutions. Interoperability, which Platform Providers: The other main player influ- • is reflected in the first feature category in Table 2, enced by these technologies is the new player, the can be achieved through standardisation based on Broker Platform Provider. Their primary task is open and published standards, or on de-facto stan- the platform development addressing both end- dards from widely used open-source or proprietary user and developer needs. Although, it is often systems. However, standards often do not succeed. the case that the providers not only develop, but Some proposals in the Web services stack (WS-*) are also host and provision the broker platform. examples. Problems encountered are 1) diversion of The different user perspectives need to be considered specifications, 2) the slow process of standardisation when weighing and interpreting comparison results. and 3) competing standardisation bodies – the latter Developer features, for instance, are less relevant for is an obvious problem in the cloud domain, where end users, but critical for application developers. organisations from different areas of IT and com- puting are active (SNIA, DMTF, OMG, W3C, OGF etc). While some mature standards exist for the ser- 3ACLASSIFICATION AND COMPARISON vices domain in the context of Web Services (W3C, FRAMEWORK FOR CLOUD SERVICE BROKER OASIS etc), cloud services are not necessarily WS- ARCHITECTURES compliant. Some solutions exist. IaaS standards, such as OCCI and CIMI, cover service lifecycle manage- In this section, we introduce a dedicated 3-pronged ment; TOSCA addresses portability and CDMI data framework for broker classification and comparison, management. Open-source IaaS supporting these in- which we will introduce first (see Fig. 1). clude Openstack, which is a lifecycle management Broker application dimensions: categorisation in • product in line with the CIMI and OCCI aims, and the terms of cloud delivery model, broker construc- mOSAIC API that supports composition and mashups tion, broker scope JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 6

Generalisation Uses Architecture Architecture Core and Components Capabilities Interoperability Clouds Supported Language and Interoperability Core Programming Service Language Features Target Quality Programming Service Model Broker Application Service Layer Scope Service Layer Broker Engineering Capabilities Elasticity / Broker Platform Cloud Services Scalability Type Broker Platform Broker Generic Dimensions Broker Dimensions QoS / SLA Broker Features Monitoring

Fig. 1. Cloud Broker Architecture – Basic Ontology.

Generic platform dimensions: a categorisation pronged framework covering application and plat- • schema for a basic cloud platform classification form concerns as identified: broker application di- Broker platform dimensions: broker-specific cate- mensions, generic platform dimensions and broker • gories plus a detailed, descriptive classification platform dimensions. Specifically the platform dimen- This forms a basic formal ontology, i.e., a taxon- sion requires more description mechanisms, covered omy with defined concepts and instances, that allows in Tables 4 and 5 on generic and broker-specific the description of broker applications and platforms platform concerns. The categories emerge from the in terms of three dimensions, each defined through analysis. The origin of the concepts/vocabularies are concepts and either predefined instances or textual documents as notes to the Tables (e.g., 2, 4 and 5). descriptions. The ontology use a mix of categorical Core artefacts to provide overall conceptual and archi- and descriptive elements. The former also combines tectural views are an ontology capturing key concepts single and multiple-valued categories. Fig. 2 describes (Fig. 1) and a reference broker architecture (Fig. 2). the structure of a description from platform to appli- cation using a hierarchy of generic and broker-specific 3.1 Broker Application Dimension - Service Layer capabilities and features. The classification is a soft- and Scope ware architecture specification, involving architecture definition and quality assurance concerns – using the A cloud service broker application is a cloud-based features and capabilities of the platform. software system that builds on top of a broker plat- form (often cloud-based) and provides an application service to providers and end-users as consumers. Broker Service Target Application Scope Service Layer Based on our requirements analysis from Section 2, two application dimensions can be identified: Broker Capabilities service scope defined through patterns that iden- Broker Platform • Broker Dimensions Broker tify the extent of support: Management (oper- Features ations), Broker (mediation), Marketplace (open collaboration and competition) (Section 2.3). Architecture Language and and Quality target application services: referring to the cloud Interoperability Programming • delivery models IaaS, PaaS and SaaS (Section 2.4). Core The platform dimensions will be addressed now in Capabilities Broker Platform Sections 3.2 and 3.3. Generic Dimensions Core Features 3.2 Generic Platform Dimension - Categorisation- Type Layer based Taxonomy

Fig. 2. Cloud Broker Architecture – Structure. We categorise brokerage solutions by the deployment model, but also specific features or functions that Section 3 is the core contribution section with the each of them provides. We have defined a comparison classification framework. Section 4 describes its ap- framework to categorise cloud solutions along these plication both to illustrate its utilisation and to val- concerns in Table 4. We chose these concerns to, idate the quality of the framework. Section 2 plays firstly, broadly categorise the system in terms of • an equally important role. It analyses the literature its main function (the system type that indicates on brokerage and extracts key concerns (through Ta- its target layer and central function in that layer) bles 1, 2 and 3). This is then converted into a 3- and whether it is proprietary or open-source, JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 7

TABLE 4 Categorisation Taxonomy – Generic and Broker Platform Properties.

Category Concepts Source Platform - Generic: System Type Multi Cloud API Library, IaaS Fabric Controller, Open PaaS Solution, Open typical cloud product PaaS Provider description categories1 Cloud Stack Layer IaaS, PaaS, SaaS widely accepted cloud delivery models Distribution Open Source (for all solutions considered) typical software product Model2 description categories Core Capabilities Multi-IaaS Support, Multi Language / Multi Framework Support, Multi from categorisation of generic Stack Support cloud terms1 Core Features / Service Description Language, Native Data Store, Native Message Queue, from categorisation of generic Components2 Programming Model, Elasticity & Scalability, QoS/SLA Monitoring cloud terms1 Platform - Broker-specific: Broker Capabilities Aggregation, Customisation, Intermediation, Integration, Arbitrage – broad from capability discussion in support for broker and marketplace applications Section 2.2 (Table 1) Broker Features Service Management, Discovery/Composition, SLA and User Management, from feature discussion in Monitoring, Metering, etc. – direct support for broker application features Section 2.2 (Table 2) Note 1: categorisation terms (instances) extracted from these sources: [10], [12], [20], [27], [43]. Note 2: Other general cloud platform properties could have been considered. These include auxiliary information for the distribution model, e.g., license model, or properties that describe interoperability aspects, e.g., cloud tools or programming languages supported. We have left out features that are not strictly oriented towards broker construction or that would only add auxiliary descriptive information for core categories (such as languages support if support exists).

secondly, a range of standard properties and in- descriptive: addressing platform-based broker • • dividual components are singled out. Properties construction as a software systems development chosen here (Core Capabilities) refer to the neces- based on three facets of software engineering: sary capabilities for brokers to integrate offerings. architecture & interoperability, languages & pro- The two features categories organise a number of gramming, and quality. system components into common and more advanced The second format allows us to drill down and com- ones. For the brokerage types introduced earlier, we pare the support of broker platforms using a more distinguish support dimensions for service descrip- descriptive format. The aim is to judge the support tions and the associated manipulation functions: ver- given by the platform to facilitate broker capabilities tical support for the brokerage types customisation such as aggregation, intermediation or arbitration. and aggregation through e.g., discovery and selection This second, deeper and more descriptive classifica- features for services; horizontal support for the bro- tion schema is based on three facets derived from kerage types integration and aggregation through e.g., generic software engineering concerns – see Table 5. queuing, storage or elasticity management features (in federated environments) as applications. 4APPLICATION AND EVALUATION There are multiple dimensions for categorizing bro- ker systems. An ontological system allows a product We applied the categorisation and comparison frame- to be tagged with multiple attributes, values, and work to a number of cloud brokerage solutions. The relationships. The taxonomy is a simple ontology. The primary aim of this application was to evaluate the aim was to create the right structure of categories framework regarding two concerns: Adequacy (fit for purpose): can it identify and attributes for the systems, assigning multiple • categories, attributes, and attribute values. strengths/limitations (compared to self-procla- In Figs. 6, 7 and 8, we will categorise a number of mation) by detecting the presence or absence of solutions [16], [8], [9], [11], [22], [38], [29], [30], [31]. common features using a unified terminology? Completeness: are major features of tools not • covered by the framework? 3.3 Broker Platform Dimension - Categorisation and Descriptive Facet-based Description Compliance with specific definitions such as NIST is not an objective. Neither is the comparison itself The broker-specific platform characteristics shall be meant to be comprehensive in terms of the solutions described in two ways: covered, although we apply a rigorous approach to categorisation-oriented: addressing the main ob- • the selection of the solutions. jective of the service broker construction (service prosumption - how services/functions are com- bined and passed on): Integration, Aggregation, 4.1 Selection of Cloud Solutions Customization, Arbitration, Intermediation. This We selected only open-source solutions (to determine has been described in Section 2.2. the state-of-the-art) and research-oriented projects (to JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 8

TABLE 5 Descriptive Comparison – Broker Platform Properties.

Facet1 Sub-Facets Definition Source2 Architecture - Architecture The solution architecture is a key element in the definition of a broker. Of Software and Components practical relevance are the existing, typically lower-layer solutions that the Design Interoperability - Clouds Supported system supports. This is an interoperability concern. / Interoperability Languages - Service Service description and implementation plays a key role for interoperability Software and Language [33]. For selected solutions, we look at the following three aspects: Con- Programming - Programming service language – the core notation, including the coverage of concerns struction • Model vertically (PaaS/IaaS integration) and horizontally (full lifecycle manage- - Service ment) and how this is manipulated (format and API). Engineering programming model – using the language to program brokerage • solutions, linking to SOA principles and other development paradigms. service engineering – covering wider design and architecture concerns, • including monitoring and mashups.

Service - Elasticity / A wider range of non-functional software qualities (e.g., based on ISO9126) Software and Scalability would need to be considered here. These quality concerns also need to be Quality Architecture - QoS / SLA addressed by the service description notation. Scalability and elasticity are Quality Monitoring two specific cloud quality concerns generally used to differentiate capabilities of the cloud in comparison to on-premise architectures. Therefore, we mainly focus on these. Load balancers are typically used to control elasticity based on monitored key performance indicators (KPIs). Multi-tenancy, if available, can alleviate elasticity problems. Wider quality/KPI concerns are equally important. Based on specifications, these are looked after by configuration management tools to set up probes and monitoring tools to collect and analyse data. Note 1: The descriptive elements and their sub-facets should be based on the Vocabulary introduced in the Generic Capabilities and Generic Features in Tables 1 and 2. Note 2: Based on the IEEE Software Engineering Body of Knowledge SWEBOK [42] and the Joint ACM/IEEE Curriculum Guidelines for Graduate Degree Programs in Software Engineering [1]. detect maturing trends). Commercial solutions have 4.3). We use an explicit characterization framework been considered in the analysis to determine the of the reviewed items. This is the foundation for a framework in Section 2.2, but have been excluded here comparative analysis based on our analysis dimen- to reduce threats arising from more biased and in- sions. Cloud and open-source were search terms complete available information. Sample open-source included, but IaaS and PaaS were distinguished: solutions (OSS) can thus be categorised: Terms "cloud paas open-source" resulted in IaaS: OpenStack, for instance, is a basic IaaS cloud • • OpenShift, CloudFoundry, Cloudify, manager that transforms data-centres to become Stratos, Pivotal, Tsuru, Paasmaker, IaaS clouds [31]. CloudBees, Cocaine PaaS: OpenShift and CloudFoundry are open • – from which we selected the first three. PaaS platforms assisting the cloud app developer Terms "cloud iaas open-source" resulted in by commoditising the software stack [8], [30]. • Openstack, OpenNebula, jcloud, mOSAIC The Open IaaS/PaaS solutions can be differentiated from respective IaaS/PaaS brokers. In the following, – from which we selected the first three again. we will try to point out the salient differences between Searching for "cloud paas open-source service some cloud brokers that go beyond IaaS/PaaS man- broker management" aimed at covering dedicated agement solutions. For instance, Optimis and Com- brokerage solutions, but resulted only in patibleOne are IaaS-oriented, and only 4CaaSt targets CompatibleOne as a new, not yet covered solution. PaaS and to some extent also the SaaS domain. There To select relevant research projects, we matched is, however, SaaS broker activity in the commercial "cloud project service broker space – as reviewed in Section 2.2. management" Solutions were selected based on key-word searches against project summary information provided by the using the search engine following standard EU (full documentation available), which resulted in selection mechanisms used in systematic literature reviews (SLRs) [24], [21], applied to cloud solutions. A 4CaaSt⇤, Broker@Cloud, Cloud4SOA, SLR reduces bias and follows a sequence of method- Modaclouds, mOSAIC⇤, PaaSage, Ocean, ological steps. SLRs rely on well-defined and evalu- Optimis⇤, Reservoir⇤, ated review protocols to extract, analyse and docu- from which we selected those that were finished at ment results. We adopted a three-step review process the time of this research (September 2014) – marked that includes planning (based on Section 3), con- with an asterisk ⇤. We focussed on the EU context ducting (Section 4.1) and documenting (Section 4.2, as the reporting and documentation mechanism is JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 9 consistent for the selected projects. In [18], a more Components (called CloudLets). A number of com- global review of research projects is provided – which mon commercial cloud solutions are supported by has overlapping EU projects and similar results. Mosaic, including Amazon and Rackspace products. An observation is that the broker pattern receives Languages and Programming. Solutions are com- attention and that reusable solutions are in develop- pared in Table 10, e.g., Cloudify uses application ment, starting with the IaaS layer, but including PaaS recipes and resource node templates (Groovy scripts) and SaaS over time. The existence of marketplaces, as the programming model. A service recipe contains which are interesting for the diverse SaaS space, indi- LCM scripts, monitoring probes and IaaS resourcesre- cates the existence of broker solutions. A wide range quirements. Mosaic uses an ontology as the notation of commoditised broker platforms can be expected in and a component-based application programming the future to service the different broker types defined, model for portability of apps across compliant clouds. but also provide a fuller range of features. Patterns emerge as solutions to compose, connect and manage clouds in distributed contexts. Quality. Table 11 covers quality. Common compo- 4.2 Categorisation - Platform Dimension nents such as monitoring, load balancers and scalabil- In Tables 6 to 8, we categorise the solutions selected in ity engines are the key capabilities required here. Section 4.1 [8], [9], [22], [29], [38], [30], [31], [16], [11] according to the defined classification taxonomy. As 4.4 Evaluation of the Framework we review broker platforms, only the two platform di- We have categorised broker platforms based on the mensions are covered – although it needs to be noted platform taxonomy aspects. Specifically, looking at the that some like CompatibleOne or 4CaaSt have ap- perspective of the user types is now valuable. For plication features as well. Compatible One provides, instance, developers are supported in three categories: for instance, platform features like SLA management a) API library: jcloud, b) Devops: Cloudify and c) Full (SLAM) and intermediation and integration features PaaS: CloudFoundry, OpenShift. A trend goes from (PROCCI), and also application functions for service provider-oriented solutions to developer-oriented so- brokering (BROKER). Note that in Table 8, instead of a lutions to end user-oriented cloud management [3] detailed feature list, we only summarise this as ’Y’ if a 2 – 4Caast being an example of the latter. A deeper sufficient number of features is covered per category . discussion of trends and challenges emerging from this discussion shall follow in the next section. We 4.3 Descriptive Facet-based Comparison now turn to the evaluation of the framework itself in terms of adequacy and completeness. In the following, we review solutions with respect Adequacy. The framework is adequate by provid- to three facets defined in Table 5: architecture & ing a sufficiently complete framework. interoperability, languages & programming, and qual- Broker Definition. This was achieved by using • ity. We do not consider all selected solutions in the the three most cited brokerage definitions as the comparison, but only select the most advanced ones starting point. We define five types that subsume for each aspect as the objective here is framework each of the three literature sources. evaluation only. For this, a smaller number of feature- Capabilities and Features. We identified fine- • rich, advanced cases are sufficient. A comprehensive granular capabilities and features from the liter- state-of-the-art review is not aimed at here. A detailed ature. Additionally, we used common categorisa- presentation of the comparison results is presented in tions from the cloud computing community (e.g., Tables 9 to 11. Here, we single out key observations. delivery models) and software engineering (spec- Architecture and Interoperability. In Table 9, a ification and design) to add further dimensions. number of PaaS-level solutions are summarised in While only 10 solutions have been used here for terms of these two aspects. Common are the utili- validation, initially 13 open-source and 6 commercial sation of configuration management solutions, such products were considered and documented in [15]. as Chef or Git. The deployment is managed through Completeness. The completeness has been empir- consoles or APIs, mapping PaaS-level requests down ically validated through an application for a state- to IaaS operations. As many IaaS solutions are of- of-the-art comparison. For this, the cases have been ten supported, interoperability is a critical concern. systematically selected to reflect a broad range of CompatibleOne is OCCI-compatible in its support for advanced systems. An investigation of the concrete VM management, i.e., it provides dynamic architec- descriptions has not resulted in any relevant concepts ture management and interoperability. For instance, lacking in the framework. Some table parts (Tables 7 Mosaic assumes a Linux OS, which runs Mosaic App and 8) are sparsely populated, but still several tools per feature can be identified, which means that the 2. A figure of 35% of features covered was considered as suffi- cient. The figure was derived from the percentage of core features respective feature is present in state-of-the-art systems that are on average covered by the selected tools. and, thus, the respective feature category is valid. JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 10

TABLE 6 Broker Platform - Generic Category and Type.

LAYER and MAIN TYPES Name Type Cloud Layer Multi Cloud IaaS Fabric Open PaaS Open PaaS API Library Controller Solution Provider OpenNebula Cloud Fabric Controller IaaS Y OpenStack Cloud Fabric Controller IaaS Y jclouds API Library PaaS Y Cloudify Cloud Devops & LCM PaaS Y Y CloudFoundry PaaS PaaS Y Y OpenShift PaaS PaaS Y CompatibleOne IaaS Broker PaaS Y Mosaic PaaS PaaS Y Y 4Caast Service Broker PaaS Optimis IaaS Broker PaaS Y

TABLE 7 Broker Platform - Generic Capabilities and Features/Components.

CORE CAPABILITES CORE FEATURES Name Multi IaaS Multi Multi Service Native Native Program- Elasticity QoS / Support Language Stack De- Data Store Message ming Scalability SLA Mon- / Multi scription Queue Model itoring Frame- Language work OpenNebula OpenStack Y Y Y Y jclouds Y Cloudify Y Y Y Y Y Y Y CloudFoundry Y Y Y Y Y Y OpenShift Y Y Y Y Y CompatibleOne Y Y Y Y Y Mosaic Y Y Y Y Y Y 4Caast Y Y Y Y Optimis Y Y Y Y Y

TABLE 8 Broker Platform - Broker-specific Capabilities and Features.

BROKER CAPABILITES BROKER FEATURES Name Aggrega- Intermedi- Integra- Arbitrage Customi- Aggreg/ Intermed/ Dynamic Workload tion ation tion sation Integr/ Mgnt/ Integra- Manage- Custom Arbitrage tion ment OpenNebula OpenStack jclouds Cloudify Y Y Y CloudFoundry Y Y Y OpenShift CompatibleOne Y Y Y Y Y Y Y Mosaic Y Y Y 4Caast Y Y Y Y Y Y Optimis Y Y Y Y

As a result, the solution is adequately fit for pur- becomes achievable. Prosumers may create mashups pose. It allows a neutral classification along dimen- from existing services. sions originating from different fields. It is therefore From the above comparison between various cloud consistent with a common understanding of key con- solutions, we can note a difference between the needs cepts. It also serves as an analysis tool. From the of cloud brokerage and cloud marketplaces. We did results in Tables 9 to 11, e.g., the ongoing development already introduce them as different patterns above. of scripting languages emerges as the focus in the pro- Service management is already a common solution, gramming context, or work on scalability engines as often provided as a domain-independent platform. a quality concern, emerges as indicators of activities. A brokerage solution needs to automate the pro- • cess of matching service requirements with re- 4.5 Discussion and Challenges source capacity and capabilities [40]. The ideal The need for management support and interoperabil- would be a total commoditisation of IaaS so that ity becomes apparent in the context of cloud service any compute resource could be plugged into a brokerage, where independent actors in the ecosystem user’s compute capacity. Therefore, interoperabil- integrate, aggregate/compose and customise/adapt ity is of importance. There are areas of com- existing services [17], [27]. End-to-end personalisation patibility that should be considered in match- JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 11

ing that are not handled by brokers currently. functional requirements, For example, none of the solutions that were social network functions allowing service ratings • assessed considered data integrity as a matching by the communities, criterion; however, they all included performance SLA management to be integrated, e.g., in terms • in their criteria. Security is another aspect that of monitoring results. has a technical nature, but is also abstract insofar Commoditisation can be facilitated by an operational as it can be implemented by a cloud provider. development and deployment model to act as an Data integrity and security policy enforcement, enabler. This ties in with another observation. A if considered as criteria when evaluating cloud proliferation of cloud capacity clearing-houses, which interoperability, may need to be formalised us- operate similar to a spot market to allow clouds to ing a standardised language to describe common buy and sell spare cloud capacity on a very short-term aspects, similar to the languages that have been basis, has only started. It is less clear what is needed created to model other cloud entities. to facilitate this from a construction perspective. A marketplace needs to additionally focus on the • Federation is the second trend for brokerage solu- possibly distributed architecture of the applica- tions [7], i.e., to work across independently managed tions as well as the cloud. The appstore model and provided cloud solutions of an often hetero- appears to be the de-facto model of choice for the geneous nature. Some challenges and requirements marketplace, but this seems more an admission of arising from the architecture and interoperability dis- the success of the Apple initiative rather than re- cussion can be identified: search. There is a potential to explore other forms Reference architectures – cf. NIST cloud broker- • of the online marketplace suitable to cloud apps age reference architecture [27]. and their composition [26], [13]. This can also Scope of control – the management of configura- • be extended to an even more commodity-based tion and deployment based on integrated and/or scenario where all services could be registered on standards-based techniques [25]. a wide-area multi-marketplace scale. Federation and syndication – as two forms of • Table 7 shows that broker-specific core and advanced distributed cloud architectures [37]. features are not comprehensively supported in avail- able tools. 4Caast and Optimis cover these, but are as 5CONCLUSIONS research projects not available as products. A wider discussion, arising from the concrete comparisons We have introduced the main concepts of service above, shall now follow in terms of commoditisation brokerage for clouds, using some concrete systems and platforms to identify current trends and chal- The commoditisation of cloud services is an emerging lenges and compare current, primarily open-source need arising from the discussion – specifically from solutions. Brokerage relies on interoperability, quality- the language and programming facet. A trend is to of-service and other architectural principles. Brokers move from the lower IaaS layer to PaaS and onwards and marketplaces can play a central role for new to encompass SaaS, aiming to integrate lower layers adopters migrating to the cloud or between providers – 4CaaSt is an example. To make this work, services [21], [34]. Brokers will act as first points of call. at all layers need to be available for a uniform way Our classification and comparison framework iden- of processing in terms of selection, adaptation, inte- tifies three dimensions – two platform and one appli- gration and aggregation. Commoditisation is the con- cation oriented. Taxonomy-based categorisation helps cept to capture this need. Some concrete observations to characterise solutions in terms of type, common related to the reviewed open-source solutions are: components and features. The second mechanism is (i) fully functional image and vertical stack building a more descriptive, layered taxonomy starting with capabilities (CompatibleOne leadership), (ii) program- architecture and interoperability, languages and pro- ming and operational support of service composition gramming, and quality as facets. Our objectives have (4CaaSt leadership) and (iii) graphical manipulation been to clarify the conceptualisation of cloud service of service abstractions (Optimis leadership). Com- brokerage by taking more architectural concerns into moditisation can be supported through a uniform account, but also to provide a framework for industry representation based on description templates. The and academia to classify and compare solutions. programming model with its supporting program- An observation of our comparison based on the ming/scripting languages is crucial here. These need framework is the emergence of cloud broker solutions to cover the architecture stack and meet language and on top of cloud management. A further separation quality concerns discussed in Section 4. of marketplaces, often in the form of appstores, is Commoditisation is an enabler of functions on top necessary. A number of activities work in this direc- of a broker platform. Thus, additional challenges and tion. Compatible One is an example showing how requirements, for marketplaces in particular, are: OCCI is used as an infrastructure foundation and data integration and security enforcement as non- built upon to provider PaaS-level brokerage. 4CaaSt • JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 12 in a similar vein aims to integrate the layers and [9] Cloudify. Cloudify Open PaaS Stack. move toward a marketplace solution. Commercial http://www.cloudifysource.org/. 2015. [10] Cloud Standards. http://cloud-standards.org/. 2015. broker applications, that have already supported the [11] CompatibleOne. Open Source Cloud Broker. framework construction here in Section 2.2, show http://www.compatibleone.org/. 2015. already existing brokerage and marketplace solutions [12] ETSI Cloud Standards. http://www.etsi.org/news- events/news/734-2013-12-press-release-report-on-cloud- ranging from images to software services, essentially computing-standards. 2015. commoditising the respective cloud resources. [13] C. Fehling, R. Mietzner. Composite : Cloud Appli- Service description mechanisms discussed in [28], cation Structures, Provisioning, and Management. Information [36], [32] (as manifests, recipes and blueprints), but Technology 53:4, pp. 188-194. 2011. [14] Forrester Research. Cloud Bro- also in standards and languages like TOSCA and kers Will Reshape The Cloud. 2012. CloudML, can serve to abstract, manipulate and com- http://www.cordys.com/ufc/file2/cordyscms sites/download/ pose cloud service offerings in an effort to commodi- 09b57cd3eb6474f1fda 1cfd62ddf094d/pu/ [15] F. Fowley, C. Pahl, L. Zhang. A Comparison Framework and tise the cloud. These description mechanisms, based Review of Service Brokerage Solutions for Cloud Architectures. on an abstract model serve two purposes: Firstly, 1st International Workshop on Cloud Service Brokerage (CSB to abstractly capture, present and manipulate cloud 2013). Springer. 2013 [16] S. Garcia-Gomez et al. Challenges for the comprehensive resources. Secondly, to serve as a starting point to management of Cloud Services in a PaaS framework. Scalable link to configuration and other deployment concerns Computing: Practice and Experience 13(3). 2012. in federated clouds. Thus, commoditisation and fed- [17] Gartner - Cloud Services Brokerage. Gartner Research, 2013. http://www.gartner.com/it-glossary/cloud-services- eration emerge as challenges from our discussion. brokerage-csb Future work includes trust as an equally important [18] N. Grozev, R. Buyya. InterCloud architectures and application concern that is more difficult to facilitate technically brokering: taxonomy and survey. Software: Practice and Expe- rience. 2012. than commoditisation. A mechanism is needed for not [19] C.N. Hofer,¨ G. Karagiannis. Cloud computing services: taxon- only vetting individual providers, but also to allow omy and comparison. Journal of Services and Appli- this to happen in layered, federated and brokered cations, 2(2), 81-94. 2011. [20] IEEE Cloud Standards. http://cloudcomputing.ieee.org/standards. cloud solutions. Furthermore, end-users, intermedi- 2015. aries such as brokers and providers – the key roles we [21] P. Jamshidi, A. Ahmad, C. Pahl. Cloud Migration Research: A identified – have different lifecycles that need to be in- Systematic Review. IEEE Transactions Cloud Computing. 2013. [22] Jclouds. jclouds Java and Clojure Cloud API. tegrated. Forrester Research [14] has already provided http://www.jclouds.org/. 2015. basic ideas, but a deeper investigation into lifecycle [23] A. Juan Ferrer et al. OPTIMIS: A holistic approach to cloud and workflow integration would be necessary. service provisioning. Future Generation Computer Systems, 28(1):66-77. 2012. [24] B. Kitchenham and S. Charters. Guideline for Performing ACKNOWLEDGMENTS Systematic Literature Reviews in Software engineering. Keele University and University of Durham, 2007. This research has been supported by the Irish Centre for [25] A.V. Konstantinou, T. Eilam, M. Kalantar, A.A. Totok, W. Cloud Computing and Commerce and the Royal Irish Arnold, E. Sniblel. An Architecture for Virtual Solution Compo- sition and Deployment in Infrastructure Clouds. Intl Workshop Academy/Royal Society Intl Cost Share Grant IE131105. on Virtualization Technologies in Distr Computing. 2009. [26] R. Mietzner, F. Leymann, M. Papazoglou. Defining Composite Configurable SaaS Application Packages Using SCA, Variability REFERENCES Descriptors and Multi-tenancy Patterns. Intl Conf on Internet [1] ACM/IEEE. Area Definitions – Joint ACM/IEEE Curriculum and Web Applications and Services. 2008. Guidelines for Graduate Degree Programs in Software Engi- [27] NIST. Cloud Computing Reference Architecture. neering GSwE2009. http://www.gswe2009.org. 2009. http://dl.acm.org/citation.cfm?id=2385915. 2012. [2] R. Barrett, L. M. Patcas, C. Pahl, and J. Murphy. Model Driven [28] D.K. Nguyen, F. Lelli, Y. Taher, M. Parkin, M.P. Papazoglou, Distribution Pattern Design for Dynamic Web Service Compo- W.-J. van den Heuvel. Blueprint Template Support for Cloud- sitions. International Conference on Web Engineering ICWE’06. Based Service Engineering. Proceedings ServiceWave11, Poz- Pages 129-136. Palo Alto, US. ACM Press. 2006. nan, Poland, October 2011. [3] T. Benson, A. Akella, S. Sahu, A. Shaikh. Peeking into the [29] OpenNebula. OpenNebula - Open Source Virtu- Cloud: Toward User-Driven Cloud Management. CloudS 2010 alization. http://opennebula.org/. 2015. Conference, Sydney, Australia. 2010. [30] OpenShift. Cloud computing platform. [4] D. Benslimane, S. Dustdar, A. Sheth. Services Mashups: The https://openshift.redhat.com/. 2015. New Generation of Web Applications. Internet Computing, [31] OpenStack. OpenStack Open Source Cloud Computing Soft- vol.12, no.5, pp.13-15, 2008. ware. http://www.openstack.org/. 2015. [5] D. Bernstein, E. Ludvigson, K.Sankar, S. Diamond, M. Morrow [32] C. Pahl. Layered Ontological Modelling for Web Service- Blueprint for the Inter-cloud: Protocols and Formats for Cloud oriented Model-Driven Architecture. European Conf on Model- Computing Interoperability. Intl Conf Internet and Web Appl Driven Architecture ECMDA2005. 2005. and Services. 2009. [33] C. Pahl, S. Giesecke and W. Hasselbring. Ontology-based [6] R. Buyya. Compatibility-Aware Cloud Service Composition Modelling of Architectural Styles. Information and Software under Fuzzy Preferences of Users. IEEE Transactions on Cloud Technology (IST). 51(12): 1739-1749. 2009. Computing, 2(1):1-13. 2014 [34] C. Pahl, H. Xiong. Migration to PaaS Clouds - Migration [7] R. Buyya, R. Ranjan, R.N. Calheiros. Intercloud: Utility- Process and Architectural Concerns. IEEE 7th International Oriented Federation of Cloud Computing Environments For Symposium on the Maintenance and Evolution of Service- Scaling of Application Services. Intl Conf on Algorithms and Oriented and Cloud-Based Systems MESOCA 2013. 2013. Architectures for Parallel Processing , LNCS 6081. 2010. [35] C. Pahl, H. Xiong, R. Walshe. A Comparison of On-premise to [8] . Open Source PaaS Cloud Provider Interface. Cloud Migration Approaches. Europ Conf on Service-Oriented http://www.cloudfoundry.org/. 2015. and Cloud Computing ESOCC. 2013. JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 13

TABLE 9 Architecture and Interoperability.

Cloudify CloudFoundry OpenShift CompatibleOne 4Caast - Console for plat- - Console pushes - Divided into - ACCORDS - Exec Container Architecture / form commands. app to cloud; control plane exposes features REC runs Components Web management deployment (Broker) and through REST API. instances. console for management msg / hosting - Parser validates - Deployment monitoring. / configuration infrastructure Manifest against Manager maps - Service Manager through console. (nodes). CORDS schema deployment model uses scripting - Controller - Controller is and maps (service template, (recipe) to cater for runs as a VM command CLI elements to valid QoS constraints) middleware stack on the target shell, used to OCCI categories to OVF. Service - Cloud Controller IaaS; controls all create apps. which are then Manager deploys is REST endpoint Cloudfoundry GIT for app instantiated. images using to manage app (CF) spawned management / - Publisher Claudia. deployment & cloud VMs. Does deployment. provides which - REC includes an control; injects not manage - Gear is appli- endpoint serves agent (application agent on VM to any IaaS layer cation container which categories. LCM, control) install & orchestrate functions. and a virtual Parser runs and and a server app deploy / - IaaS provider server/node produces a plan of (storage, config monitor/ scale must support accessed via ssh. OCCI instances for data). Deployment - Cloud Driver: CF. Apps created Cartridge service resolution (instance Server (Chef) talks VM templates using CF are runs on a Gear. can receive/send to Service & REC for different deployed to CF App LCM scripts data). Manager. OVF IaaS clouds in VMs controlled by allow for post- - Broker processes Manager creates configuration. a Cloud Controller deployment action plan and invokes extended OVFs Triggers host on CF-compliant hooks to run on instances. from resolved provisioning IaaS clouds. VMs. BluePrints. Supports Azure, Supports AWS, Uses DeltaCloud; OCCI provider FlexiScale driver Clouds OpenStack, Openstack, app runs on interfaces (PROC- provided. Supported CloudStack, EC2, Rackspace, RedHat certified CIs) for OpenStack, OpenNebula / Interoper- Rackspace, Terra- vCloud, vSphere. public cloud OpenNebula and supported. ability mark (buildable for Hosted as public (needs deltacloud Azure (also SlapOS Generic IaaS any of the jclouds PaaS. support). and SlapGrid). Cloud API above) through Tcloud.

[36] M.P. Papazoglou, W.J. van den Heuvel. Blueprinting the Claus Pahl is a Senior Lecturer at Dublin Cloud. IEEE Internet Computing, November 2011. City University, where he is a principal inves- [37] A. Paya, D.C. Marinescu. Clustering Algorithms for Scale-free tigator of the Irish Centre for Cloud Comput- Networks and Applications to Cloud Resource Management. ing and Commerce IC4. His research inter- 2013. ests include software engineering in service [38] D. Petcu et al. Portable cloud applications - from theory to and cloud computing. He holds a Ph.D. in practice. Fut. Gen. Computer Systems 29(6):1417-1430. 2013. computing from the University of Dortmund [39] S. Ried. Cloud Broker A New Business Model Paradigm. and an M.Sc from the University of Technol- Forrester. 2011. ogy in Braunschweig. [40] L. Rodero-Merino, L.M. Vaquero, V. Gil, F. Galan, J. Fontan, R.S. Montero, I.M. Llorente. From Infrastructure Delivery to Service Management in Clouds. Future Generation Computer Systems, vol. 26, pp. 226-240. 2010. [41] L. Sun, H. Dong, and J. Ashraf. Survey of Service Description Languages and Their Issues in Cloud Computing . Eighth International Conference on Semantics, Knowledge and Grids (SKG) 2012. pp. 128-135. IEEE. 2012. [42] IEEE. Software Engineering Body of Knowledge SWEBOK. http://www.computer.org/portal/web/swebok. 2004. [43] Wikipedia - Cloud API,Wikipedia. 2015.

Pooyan Jamshidi is a research associate at Imperial College Dublin. He holds a PhD from Dublin City University. He received the Frank Fowley is a Senior Research Engi- BS and MS degrees in computing from neer at the Irish Centre for Cloud Computing Amirkabir University of Technology. His gen- and Commerce IC4. His research interests eral research interests are in software engi- include cloud computing and security. Frank neering and his focus lies predominantly in holds an M.Sc. from Dublin City University in the areas of self-adaptive software, software Forensics and Secure Computing. architecture and cloud computing. JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 14

TABLE 10 Service Language, Programming Model and Service Engineering.

Reservoir CompatibleOne 4Caast Optimis Service Definition Units of Service Resources and Services Service Manifest Service Manifest for metadata; Manifest: Image & are described in a includes sections Language software stack (OS, Infrastructure. Image: Blueprint BP, which is per component per middleware, app, System (base OS) & an abstract description VM. Service Register config, data) in Package (stack config); of what needs to has sections for SP virtual image; service Infrastructure: Storage, be resolved into requirements and descriptions for Compute & Network. infrastructure entities. IP capabilities, VM contracts between Image is description BPs are stored and abstract description, service provider SP of manual app build. managed in a BP TREC (trust, risk, and infrastructure Image has agent that repository via a REST eco-efficiency, cost), provider IP. is embedded in VM API. A BP is resolved elasticity, data Manifests (OVF) relate & runs on startup. when all requirements protection. Has abstract entities and Agent is script to run are fulfilled by another provider description LCM of services. required configuration, BP, via the Resolution schema for a SP to Feedback between set up monitoring Engine (is service provide its capabilities SP and IP allows IP to probes, or download orchestration feature). in an XML Optimis- scale and monitor. components. compliant format. Elasticity is defined PaaS4Dev: Java EE Uses Active MQ, Java schemas, jaxb, Program- using ECA rules to services (EE5/6 web postgresql, jonas, xmlbeans, REST, ming Model scale infrastructure profile) & Enterprise ow2orchestra, apache monitor; also jax-ws, dynamically based OSGi services (http, serv bus. Ontology- cxf, javagat. IDE is on application KPI jndi, transaction) for based BP schema using Eclipse with plugin for metrics. Rules in OCL. development Jena, SPARQL. Optimis core classes. Service provisioning - Nested manifests - Request Language Toolkit provides Service described in De- support service BRL & request patterns image mgmt, context Engineering ployment Descriptor. composition. create Blueprint BP manager injects Service configuration - COSACS module service specification - context information automation based on embeds in VM image mapped to operations to VMs and Elasticity Xen configuration. mechanisms to manage and mgmt API Engine to add/remove Service Elasticity is lifecycle, e.g., post- calls. Mashup for resources. Service achieved through creation monitoring composition. Deployment Optimiser mapping Manifest setup and appliance - BP consists of BP optimises placement of KPIs with run-time config, in conjunction images, contains services. Configuration metrics gathered by with image production functional, KPI & using the Toolkit IDE. app monitoring agents. module. policy parameters.

TABLE 11 Quality: Scalability/Elasticity and SLAs.

CloudFoundry OpenShift CompatibleOne 4Caast Optimis Can add/remove Automatic gears Elasticity is Not in current The toolkit Elasticity / instances for add/remove as provided by release. includes an Scalability scalability and load changes. the load balancer Elasticity Engine change CPU & Multi-tenancy module for the to add / remove memory limits on using multi-gears IaaS resources. resources. VMs on VMs There is only a The application via COMONS Monitoring based Framework uses QoS / SLA basic logging scaling, when Monitoring on probe injection REST to get Monitoring facility with automatic, module. on PICs via CPU/disk usage Cloud foundry is based on REST. Modified from monitoring but there are concurrent ap- JASMINe provides which resides on many third-party plication request dynamic probe nodes and run Cloud Foundry thresholds. deployment & as scripts to feed monitoring The resources config. Chef recipe data to monitor plug-ins can be consumed by an configs VM probes store. SLA used to provide application can for REC manager. Manager built application be monitored and Monitoring based using WSAG4J monitoring, such viewed from the on collectd stats based on OGF as Hyperic. Console. for forecasting. WS-Agreement.

Daren Fang Daren Fang is a Research As- Xiaodong Liu Xiaodong Liu is a Reader and sociate at Edinburgh Napier University, UK. the Director of Centre for Information & Soft- His research interests include cloud service ware Systems at Edinburgh Napier Univer- modelling, green service optimization, ser- sity. His research interests include context- vice adaptation, and service evolution. aware adaptive services, cloud service evo- lution, pervasive computing. He holds a PhD in software engineering from De Montfort University, a MSc and BEng from Renmin University and Xi’an Jiaotong University. JOURNAL OF LATEX CLASS FILES, VOL. 6, NO. 1, JANUARY 2007 15