2 BACKGROUND
In this section, we summarize recommender systems
of three broker-based Cloud architectures derived
from related EU projects that aim to address Cloud
interoperability mainly in the PaaS layer as well as
open and proprietary offerings targeting PaaS
interoperability.
2.1 Cloud4SOA
Cloud4SOA is a completed FP7 project that focused
on resolving the interoperability and portability
issues that exist in current Clouds infrastructures and
on introducing a user-centric approach for
applications which are built upon and deployed
using Cloud resources. The project architecture
consists of five layers, three horizontal and two
vertical, outlined below. The three horizontal layers
include Front-End Layer, Repository Layer, and
Harmonized API. The two vertical layers include
Semantic Layer and Governance Layer. Cloud4SOA
PaaS Recommendation is an individual component
of the SOA Layer. In Cloud4SOA, the PaaS
Recommendation component offers suggestions for
the best matches of PaaS offerings. The degree of
relation between a PaaS offering and an application
is computed based on the similarity of their semantic
profiles. Moreover, this module offers a rating
mechanism that enables the user rating and the
system automatic rating (based on SLA violations)
of PaaS offerings (Kamateri et al. 2013).
2.2 MODACloud
MODAClouds is an EU FP7 project aiming to
provide the followings: Decision Support System; an
Integrated Development Environment; a run-time
environment for the high-level design, early
prototyping, semi-automatic code generation, and;
automatic deployment of applications on Multi-
Clouds with guaranteed Quality of Service (QoS). In
particular, MODAClouds uses a Model-Driven
Engineering approach for Clouds for semi-automatic
code deployment using decision support systems on
multiple Cloud providers hiding the proprietary
technology stack (Almeida et al. 2014).
MODAClouds Architecture consists of two
distinct software levels: the MODAClouds IDE and
the Runtime platform. The Runtime platform
includes Monitoring Platform, the Self-Adaptation
Reasoner, the Models@runtime engine, the
Execution Platform and the Filling the Gap
component. MODAClouds IDE includes Decision
Support System, MODACloudML Functional
Modelling Environment, QoS modelling and
analysis tool, Data Mapping Component,
MODACloudML Deployment and Provisioning
Component, and Filling the Gap Design-Time
Manager (Almeida et al. 2014).
The Data Mapping Component allows the user to
decide upon the best cloud-specific data
representation formats and tools that fulfil the
application requirements. A cloud developer must
consider the possibility of migrating and replicating
data on different data storages possibly located in
different clouds. This component offers different
kinds of Cloud data storage services. As clouds offer
different kinds of storage services, a first issue to
address is to select the type of service to exploit
according to the characteristics of data to be stored
the way they are going to be used. A second
important concern is about the way data have to be
mapped on the data schema offered by the selected
storage service. Finally, a cloud developer must
consider the possibility of migrating and replicating
data on different data storages possibly located in
different clouds (Almeida et al. 2014).
2.3 4CaaSt
4CaaSt is a FP7 EU project that aims at introducing
a broker-based architecture which decouples the
development and specification of applications from
their actual deployment, leaving the underlying
complexity of infrastructure and platforms out of
users’ concerns (Garcia-Gomez & Jimenez-Ganan
2012). 4CaaSt introduces the concept of the
blueprint, a technical description of an application or
a service that decouples the various dependencies it
has along the Cloud layers. For PaaS deployments,
using 4CaaSt blueprints, application providers can
choose from different platform layers and services to
run their applications, including different
infrastructure, middleware, and applications
components/services. Once the selection is done,
4CaaSt generates automatically the deployment
designs and automatically provision the necessary
resources required for the deployment. In addition,
4CaaSt offers resource provisioning by considering
based on the deployment designs the required
resources needed for the deployment for instance the
QoS levels, scalability requirements, the
configuration of virtual machines (Gómez 2013)
(Momm 2013).
The recommendation is performed in
Marketplace section which includes a number of
sub-components. The marketplace allows any of its