<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">SeaClouds: Agile management of complex applications across multiple heterogeneous clouds</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">D</forename><surname>Athanasopoulos</surname></persName>
							<affiliation key="aff0">
								<orgName type="department" key="dep1">Dipartimento di Elettronica</orgName>
								<orgName type="department" key="dep2">Informazione e Bioingegneria</orgName>
								<orgName type="institution">Politecnico di Milano</orgName>
								<address>
									<country>Italy (</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">M</forename><surname>Barrientos</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">Departamento de Lenguajes y Ciencias de la Computación</orgName>
								<orgName type="institution">Universidad de Málaga</orgName>
								<address>
									<country>Spain (</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">L</forename><surname>Bartoloni</surname></persName>
							<affiliation key="aff2">
								<orgName type="department">Department of Computer Science</orgName>
								<orgName type="institution">University of Pisa</orgName>
								<address>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">A</forename><surname>Brogi</surname></persName>
							<affiliation key="aff2">
								<orgName type="department">Department of Computer Science</orgName>
								<orgName type="institution">University of Pisa</orgName>
								<address>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">M</forename><surname>Buccarella</surname></persName>
							<affiliation key="aff2">
								<orgName type="department">Department of Computer Science</orgName>
								<orgName type="institution">University of Pisa</orgName>
								<address>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">J</forename><surname>Carrasco</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">Departamento de Lenguajes y Ciencias de la Computación</orgName>
								<orgName type="institution">Universidad de Málaga</orgName>
								<address>
									<country>Spain (</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">J</forename><surname>Cubo</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">Departamento de Lenguajes y Ciencias de la Computación</orgName>
								<orgName type="institution">Universidad de Málaga</orgName>
								<address>
									<country>Spain (</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">F</forename><surname>D'</surname></persName>
						</author>
						<author>
							<persName><forename type="first">E</forename><surname>Di Nitto</surname></persName>
							<affiliation key="aff0">
								<orgName type="department" key="dep1">Dipartimento di Elettronica</orgName>
								<orgName type="department" key="dep2">Informazione e Bioingegneria</orgName>
								<orgName type="institution">Politecnico di Milano</orgName>
								<address>
									<country>Italy (</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">A</forename><surname>Nieto</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">Departamento de Lenguajes y Ciencias de la Computación</orgName>
								<orgName type="institution">Universidad de Málaga</orgName>
								<address>
									<country>Spain (</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">M</forename><surname>Oriol</surname></persName>
							<affiliation key="aff2">
								<orgName type="department">Department of Computer Science</orgName>
								<orgName type="institution">University of Pisa</orgName>
								<address>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">E</forename><surname>Pimentel</surname></persName>
							<affiliation key="aff1">
								<orgName type="department">Departamento de Lenguajes y Ciencias de la Computación</orgName>
								<orgName type="institution">Universidad de Málaga</orgName>
								<address>
									<country>Spain (</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">S</forename><surname>Zenzaro</surname></persName>
							<affiliation key="aff2">
								<orgName type="department">Department of Computer Science</orgName>
								<orgName type="institution">University of Pisa</orgName>
								<address>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">SeaClouds: Agile management of complex applications across multiple heterogeneous clouds</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">7AD8DBC3909FE0F16C684130ACA9F014</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T05:38+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>SeaClouds is a European FP7 research project, whose goal is to develop a novel open solution to provide developers with the capabilities to design, configure, deploy, and manage complex applications across multiple heterogeneous clouds in an efficient and adaptive way.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><p> SeaClouds provides an enterprise capability with continuous software delivery that enables independent application vendors to mitigate risks and reduce time and cost to market.  SeaClouds orchestrates services, platforms and infrastructures to ensure that they dynamically meet the needs of cloud applications.  SeaClouds provides an integrated standards-based multi-cloud application management system that follows the DevOps approach with various basic capabilities delivered to the developer via an innovative Graphical User Interface (GUI).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Objectives of the project</head><p>The SeaClouds project aims to develop a new open source platform featuring a seamless adaptive multi-cloud management of service-based applications. The platform consists of an application management system over IaaS and PaaS clouds, and it implements a DevOps approach for continuous software delivery.</p><p>SeaClouds permits developers to design, deploy, manage and configure complex applications across multiple and heterogeneous clouds, something unfeasible hitherto.</p><p>The specific objectives of SeaClouds are:  Orchestration and adaptation of services distributed over different cloud providers. SeaClouds aims at providing the assisted design, synthesis, and simulation of service orchestrations on different cloud providers, by distributing modules of cloud-based applications over multiple heterogeneous clouds.  Unified application management of services distributed over different clouds.</p><p>SeaClouds will be able to deploy, manage, scale and monitor services over technologically diverse cloud providers. Such operations will be performed by taking into account application requirements and by providing developers with support beyond the handling of single services.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head> Monitoring and run-time reconfiguration operations of services distributed</head><p>over multiple heterogeneous cloud providers. Monitoring will be in charge of detecting the possible need of redistributing services across cloud providers. Dynamic reconfiguration will let orchestrations evolve so as to realize all the required changes. Reconfiguration ranges from dynamically replacing malfunctioning services to migrating them to different cloud providers.  Compliance with major standards for cloud interoperability. SeaClouds will manage applications deployed on technologically diverse cloud platforms, unifying operations such as monitoring and lifecycle management, promoting the adoption of OASIS standards for cloud interoperability, in particular TOSCA<ref type="foot" target="#foot_0">1</ref> and CAMP<ref type="foot" target="#foot_1">2</ref> .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Final expected outcomes of the project</head><p>In order to achieve the aforementioned objectives, the following capabilities are expected as outcomes of SeaClouds:  Matchmaking. To allow querying or browsing available (IaaS and PaaS) cloud offerings and select them based on application requirements.  Deployment optimizer. To optimize the deployment topology of an application across multiple clouds to address non-functional requirements.  Application management. To support efficient deployment and multi-cloud governance of complex applications on various (IaaS and PaaS) cloud offerings by leveraging cloud harmonized APIs and platform-specific adapters.  Monitoring and SLA enforcement. To feature monitoring and independent metrics to allow users to monitor the health and performance of applications.  Repairing. To scale both horizontally and vertically cloud resources to maximize the performance of each module of an application.  Replanning and application migration. To provide a seamless migration of different application modules between dissimilar clouds.  Database migration and data synchronization. To enable the portability of data among databases on different clouds.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Current status of the project</head><p>We now describe the platform architecture, SeaClouds main functionalities, the case studies used to validate the platform, and relations and collaborations with other projects, initiatives and standards. A distinguishing aspect of the SeaClouds architecture is that it builds on top of two OASIS standards initiatives: TOSCA, to specify the topologies and deployment plans, and CAMP, to interoperate with heterogeneous PaaS providers.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Platform architecture</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Design-time functionalities</head><p>The supported design time functionalities are:  Matchmaking, implemented by the Planner component,  Deployment optimizer, implemented by the Planner component,  Discovery, implemented by the Discoverer component.</p><p>At design time, the designer specifies the Abstract Application Model (AAM), which is a TOSCA YAML model that defines the topology and requirements of the application to be deployed. Once the AAM has been specified, SeaClouds starts the Planning stage. The Planner acts with two sub-processes: Matchmaking and Optimizer (as described in D3.1 3 ).</p><p>The matchmaking aims at finding, for each deployable module in the AAM, the list of candidate cloud offerings that fulfil the requirements for that module. To generate such list of cloud offerings, the planner interacts with the Discoverer. Then, the Optimizer selects one cloud offering from the list of candidates using metaheuristic algorithms. As a result, the Planner generates a Deployable Application Model (DAM), which specifies the concrete cloud services used to distribute the application.</p><p>3 SeaClouds Deliverable D3.1 -Discovery, design and orchestration functionalities: First specification and prototype. Available from http://www.seaclouds-project.eu/deliverables.html</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3">Run-time functionalities</head><p>The supported run-time functionalities are: The Deployer component, detailed in Deliverable D4.1<ref type="foot" target="#foot_3">5</ref> , executes the confirmed DAM, while the Monitor is configured with the monitoring rules taken from the user requirements. Also, the SLA service subscribes to rules or alerts and in connection with the Monitor, it enforces the policies of the agreements. The Deployer permits the deployment of the application's modules over heterogeneous IaaS and PaaS, and it tracks the dynamic evolution of the deployment and management of the application modules themselves, by means of a Live Application Model (LAM), as described in Deliverable D4.1.</p><formula xml:id="formula_0"></formula><p>Once the application is deployed, the Deployer manages it and instruments the Monitor. In particular, the Deployer installs DataCollectors in the cloud machine(s) in which the application modules have been deployed. A DataCollector component gathers raw monitoring data and pushes them to the Monitor. The latter component interacts with the SLA service to manage possible violations of QoS and QoB properties.</p><p>When a violation issue occurs, and it can be fixed without replanning, the Monitor and the Deployer interact to repair the issue. Otherwise, the Monitor interacts with the Planner to trigger the generation of a new plan to be executed by the Deployer.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.4">Case studies</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.4.1">ATOS case study</head><p>The ATOS case study is a complex software application that aims at developing an innovative and integrated solution for the use of social inclusion tools by elderly people and for the general management (self-management included) of their medical problems. The currently existing application will be decomposed into a set of modules that will be deployed, monitored and administered in one or more cloud (IaaS and PaaS) cloud providers with the support featured by the SeaClouds platform.</p><p>From the re-engineering our health application, ready to be ported on the cloud through the SeaClouds platform, we expect three main benefits:  To reduce the vendor lock-in problem, by having the opportunity to choose and change competitive providers according to the changing resource requirements during the lifetime of the application,  To execute the application on fully managed cloud infrastructure running in enterprise-class data centers with secure, reliable cloud services to support and deliver hosted software solutions, and  To deliver flexible resources to accommodate fluctuations in customers' production workloads as well as on-demand capacity for training, demonstration, proof-of-concept or test/development.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.4.2">NURO case study</head><p>NURO cloud game case study is based on a Nurogames Engine, which is responsible for data consistency and cheating protection. NURO will modify its monolithic server approach to get a cloud ready version.</p><p>The goal of the case study is to keep the functionalities of the currently available version, by taking advantage of cloud flexibility and of SeaClouds tools to optimize and to save administrative time and effort. Reliability, stability and security of the game server application should be improved by the SeaClouds solution. Saving resources in burst scenarios and a flexible pricing of real used resources will be possible.</p><p>The main benefits that we expect from porting NURO application to the cloud via SeaClouds are:</p><p> Stable QoS. The flexible use of resources should guarantee the QoS on pick phases. Maintenance time should be optimized on rollout of new versions.  Simpler administration and maintenance. Designers and administrators can focus on the application. They just have to configure the modules according to their needs and invoke deployment, installation and updates of the application. Administration of hardware and operating system is to be done by the Sea-Clouds system or the cloud provider.  Scalability over time. If the game is accepted and running for a long time, increasing number of players will cause the server applications to consume more resources. A cloud solution should make it easy to scale the system to the users' needs. Moreover, on pick phases the QoS limits will be met and on burst phases wasting of resources will be avoided.  Flexibility and control on payment. SeaClouds could considerably reduce costs, only paying for resources which are actually needed. Consuming and releasing resources depends on the needs to satisfy the QoS rules. We expect to set also cost limits to avoid exceeding budgets.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.5">Relations and collaborations with other projects and standards</head><p>As discussed earlier, SeaClouds aims at covering different needs of application deployment and management over multiple IaaS and PaaS cloud providers.</p><p>As far as IaaS environments are concerned, the SeaClouds platform takes into account the main IaaS APIs and technologies, such as OpenStack<ref type="foot" target="#foot_4">6</ref> and CloudStack<ref type="foot" target="#foot_5">7</ref> . To solve the problem of deploying multi-cloud in IaaS environments, SeaClouds is using Apache jclouds<ref type="foot" target="#foot_6">8</ref> via Apache Brooklyn<ref type="foot" target="#foot_7">9</ref> . Recently, SeaClouds members have been contributing on adding the support for Docker and Microsoft Azure<ref type="foot" target="#foot_8">10</ref> compute to Apache jclouds.</p><p>As far as PaaS environments are concerned, cloud developers are often locked into a specific cloud environment. To mitigate the vendor lock-in issues, several research projects try to wrap services offered by different providers in order to make them compatible. One of the most related projects in this regard is Cloud4SOA<ref type="foot" target="#foot_9">11</ref> , which allows the management of PaaS services of different providers. Also, Cloud4SOA provides a set of cloud-independent monitoring mechanisms and a matchmaking methodology. SeaClouds takes advantage of Cloud4SOA and moves beyond it by defining its own matchmaking mechanisms for selecting target services that better adapt to the application components.</p><p>Another related project is CloudWave<ref type="foot" target="#foot_10">12</ref> . With CloudWave, service providers will be able to rapidly design and deliver innovative, sustainable digital services for consumers at low cost and high quality. SeaClouds converges with CloudWave in the used distributed algorithms and data models that enable cloud infrastructures and applications to take actions in response to the dynamic changes in their environment. On the other hand, SeaClouds focuses on tackling the problem of deploying and managing complex multi-services applications over technologically heterogeneous clouds environments. It is worth mentioning SeaClouds and CloudWave organize a joint scientific workshop at ESOCC 2015 <ref type="bibr">13</ref> . Also, SeaClouds relates to MODAClouds<ref type="foot" target="#foot_12">14</ref> , which aims at providing quality assurance during the application's life-cycle, mitigating part of the portability vendor lock-in issues. To achieve its purposes, MODAClouds offers a monitoring methodology independent of any provider API. This monitoring methodology is going to be extended by SeaClouds project.</p><p>The peculiarity of SeaClouds is in the development of an almost market-ready product, adopting and extending Brooklyn (whose main developers are part of the project) and employing OASIS TOSCA<ref type="foot" target="#foot_13">15</ref> and CAMP<ref type="foot" target="#foot_14">16</ref> , as main standards for the deployment and management of cloud applications. SeaClouds members have been involved with CAMP and TOSCA technical committees, suggesting improvements to the specifications based on our activity. Also, SeaClouds members attend conference calls being held within the TOSCA monitoring subgroup, which focuses on extending TOSCA specification to describe monitoring aspects of an application.</p><p>Last, but not least, a cross-fertilization effort between Alien4Cloud<ref type="foot" target="#foot_15">17</ref> and Sea-Clouds is currently ongoing to assess the possibility for Alien4Cloud to use Sea-Clouds deployer, and for SeaClouds to use Alien4Cloud TOSCA YAML parser.</p><p>A more thorough discussion of related projects is provided in deliverables D2.3.1<ref type="foot" target="#foot_16">18</ref> and D2.3.2<ref type="foot" target="#foot_17">19</ref> .</p><p>6</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Impact and Exploitation</head><p>SeaClouds adopted from the very beginning of the project an open source strategy, which includes transparent development, Apache 2.0 licensing, and developer engagement. This strategy also serves as enabler for three main impact paths:  Apache Brooklyn Integration and Extension for Application Deployment.</p><p>The Apache Brooklyn application management framework will not only serve as part of SeaClouds' Deployer component, but also as a vehicle for Sea-Clouds' post-project value proposition by supporting TOSCA and extending deployment capabilities to PaaS layer and multi-cloud scenarios. The Sea-Clouds-extended Apache Brooklyn will offer a more robust multi-cloud application deployment for European service providers to accompany their IaaS and PaaS service, strengthening a solution already supported in the market.  Contribution to Vendor-Driven Standards. SeaClouds is actively contributing to two leading standards in cloud computing PaaS segment: OASIS CAMP and TOSCA. By extending these standards, SeaClouds is tapping a channel directly to Europe's cloud supply (vendors) to help empower multicloud scenarios for demand (their customers) via improved topology, orchestration, management and interoperability.  Consortium Exploitation Opportunities. Project partners will be able to exploit SeaClouds' open-source solution to strengthen their commercial and research portfolios. Industry partners such as Cloudsoft and ATOS can integrate SeaClouds assets into their own selected commercial offerings, benefiting as primary contributors to development. Similarly, academic partners can propel their research in the multi-cloud domain.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>FigureFigure 1</head><label>1</label><figDesc>Figure 1. SeaClouds architecture.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head></head><label></label><figDesc>Application management, implemented by the Deployer component.  Monitoring and SLA enforcement, jointly implemented by the Deployer, Monitoring and SLA Service components.  Repairing, jointly implemented by the Deployer and Monitor components.  Replanning and application migration, jointly implemented by the Deployer, Monitor, and Planner components.  Database migration and data synchronization, integrated from the MODAClouds EU project 4 and is integrated with the other elements of Sea-Clouds so that they can activate it.</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">https://www.oasis-open.org/committees/tosca/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">https://www.oasis-open.org/committees/camp/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_2">http://www.modaclouds.eu</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_3">SeaClouds Deliverable D4.1 -Definition of the multi-deployment and monitoring strategies. Available from http://www.seaclouds-project.eu/deliverables.html</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_4">https://www.openstack.org</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="7" xml:id="foot_5">https://cloudstack.apache.org</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="8" xml:id="foot_6">https://jclouds.apache.org</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="9" xml:id="foot_7">https://brooklyn.incubator.apache.org</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="10" xml:id="foot_8">http://azure.microsoft.com</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="11" xml:id="foot_9">http://www.cloud4soa.com</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="12" xml:id="foot_10">http://cloudwave-fp7.eu</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="13" xml:id="foot_11">http://esocc2015.unime.it</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="14" xml:id="foot_12">http://www.modaclouds.eu</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="15" xml:id="foot_13">https://www.oasis-open.org/committees/tosca</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="16" xml:id="foot_14">https://www.oasis-open.org/committees/camp</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="17" xml:id="foot_15">http://alien4cloud.github.io</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="18" xml:id="foot_16">SeaClouds Deliverable D2.3.1 -Periodic Standardization report. Available from http://www.seaclouds-project.eu/deliverables.html</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="19" xml:id="foot_17">SeaClouds Deliverable D2.3.2 -Periodic Standardization report. Available from http://www.seaclouds-project.eu/deliverables.html</note>
		</body>
		<back>

			<div type="funding">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>General data of the project</head><p>Name Seamless adaptive multi-cloud management of service-based applications Acronym SeaClouds Project Id EU-FP7-ICT-610531 Funding source European Union Duration From October 1, 2013 to March 31, 2016 Total funding Budget: 2.99 MEuros -EU contribution: 2.19 MEuros Consortium ATOS (Spain), University of Malaga (Spain), University of Pisa (Italy), Politecnico di Milano (Italy), Cloudsoft (UK), Nurogames (Germany) Web site http://www.seaclouds-project.eu/ 2 Brief description of the project</p></div>
			</div>

			<div type="references">

				<listBibl/>
			</div>
		</back>
	</text>
</TEI>
