EU Project SeaClouds
Adaptive Management of Service-based Applications Across Multiple Clouds
Antonio Brogi
1
, Jos
´
e Carrasco
2
, Javier Cubo
2
, Francesco D’Andria
3
,
Ahmad Ibrahim
1
, Ernesto Pimentel
2
and Jacopo Soldani
1
1
Department of Computer Science, University of Pisa, Pisa, Italy
2
Department of Computer Science, University of Malaga, Malaga, Spain
3
ATOS, Barcelona, Spain
Keywords:
Multi-Cloud Deployment, Monitoring, Dynamic Reconfiguration, Service Orchestration.
Abstract:
The adaptive management of complex applications deployed across multiple heterogeneous PaaS platforms is
one of the problems that have emerged with the cloud revolution. The ongoing EU research project SeaClouds
aims at providing seamless adaptive multi-cloud management of complex applications by supporting the dis-
tribution, monitoring and migration of application modules over multiple heterogeneous PaaS platforms.
In this paper we present context, motivations and objectives of SeaClouds, its relation with other cloud initia-
tives, and its initial architecture.
1 INTRODUCTION
Current cloud technologies suffer from a lack of stan-
dardization, with different providers offering similar
resources in a different manner (M. Armbrust et al.,
2010). As a result, cloud developers are often locked
in a specific platform environment because it is practi-
cally unfeasible for them, due to high complexity and
cost, to move their applications from one platform to
another (N. Loutas et al, 2011). To take full benefit
of the flexibility provided by the cloud, modules of
a complex application could be deployed on multiple
clouds depending on their characteristics. Thus, in a
scenario where a complex application is distributed
across different cloud service providers, a solution is
needed to manage and orchestrate the distribution of
modules in a sound and adaptive way (Parameswaran
and Chaddha, 2012).
Consider an application consisting of three mod-
ules (A, B, C), each having its own requirements (R
A
,
R
B
, R
C
). Suppose that four PaaS platforms are avail-
able (α, β, γ, δ), each providing different offers (O
α
,
O
β
, O
γ
, O
δ
) and based on different technologies. The
application developer can deploy the application ei-
ther on a single PaaS or over multiple PaaS platforms.
In the latter case, then she has to figure out the best
offer for each module (e.g., R
A
: {O
γ
}, R
B
: {O
β
, O
γ
},
R
C
: {O
δ
}) and perform the deployment accordingly
Work supported by EU-FP7-ICT-610531 SeaClouds
project (start date: October 2013, end date: March 2016).
(e.g., A γ, B β, C δ). Afterwards, she has to
monitor both the single modules and the whole appli-
cation. In case some requirements are violated (e.g.,
R
B
is no longer satisfied by O
β
), she has to manu-
ally reconfigure the deployment (e.g., A γ, B γ,
C δ). This implies that to manage multi-cloud ap-
plications, the developer must have knowledge of the
different employed PaaS platforms and has to contin-
uously monitor the application. This is a costly and
cumbersome process and it would be much better to
have some framework doing all the work automati-
cally.
Figure 1: SeaClouds logo.
In this paper, we discuss the ongoing project Sea-
Clouds (Seamless adaptive multi-cloud management
of service-based applications) which focuses on the
problem of deploying and managing complex multi-
component application over heterogeneous clouds in
an efficient and adaptive way. SeaClouds works to-
wards giving organizations the capability of Agility
After Deployment” (Figure 1) for cloud-based appli-
758
Brogi A., Carrasco J., Cubo J., D’Andria F., Ibrahim A., Pimentel E. and Soldani J..
EU Project SeaClouds - Adaptive Management of Service-based Applications Across Multiple Clouds.
DOI: 10.5220/0004979507580763
In Proceedings of the 4th International Conference on Cloud Computing and Services Science (MultiCloud-2014), pages 758-763
ISBN: 978-989-758-019-2
Copyright
c
2014 SCITEPRESS (Science and Technology Publications, Lda.)
cations. Its approach is based on the concept of ser-
vice orchestration and it is designed to fulfill func-
tional and non-functional properties over the whole
application. Applications will be dynamically re-
configured by changing the orchestration of the ser-
vices when the monitoring detects that such proper-
ties are not respected. So, SeaClouds main objec-
tive is the development of a novel platform which per-
forms a seamless adaptive multi-cloud management
of service-based applications. More specifically, the
objectives of SeaClouds are:
O
1
) Orchestration and adaptation of services dis-
tributed over different cloud providers,
O
2
) Monitoring and run-time reconfiguration of ser-
vices distributed over multiple heterogeneous
cloud providers,
O
3
) Providing unified application management of
services distributed over different cloud providers,
and
O
4
) Compliance with major standards for cloud in-
teroperability.
The rest of the paper is organized as follows. Sec-
tion 2 will position SeaClouds with respect to other
cloud initiatives and it will describe its main chal-
lenges. Section 3 will present the SeaClouds ap-
proach along with its initial architecture. Finally, Sec-
tion 4 will draw some concluding remarks.
2 SeaClouds IN CONTEXT
This section describes how SeaClouds, with the pur-
pose of achieving its main goal, will advance the state
of the art with respect to O
1
, O
2
and O
3
, and will
contribute to obtain O
4
. Figure 2 illustrates how Sea-
Clouds intends to relate to the previously mentioned
initiatives and standards.
Orchestration and Adaptation in the Cloud. O
1
will be addressed by developing adaptive orchestra-
tors of cloud-based application modules. Orchestra-
tors are widely used in the service-oriented comput-
ing paradigm (A. Brogi, J. Camara, C. Canal, J, Cubo
and E. Pimentel, 2007; C. Canal and Salaun, 2008;
J. C
´
amara, J.A. Mart
´
ın, G. Sala
¨
un, J. Cubo, M. Oued-
erni, C. Canal and E. Pimentel, 2009; H. Nezhad, G.Y.
Xu and B. Benatallah, 2010; J. Cubo and E. Pimentel,
2011), mainly focusing on behavioural and context-
aware adaptation of services, by coordinating the in-
teractions between different services. Several ap-
proaches exist that target formal adaptation of orches-
trated services, but, to the best of our knowledge, only
few (middleware-based) attempts have been proposed
to face challenges such as heterogeneity of cloud plat-
forms and migration to different cloud providers (e.g.,
(Guill
´
en et al., 2013)).
Challenges in Orchestration and Adaptation for
the Cloud. SeaClouds will address the following chal-
lenges in order to extend service-oriented approaches
to the cloud: (i) Adaptation contracts need to take
into account cloud provider characteristics and Ser-
vice Level Agreements (SLA), (ii) Violations of Qual-
ity of Service (QoS) properties need to be monitored
across different cloud platforms, and (iii) Dynamic
architecture reconfiguration might involve migrating
some components of the application to other cloud
providers at runtime. The latter two challenges are
discussed further in the following sections.
Monitoring of Multi-cloud Services. The EU
FP7 Cloud4SOA project (www.cloud4soa.eu) pro-
vides an open source interoperable framework for ap-
plication developers and PaaS providers. Cloud4SOA
aims at supporting developers in deploying and mon-
itoring their application with the ultimate objective of
reducing the risk of vendor lock-in. The monitoring
is based on unified metrics, but Cloud4SOA monitors
each application separately and it is not able to aggre-
gate monitoring results of multi-component applica-
tions.
Several Commercial and Open Source Initia-
tives Target Monitoring of Cloud Applications. Of-
ten these initiatives address only particular platforms,
for example Appsecute (www.appsecute.com) mon-
itors only (open-source) CloudFoundry-based plat-
forms. More platform-independent technologies are
available for the IaaS level, since the latter has
undergone a stronger harmonization effort. Delta-
cloud (deltacloud.apache.org) encapsulates the native
API cloud provider to enable management of re-
sources in different IaaS platforms, such as Ama-
zon EC2. Rightscale (www.rightscale.com) supports
monitoring several public (e.g., Amazon Web Ser-
vices, Google Cloud Platform, Rackspace, Windows
Azure) and private IaaS clouds (e.g., CloudStack, Eu-
calyptus, OpenStack). Truly platform-independent
monitoring solutions exist, the most known being
NewRelic (www.newrelic.com). NewRelic achieves
platform-independency by requiring each provider to
implement a monitoring component and to integrate
it in the offered cloud platform. On the one hand,
this approach yields the best results from a monitoring
point of view. On the other hand, it forces providers
to invest quite some resources in order to implement
the monitoring.
EUProjectSeaClouds-AdaptiveManagementofService-basedApplicationsAcrossMultipleClouds
759
Figure 2: Positioning SeaClouds.
Challenges in Monitoring of Services on Multiple
Clouds. In order to address O
2
, SeaClouds monitor-
ing will use and enhance existing monitoring func-
tionalities for the PaaS and IaaS levels: (i) With re-
spect to the IaaS level, SeaClouds will simply reuse
what is available (e.g., Deltacloud), and (ii) With
respect to the PaaS level, SeaClouds aims at aug-
menting the set of metrics currently available from
Cloud4SOA (response time and up-time). For both
the IaaS as the PaaS level, SeaClouds aims at coor-
dinating, monitoring and aggregating monitoring in-
formation at the single service level to fulfill the pur-
poses of whole orchestration. Thus, SeaClouds aims
at: (i) monitoring each application component, and
(ii) combining and aggregating the above mentioned
data to highlight possible problems and their impact.
Unified Management of Multi-cloud Applica-
tions. Brooklyn (www.brooklyn.io) is an open
source, policy-driven control plane for distributed ap-
plications delivered by CloudSoft (a member of the
SeaClouds consortium). It enables single-click de-
ployment of applications across machines, locations
and clouds. Then it continuously optimizes running
applications to ensure ongoing compliance with poli-
cies. Brooklyn uses two open source tools to operate
on cloud resources, Apache Whirr (whirr.apache.org)
and jClouds (www.jclouds.org), that support several
IaaS providers. The already mentioned Cloud4SOA
project also offers deployment and lifecycle manage-
ment functionality using a harmonized API layer to
encapsulate the providers’ APIs. Furthermore, the
previously mentioned initiatives (RightScale, Delta-
cloud for the IaaS level, and Appsecute, Cloud-
Foundry for the PaaS level) all offer management
functionality, with the same limitations as discussed
while explaining monitoring.
Challenges in Unified Application Management of
Services Distributed over Different Cloud Providers.
SeaClouds will use existing management function-
alities. Specifically, (i) SeaClouds discovery func-
tionality may use and extend existing matchmaking
functionalities to match application requirements with
CLOSER2014-4thInternationalConferenceonCloudComputingandServicesScience
760
PaaS offerings, and (ii) SeaClouds management will
use a REST harmonized API for the deployment,
management and monitoring of simple cloud-based
applications across different and heterogeneous cloud
PaaS offerings. SeaClouds intends to use Brook-
lyn’s policy-driven functionality to integrate support
for IaaS providers. Moreover, Brooklyn’s approach to
policy modeling and enforcing can provide guidance
for SeaClouds orchestration/adaptation and manage-
ment functionality. On the other hand, Brooklyn only
targets the IaaS level and provides no support for or-
chestration. Beyond what Brooklyn provides, Sea-
Clouds will therefore extend policy-driven function-
ality to the PaaS level and also add support for adap-
tation and orchestration. Due to a common partner in
both initiatives (CloudSoft), Brooklyn can also bene-
fit from integrating SeaClouds functionalities, espe-
cially regarding the integration of adaptation tech-
niques in supported policies.
Standards for Cloud Interoperability. CAMP
(Cloud Application Management for Platforms) (OA-
SIS, 2012a) aims at defining harmonized APIs, mod-
els, mechanisms and protocols for the self-service
management (provisioning, monitoring and control)
of applications in a PaaS, independently of the cloud
provider. However, CAMP is only a protocol specifi-
cation, so it needs to be implemented by parties adopt-
ing the protocol.
The OASIS TOSCA (Topology and Orchestra-
tion Specification for Cloud Applications) (OASIS,
2012b) aims at enabling the interoperable description
of application and infrastructure cloud services, the
relationships between parts of the service, and the op-
erational behaviour of these services, independently
from the cloud provider. By increasing service and
application portability in a vendor-neutral ecosystem,
TOSCA aims at enabling portable deployment to any
compliant cloud, smoother migration of existing ap-
plications to the cloud, as well as dynamic, multi-
cloud provider applications.
Challenges in Standards for Cloud Interoperabil-
ity. SeaClouds intends to actively contribute to the
standardization effort of CAMP (OASIS, 2012a) both
by exploiting CAMP-compliant interfaces provided
by PaaS providers, and by contributing review pro-
posals that will possibly emerge while specifying
properties of SeaClouds orchestrations, adaptations
and monitoring. SeaClouds will exploit the TOSCA
specification to drive the design of the model for spec-
ifying cloud service orchestrations. In doing so, Sea-
Clouds might actively contribute to the standardiza-
tion effort of TOSCA, by contributing review propos-
als that will emerge while trying to devise TOSCA-
compliant instances of the SeaClouds service orches-
tration model. On the other hand, SeaClouds will also
focus on developing functionalities that are deliber-
ately out of the scope of TOSCA (OASIS, 2012b)
to solve issues about policies for the dynamic man-
agement of service orchestrations. Although the
currently available implementations of TOSCA and
CAMP do not yet support the management of com-
plex applications over multiple clouds, SeaClouds
will work towards building such management on top
of them.
3 THE SeaClouds APPROACH
SeaClouds aims at homogenizing the management
of different cloud providers and at supporting sound
and scalable orchestrations of services across them.
Moreover, systems developed with SeaClouds will in-
herently support the evolution of their constituent ser-
vices, so as to easily and dynamically cope up with
needed changes. The development, monitoring and
reconfiguration via SeaClouds will include a unified
management service, where services can be deployed,
replicated, and administered by means of standard
and harmonized APIs.
In order to obtain its main goals (viz., the develop-
ment of the platform and the definition, implementa-
tion and validation of the use cases), SeaClouds will
build a foundation to allow “Agility After Deploy-
ment” by providing necessary tools and a framework
for Modelling, Planning and Controlling cloud appli-
cations.
Figure 3 illustrates SeaClouds initial architecture.
The Planner module will implement SeaClouds plan-
ning policy to orchestrate the multi-cloud deployment
of application modules. The Planner will take the in-
put data provided by SeaClouds users, who will spec-
ify the application modules to be deployed, as well
as desired QoS properties of the whole application
and/or QoS and technology requirements for individ-
ual application modules. The Planner will determine
the best offer for each module (by using the Discov-
ery API) and will determine how to orchestrate the
modules across the selected cloud platforms (viz., or-
chestration specification).
The Controller module will implement the multi-
cloud deployment of application modules and the
monitoring policy. In particular, the Multi-Cloud De-
ployer component will input the orchestration spec-
ification generated by the Planner, and deploy (by
exploiting the Multi-Cloud Deployment API) the
application modules on the specified clouds. The
Monitor component will be in charge of monitoring
(by exploiting the Monitoring API) that application
EUProjectSeaClouds-AdaptiveManagementofService-basedApplicationsAcrossMultipleClouds
761
Figure 3: SeaClouds initial architecture.
(module) requirements are not violated. If the mon-
itoring component detects (QoS or technological) re-
quirement violations, then it will trigger the Analyzer
component. The latter will generate (if needed) re-
configuration suggestions and pass them to the Plan-
ner in order to trigger the generation of a new orches-
tration plan. Users will exploit the Graphical User
Interface (GUI) module to interact with SeaClouds.
The GUI module will contain a Designer component
to allow users to provide SeaClouds input data (viz.,
application modules, QoS and technological require-
ments). The GUI will also contain a Dashboard com-
ponent to let users easily manage and visualize the
state of the multi-cloud deployed applications.
4 CONCLUSIONS AND
PERSPECTIVES
In this paper, we have presented context, moti-
vations and objectives of the SeaClouds project
(www.seaclouds-project.eu). The project aims at pro-
viding an open source framework to address the prob-
lem of deploying, managing and reconfiguring com-
plex applications over multiple and heterogeneous
clouds. The SeaClouds approach works towards
achieving Agility After Deployment” by tackling the
problem from the service orchestration perspective. A
complex application, which consists of modules and
(technological and QoS) requirements, is provided as
input to the SeaClouds planner. The latter gener-
ates an orchestration by assigning (groups of) mod-
ules to different PaaS platforms. The orchestration is
then deployed and monitored according to standard
metrics. If requirements are violated, then the Sea-
CLOSER2014-4thInternationalConferenceonCloudComputingandServicesScience
762
Clouds analyzer will generate reconfiguration infor-
mation, which leverages the creation of a different or-
chestration of the application.
The expected results of the SeaClouds project can
be summarized as follows:
Orchestration of Cloud Services. High-level or-
chestration specifications will be used to describe
the topology and behavior of the application dis-
tributed across different platforms.
Monitoring Process. SeaClouds will monitor QoS
requirements to determine whether/which mod-
ules should be migrated.
Traceability of QoS Violations. Monitoring will
have to keep track of possible requirement vio-
lations and their causes. This is needed for the
generation of reconfiguration suggestions.
Reconfiguration Mechanism. SeaClouds will fea-
ture flexible reconfiguration by supporting the mi-
gration of application modules across different
PaaS platforms.
Unified Management API for Cloud Platforms.
SeaClouds will facilitate the access and the ad-
ministration of both public and private cloud
providers by providing multi-cloud management
tools as well as offering cloud providers and con-
sumers a REST-based approach to cloud-based
application management.
Dashboard for Administration of Services Dis-
tributed across Multiple PaaS Platforms. Sea-
Clouds will provide a graphical interface to visu-
alize and manage the current configuration of the
deployed services.
Contribute to the Development of Cloud Stan-
dards. SeaClouds will provide feedback to CAMP
by proposing new functionalities and implement-
ing a CAMP-compliant interface. It will also con-
tribute to the standardization effort of TOSCA, by
employing TOSCA as an orchestration modeling
language.
REFERENCES
A. Brogi, J. Camara, C. Canal, J, Cubo and E. Pimentel
(2007). Dynamic contextual adaptation. In Proc. of
Fifth International Workshop on the Foundations of
Coordination Languages and Software Architectures
2006 (FOCLASA’06), vol. 175, no. 2, pages 81–95.
Elsevier.
C. Canal, P. P. and Salaun, G. (2008). Model-Based Adapta-
tion of Behavioural Mismatching Components. IEEE
Transactions on Software Engineering, 34(4):546–
563.
Guill
´
en, J., Miranda, J., Murillo, J. M., and Canal, C.
(2013). A service-oriented framework for developing
cross cloud migratable software. Journal of Systems
and Software, 86(9):2294–2308.
H. Nezhad, G.Y. Xu and B. Benatallah (2010). Protocol-
aware matching of web service interfaces for adapter
development. In Proc. of 19th International Confer-
ence on World Wide Web 2010 (WWW’10), pages 731–
740. ACM.
J. C
´
amara, J.A. Mart
´
ın, G. Sala
¨
un, J. Cubo, M. Ouederni,
C. Canal and E. Pimentel (2009). Itaca: An integrated
toolbox for the automatic composition and adaptation
of web services. In Proc. of International Conference
on Software Engineering 2009 (ICSE’09), pages 627–
630. IEEE Computer Society Press.
J. Cubo and E. Pimentel (2011). Damasco: A framework
for the automatic composition of component-based
and service-oriented architectures. In I. Crnkovic, V.
Gruhn, M. Book (editors), European Conference on
Software Architecture 2011 (ECSA’11), LNCS 6903,
pages 388–404. Springer-Verlag.
M. Armbrust et al. (2010). A view of cloud computing.
Commun. ACM, (4).
N. Loutas et al (2011). D1.1 Requirements Anal-
ysis Report. Cloud4SOA Project Deliverable,
http://www.cloud4soa.eu/.
OASIS (2012a). CAMP 1.0 (Cloud Application Manage-
ment for Platforms), Version 1.0. http://docs.oasis-
open.org/camp/camp-spec/v1.1/camp-spec-
v1.1.html/.
OASIS (2012b). TOSCA 1.0 (Topology and
Orchestration Specification for Cloud Ap-
plications), Version 1.0. http://docs.oasis-
open.org/tosca/TOSCA/v1.0/TOSCA-v1.0.pdf.
Parameswaran, A. and Chaddha, A. (2012). Cloud Inter-
operability and Standardization. SETLabs Briefings -
Infosys, 7(7):19–26.
EUProjectSeaClouds-AdaptiveManagementofService-basedApplicationsAcrossMultipleClouds
763