Means shall be provided to manage and assess
cloud deployment alternatives to better support
cloud re-deployment decisions. This implies
profiling and classifying application components
and cloud nodes, as well as analysing and
simulating the behaviour of the application to
support the deployment decision making process
considering additional factors such as Non-
Functional Requirements (NFR), namely
performance, availability, localization, cost, or
risks associated with the change of cloud
resources. Multi-cloud has value only when the
right providers are selected, whether public or
private (combined into different cloud
deployment models), to meet functional and NFR.
But the manual selection and combination of
those Cloud Services to create the best
deployment scenario may imply huge effort, time
and knowledge needs.
Existing cloud services shall be made available
dynamically, broadly and cross border. so that
software providers can re-use and combine cloud
services, assembling a dynamic and re-
configurable network of interoperable, legally
secured, quality assessed (against SLAs) single
and composite cloud services,
The current paper presents a solution proposed by the
authors extending the DevOps approach with the
objective of supporting the design and pre-
deployment of multi-cloud software applications,
while facing the aforementioned challenges, imposed
by the peculiarities of the multi-cloud deployment.
2 EXTENDED DEVOPS
APPROACH FOR
MULTI-CLOUD
APPLICATIONS
2.1 Traditional DevOps
DevOps refers (DECIDE Consortium, 2017) to the
emerging professional movement and philosophy that
advocates for a collaborative working relationship
between Development and IT Operations, lowering
barriers and silo-based teams, resulting in the fast
flow of planned work (i.e., high deploy rates, better
quality and faster releases), while simultaneously
increasing the reliability, stability, and resilience of
the production environment. This is often called the
“DevOps Paradox” (Edwards, 2015): “Going faster
brings higher quality, lower costs, and better
outcomes”. DevOps pivots around three axes
(UpGuard, 2016): processes, people and technology.
From the people perspective, DevOps symbolizes a
cultural change where collaboration and cooperation
are key pillars, and this often results in an increased
understanding to prioritize requests that the business
needs. From the processes perspective, DevOps
advocates for more agile change processes, with an
increased rate of acceptance for new features,
improved quality in software developments, a
decrease in number of incidents per release and an
increased time to market and velocity to pass from
development to production. Finally, from the
technology point of view, DevOps results in an
application with a reduced number of defects and
therefore with more quality, and in an increased
deployment of features.
After an analysis of the current coverage of the
DevOps approach to the peculiarities of multi-cloud
applications and considering the phases of the
software development lifecycle (SDLC), and
software operation lifecycle (SOLC) of these targeted
applications, the authors propose a novel extended
DevOps approach to overcome current shortcomings.
2.2 Extended DevOps = DevOps +
Continuous Architecting +
Pre-deployment
The work presented here is being developed in the
context of the DECIDE project, that proposes an
extension of the “traditional” DevOps approach on
both axis: Dev and Ops. This paper, however,
presents an approach for the extension of the
Development phase. For the Dev axis, the authors
propose to extend the development phase with
previous and subsequent activities that cover: 1) the
architectural design for multi-cloud applications (at
generic level and specific to non-functional
requirements), 2) the election of the best deployment
configuration based on theoretical simulations. With
this in mind, the authors propose an “Extended Dev”
covering:
Multi-cloud applications continuous architecting
and development
Multi-cloud applications (pre) deployment
2.2.1 Existing Approaches and Tools
There are some on-going initiatives to create a
DevOps framework integrating development and
operation tools into a unique framework.
The Eclipse Cloud Development project (Eclipse
Cloud Development, 2018), composed of four sub-
projects (Che, Orion, Dirigible and Flux), is aiming