<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>IWSG</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Budget and Performance-efficient Application Deployment along Edge-Fog-Cloud Ecosystem</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Polona Sˇ tefanicˇ</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Cardiff University, School of Computer Science &amp; Informatics Queen's Buildings</institution>
          ,
          <addr-line>5 The Parade, CF243AA</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Omer F. Rana Cardiff University, School of Computer Science &amp; Informatics Queen's Buildings</institution>
          ,
          <addr-line>5 The Parade, CF243AA</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Vlado Stankovski University of Ljubljana, Faculty of Civil and Geodetic Engineering Jamova cesta 2</institution>
          ,
          <addr-line>1000 Ljubljana</addr-line>
          ,
          <country country="SI">Slovenia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2019</year>
      </pub-date>
      <volume>12</volume>
      <fpage>12</fpage>
      <lpage>14</lpage>
      <abstract>
        <p>-Applications that make use of Internet of Things (IoT) capture an enormous amount of raw data from sensors and actuators, which is frequently transmitted towards the cloud data centres for processing and analysis. However, due to varying and unpredictable data generation rates and network latency, sending the data towards a cloud data centre can lead to a performance bottleneck. With the emergence of Fog and Edge computing hosted microservices, data processing could be moved towards the network edge. We propose a novel Pareto-based approach that makes use of a multi-criteria bin packing optimisation for efficient and optimal distributed deployment of microservices - along edge, fog/cloudlet and cloud tiers. This optimisation takes account of non-functional requirements, such as operational cost, compute resource utilisation, service availability, response time, latency and similar. The results show that the present approach provides an optimal and sustainable consumption of compute resources and improves Quality of Service of the application during its runtime. The approach can also be integrated into software engineering workbenches for the creation and deployment of cloud-native applications, enabling partitioning of an application across the multiple infrastructure tiers outlined above.</p>
      </abstract>
      <kwd-group>
        <kwd>Edge/Fog/Cloud computing</kwd>
        <kwd>Quality of Service</kwd>
        <kwd>IoT</kwd>
        <kwd>Microservice</kwd>
        <kwd>Pareto front</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        The number of Internet of Things (IoT) devices that change
their physical location has grown significantly in the last few
years. According to estimates by Forbes [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and Cisco [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ],
by 2025 it is expected that such Internet-connected devices
will reach the multi-billion mark, all generating data which
has to be sent through the public network towards cloud
data centres. Currently, IoT devices send data directly to
cloud systems for processing and analysis to benefit from
high availability, scalability, high power computing, unlimited
storage and pooled computing resources on the pay-per-use
and self-service models [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. With the emergence of IoT and
consequently increasing size of data, the reconfigurability of
on-demand computing, such as Cloud computing, has become
critical in order to support Quality of Service (QoS) of
cloudnative applications.
      </p>
      <p>Real time applications, in areas such as disaster warning
systems, real time video analysis and deep learning models
related to object, speech and text recognition have time varying
demands on compute resources (based on the generation and
availability of data). Sending and processing such data in a
Copyright © 2021 for this paper by its authors. Use permitted under Creative
Commons License Attribution 4.0 International (CC BY 4.0).
cloud data centre presents bottlenecks due to high latency,
transmission costs, and privacy issues. Recently, with the
emergence of Fog and Edge computing the trend has become
to move the services, data and processing power towards the
network edge for processing and analysis.</p>
      <p>A novel approach is presented for budget- and
performance-efficient deployment of a data pipeline based on
microservices along Edge-Cloudlet/Fog-Cloud ecosystem. A
traffic management use case is considered, which makes use
of deep learning models for object recognition. The proposed
Pareto-based multi-criteria bin packing optimisation approach
considers a variety of non-functional requirements that can
be divided into mandatory (hard constraints) and desirable
(soft constraints), and returns optimal non-dominant solutions
as a trade-off among conflicting objectives. These trade-offs
include operational cost and network latency for efficient
microservice deployment. Our key contributions are: (1) novel
approach for supporting optimal and efficient distributed
microservice placement across Edge-Fog/Cloudlet-Cloud
ecosystem and (2) enhanced QoS of the overall cloud-native
application based on data processing pipeline realised through
microservices.</p>
      <p>The rest of this paper is organised as follows: Section II
discusses related work, followed by Section III where we
introduce the motivating application scenario related to
traffic management. Section IV proposes an Edge-Fog-Cloud
architecture that is suitable for the distributed deployment
of a data analysis pipeline. In Section V we formulate the
problem as a multi-criteria bin packing optimisation approach.
In Sections VI and VII we discuss experimental setup and
provide results and evaluation of the approach. We reveal our
future research directions and conclude the paper with Section
IX.</p>
      <p>II.</p>
      <p>
        Recently, big data [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and video analytics workflow
pipelines [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] have become popular and widely used in
business and scientific applications. A workflow pipeline in this
instance is generally composed of multiple stages, where
each stage represents a computational function/service. For
returning more accurate and real-time results such services
need to execute on high performance computing resources with
low latency, and make effective use of geo-distributed data
processing across multiple data centres [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
Workflow stages can consist of microservices which are
capable of being deployed within a Edge-Cloudlet/Fog-Cloud
environment. Recently, a new paradigm called Osmotic
Computing [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] was also proposed, providing an abstraction for the
execution of lightweight microservices at the edge of the
network coupled with more complex microservices running within
a cloud data centres. Osmotic computing proposes mechanisms
for migrating services between the edge and cloud systems
based on performance and security “triggers”, enabling an
application to adapt its behaviour over time. Bonomi et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
propose a hierarchical distributed architecture for the execution
of applications along Edge-Fog nodes and cloud data centres.
      </p>
      <p>
        Moreover, processing video streams in the clouds and at
the edge of the network has also gained importance and
popularity recently, due to possibility for use of increasing
availability of elastic computing environments that support
real-time resource allocation and provisioning [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. For
instance, Zamani et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] propose a model for leveraging the
use of computational resources towards the edge, fog and cloud
data centres. They focus mostly on video stream analytics.
Similarly, Ananthanarayanan et al. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] argue that geographical
distribution of cloud data centres and edge nodes closer to IoT
devices is the only solution in order to meet strict real-time
requirements of large-scale live video streams. Furthermore,
Knight et al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] have investigated QoS metrics of time-critical
CUDA applications, and provide a survey of key requirements
for QoS-aware execution of such applications in cloud data
centres.
      </p>
      <p>III.</p>
    </sec>
    <sec id="sec-2">
      <title>APPLICATION SCENARIOS</title>
      <p>
        A traffic management scenario is used to illustrate the
benefits of using both edge and cloud resources. A traffic
management system needs to acquire data from fixed field
sensors and autonomous vehicles in real time. A variety
of fixed sensors are placed along roads and highways as
road side units for detecting traffic conditions, such as traffic
flow and congestion monitoring, vehicle, density and incident
detection, overspeeding etc. Additionally, autonomous vehicles
communicate with one another and with road side units and
transmit their information on speed and location for forecasting
potential congestion and to estimate travel time [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>In this scenario, data sent from IoT devices to
cloudbased systems must be processed and analysed in near
realtime. Sending the data to the clouds means high latency and
consequently longer response time to end users. On the other
hand, processing data at the network edge and fog nodes offers
low latency and consequently faster response to traffic events
and therefore better application QoS.</p>
      <p>The traffic management system implies the following
components: (i) Input sensors are installed at fixed distance from
one another on roads and collect and send data to a fog device
for analysis; (ii) Global Display Actuators receive up-to-date
responses from controllers or router fog devices and present
parameter values such as lane closure signs or average vehicle
speed, vehicle route displays and similar; (iii) Controller
Fog device is responsible for compute, storage and network
resources; it receives input from sensors and sends updates
to the actuator; (iv) Router Fog device is a router linked to
the controller fog device and enables multiple communication
channels; moreover, it is also capable of support computational
analysis; (v) Cloud data center is responsible for maintaining
the entire application state. The workflow pipeline showing
interaction between these different components is provided in
Figure 1.</p>
      <p>Global
Display</p>
      <p>Actuator
Sensor 
(PPL)
Detect Density</p>
      <p>Triggers Module
Global
Display
Actuator</p>
      <p>Updates Display</p>
      <p>Updates
Global State</p>
      <p>Controller
Fog Device</p>
      <p>Client
Module
Controller
Fog Device</p>
      <p>Client
Module</p>
      <p>Router Fog
Device
Traffic
Density</p>
      <p>Module
y
nsit
Detecte
D
ffic ule
Tra Mod
gers ity
s
g n</p>
      <p>Tri De
UpdatesDisplaydatesalState RoDMDTueoertaenvdfrsiuficiFlcteeyog</p>
      <p>UpGlob</p>
      <p>Cloud
Data center
Connector
Module
Fig. 1: Traffic Management scenario: Integrating Fog and
Cloud.</p>
      <p>IV. EDGE-FOG-CLOUD SYSTEM ARCHITECTURE
Our proposed system architecture consists of three tiers:
edge, fog or cloudlet nodes and cloud data centres, as
illustrated in Figure 2. At the edge of the network, fixed
and dynamically positioned IoT devices generate data that is
transmitted over a public network. The generated raw data
intransit, passes through fog or cloudlet nodes and continues
to the cloud data centres. Fog nodes or cloudlets (to support
mobility) are positioned between the network edge and the
cloud.</p>
      <p>Initial data pre-processing can be performed on the edge
and fog nodes, however more complex tasks such as object
detection and recognition (which can have greater demands
on computing resources) should consequently be processed in
cloud data centres. Therefore, we propose the distribution of
the data pipeline functions, such as (i) data collection, cleaning
and data pre-processing and, on the other hand, (ii) object
detection and recognition through deep learning models to be
executed across edge, fog and cloud infrastructure respectively
as illustrated in Figure 2. We treat each functionality of the data
analysis pipeline as a microservice that collectively represent
the overall application.</p>
      <sec id="sec-2-1">
        <title>Cloudlet/Fog</title>
      </sec>
      <sec id="sec-2-2">
        <title>Cloud</title>
        <p>data
pre-processing</p>
        <p>Shallow learning
Deep learning
video decoding
object detection
object recognition
Edge-Fog-Cloud-based Big data pipeline
Fig. 2: Data analysis pipeline.</p>
      </sec>
      <sec id="sec-2-3">
        <title>Edge</title>
        <p>Cameras
Sensors
data collection
video capturing
V.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>MULTI-CRITERIA BIN PACKING OPTIMISATION</title>
      <p>The multi-criteria, bin packing optimisation method was
designed to provide a Pareto-based trade-off analysis for
an efficient deployment of microservices along
Edge-FogCloud environment based on NFRs. As a result, the method
returns a reduced number of options, Pareto non-dominant
solutions which present the optimal infrastructure deployment
options for running services. The implemented method fits into
software engineering life-cycle of cloud-native applications,
particularly as part of the service provisioning stage, where
the deployment configuration is proposed, based on steps
illustrated in Figure 3. In the following subsections all phases
that are part of the method are introduced in details.
iton  d
isam tehom
it
eop ikng
iv c
tc pa
jboe ibn</p>
      <p>
        During the creation of cloud-native applications, a
developer decides which non-functional requirements (NFR) belong
to hard and soft constraints. Hard constraints are mandatory
due to their essential influence on service operation, therefore
they must be satisfied during runtime. On the other hand, soft
constrains are not mandatory and tend to improve QoS. NFRs
can be understood as parameters with categorical, continuous
and ordinal values [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and as such are fit for statistical
analysis. In the current study, we have considered the following
metrics, presented in Table I.
1) Pruning inappropriate deployment configurations based
on hard constraints: Using a bin packing algorithm, we first
remove all available instances in fog nodes and cloud data
centres that do not satisfy hard QoS constraints associated
with the application. For example, if the running service needs
3 CPU cores and 7 GB of memory, our approach prunes
all instances which have an insufficient number of allocated
compute resources, preferring those with a greater number of
compute resources. Additionally, if the running service has a
utilisation of 85% or greater of computing resources on one
instance over a sustained time period, then this can result in
service or system (e.g. instance) failure. As a consequence, the
method is re-executed, searching for instances with a greater
number of computing resources.
      </p>
      <p>
        2) QoS-aware resource optimisation based on soft
constraints: As the hard constraints are satisfied, for the
QoSaware optimisation we have utilised multi-criteria
optimisation for fine tuning the optimal choice of suitable instances
based on soft constraints. However, soft constraints can be
mutually conflicting, whereby altering one attribute can have
a detrimental effect on the others. For example, increasing
service availability means providing system redundancy and
consequently leads to higher operational costs. On the contrary,
reducing operational cost means limited options for renting
computational resources which can cause execution overheads
[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <sec id="sec-3-1">
        <title>C. Designing Pareto front non-dominant solutions</title>
        <p>
          Our approach uses the concepts of domination to consider
multiple conflicting NFRs. For a 2 A dominates over a0 2 A if
a0 is greater than a in relation to all objective functions, while
a0 has worse value for at least one solution. A solution a0 2 A
is non-dominated, if there are no other solutions a 2 A that
dominate over a0. A set of solutions P 0 2 P is called Pareto
optimal set if there are no other solutions in P that dominate
any solution in P 0. The set of all Pareto optimal solutions is
known as Pareto front. The Pareto front is an efficient tool for
supporting decision making. It narrows down the search space,
and provides insights for efficient exploitation of the space of
non-dominated solutions [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ].
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>D. Applying the method to the data pipeline</title>
        <p>The deployment of workflow pipeline functionalities across
Edge-Fog-Cloud environment is not a trivial procedure. We
consider both coupled and interdependent (micro)services that
exchange data. The deployment plan for the entire application
could be generated in succession for one microservice after
another, similarly, as the functionalities are executed in the
pipeline. We propose 2 main phases as part of our method.</p>
        <p>Phase 1: For the first workflow pipeline functionality
(e.g. data-processing) as a microservice our approach proposes
deployment plan. Based on it’s initial requirements on compute
resources and developer’s desire on soft constraints (V-B) the
approach returns a Pareto front, presenting optimal
infrastructure options at fog nodes or cloud data centres. The developer
makes a decision by selecting one Pareto point.</p>
        <p>Phase 2: After proposing a plan for the deployment of
the first workflow pipeline functionality, we consider the
second and every next functionality (e.g. object detection and
recognition) as a separated functionality yet dependent and
linked to the first or previous functionality. For the generation
of additional workflow pipeline functionality, our approach
considers the selected Pareto point from phase 1 and generates
A
Pareto front. Each solution defines infrastructure pairs for the
deployment of the second functionality whereas the approach
considers latency from every fog node and cloud data centre
in relation to the chosen node (selected Pareto point) in the
phase 1. The advantage of this procedure is to narrow down
the search space if we consider relationship and dependency
among infrastructures in distributed fog nodes and clod data
centres based on latency and geo-location. The two-phase
process is depicted in Figure 4.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>VI. EXPERIMENTAL SETUP</title>
      <p>
        We have simulated the traffic management scenario by
running benchmark tests on 15 different Amazon’s Elastic
Compute Cloud (EC2) regions worldwide1 including edge
locations and data centres offered by EC2 [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and considered
two specific modules: (i) Client module and (ii) Connector
Module (Cloud data centre).
      </p>
      <p>The Client module collects the data from sensors (PPL),
such as information on traffic and lane state and stores the
data into database microservice. On each EC2 region, we
have configured a test t2.micro instance and deployed the
database microservice. The query requests were send from
every test t2.micro instance to all test instances on various
regions whereby we have measured round trip time (RTT)
or latency of the query response. Additionally, to extend the
experiments and consider a variety of other constraints, such
as infrastructure-based metrics (CPU and memory utilisation)
and operational cost of an instance we have configured several
EC2 instances with different amount of allocated compute
resources and on-demand operational cost. We have sent query
requests from every test instance to all other test instances in all
regions and measured the round trip time (RTT) of the query
request and response. The collection of the monitoring data
took more than a month whereby queries were sent every hour.
For simplification of our experiments, we assumed that the
RTT from specific instance at some region to the instances at
the same region should be the same since it does not correlate
1The following data centres have been utilised: N. Virginia, Ohio, N.
California, Oregon, Mumbai, Seoul, Singapore, Sydney, Tokyo, Montreal,
Frankfurt, Ireland, London, Paris, Sa˜o Paulo.
with other compute properties of the instances, such as the
amount of CPU and memory utilisation.</p>
      <p>We then created a simple data-preprocessing microservice
with initial constraints on CPU and memory utilisation and
user constraints on latency and operational cost. Our main
goal was to find the optimal infrastructure – a Client or
Connector Module for the deployment of data pre-processing
microservice based on hard (CPU memory utilisation) and soft
constraints (latency, budget).</p>
      <p>VII.</p>
    </sec>
    <sec id="sec-5">
      <title>RESULTS AND EVALUATION</title>
      <sec id="sec-5-1">
        <title>A. Results presentation</title>
        <p>
          For our particular problem of Pareto front construction we
have utilised the JMetal multi-objective optimization
framework [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. In Figure 5, the Pareto front non-dominant solutions
are illustrated. As it can be seen from the chart, the Pareto
front is constructed on the basis of two conflicting objectives,
namely, operational cost on the x axis and RTT (or latency) of
the query requests and response. The inappropriate instances
based on hard constraints have already been removed in the
first stage of our approach. The result is a construction of the
Pareto front, which offers the optimal solutions in relation to
both conflicting objectives. Moreover, the method reduces the
number of all available VM instances to only the ones that
provide optimal balance between operational cost and latency
[
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. The tool has been created in a generic way, allowing to
be extended to more than two objective functions.
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>B. Evaluation</title>
        <p>For the sake of the evaluation, we have created a random
deployment plan system by choosing random solutions and
compared its performance against our approach. We have
generated deployment plan 50 times whereas we still
embedded basic logic into random deployment plan system in
order to avoid making it too dummy by considering more
amount of allocated compute resources as the service needs
to avoid under provisioning. The summary of the evaluation
is illustrated in Figure 6. The charts present Pareto-based
and randomly chosen solutions (instances) according to the
Fig. 6: Line charts depict pareto and randomly chosen solutions
(VM instances). The horizontal line illustrates constraint.
0.05</p>
        <p>CPU and memory constraint. For the two constraints (CPU,
memory), we assumed that the service operates well with 1
CPU core and 4 GB of memory. Nevertheless, our newly
developed approach beats the random deployment plan system
by (1) allocating as minimum amount of computing resources
needed under the consideration of hard constraints and by
returning the optimal solutions according to two conflicting
objectives. On the contrary, the system for random instance
choice considers instances with sufficient amount of compute
resources but misses optimal allocation of compute resources
and chooses the instances with much more resources which
means over provisioning with higher operational costs and
unsustainable consumption of compute resources.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>VIII. IMPLICATION TO SCIENCE GATEWAYS</title>
      <p>The presented approach can be used for the efficient
distributed deployment of big data pipeline functionalities along
edge, fog and cloud tiers with consideration of non-functional
requirements. Supporting job placement and submission to
edge resources enables extension to existing Science Gateways,
which often make use of cloud-based resources for execution.
Supporting close-to-the-user enactment of jobs and data
placement enables approximate analysis and what-if investigations
to be carried out at lower latency, compared to execution on a
remote data centre.</p>
      <p>A Science Gateway can also make use of the proposed
approach to deploy services and support data migration in an
automated manner. As a gateway can provide unified access
to a number of different types of cyberinfrastructure and
application libraries, the presented approach enables edge and
fog devices to also be integrated in a seamless manner within
such an environment. The optimisation approach outlined in
this work enables dynamic: (i) deployment of services at a
cloud data centre and at edge resources concurrently, based on
requirements that have been identified by a user via a
Webbased interface; (ii) auto-scaling of services across edge and
cloud resources based on constraints that have been identified
by a user.</p>
      <p>
        The optimisation approach identified in this work can be
used to schedule and execute tasks to a particular timeline and
to specific resources. In the centrepiece is a Gateway where a
user submits tasks e.g. (data pipeline functionalities) and the
system (with the present approach integrated) automatically
identifies the number of instances and resources needed to
execute the tasks. The user would be able to manage tasks and
resources through a user-friendly interactive web-based portal
for automated job submission, such as [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] – which primarily
makes use of a Kubernetes environment.
      </p>
    </sec>
    <sec id="sec-7">
      <title>CONCLUSION</title>
      <p>With the emergence of Internet of Things (IoT) that
periodically generate a massive amount of raw data, the need for
processing and analysing of this data has become a challenge.
Additionally, IoT applications that consist of workflow pipeline
can benefit promptly from data processing near network edge
due to low latency and preserved data privacy. On the other
hand, large-scale cloud data centres offer high compute
resources, scalability and availability. Due to the pipeline-based
nature of IoT applications they are suitable for the distribution
across edge, fog/cloudlet, cloud tiers.</p>
      <p>We treated workflow pipeline functionalities as linked
microservices that can be deployed one after another in
the pipeline manner and jointly compose a fully working
application. As an example, we provided the description of
traffic management application scenario that illustrates, how
workflow pipeline can be modelled and deployed to
edge-fogcloud infrastructure.</p>
      <p>
        As the core of our work, we presented a Pareto-based
Multi-criteria bin packing optimisation approach suitable for
assuring a sufficient amount of mandatory compute resources
and budget- and performance-efficient trade-off analysis of
conflicting Non-functional Requirements. The experiments
were run on Amazon’s Elastic Compute Cloud (EC2) platform,
particularly on 15 edge and data centre regions worldwide. The
result of our approach are Pareto front non-dominant solutions
that present an optimal infrastructure (e.g. instance) within
fog nodes or cloud data centres for optimal deployment of
the data-processing microservice with set initial constraints.
Pareto front provides insights for easier exploitation of the
search space and allows certain properties of particular interest
to be easily explored. The method was evaluated in terms of
operational budget and network latency benefits against the
algorithm for random infrastructure choice. The results show
that the present approach indeed returns optimal solutions
and consequently the efficient deployment strategy plan. We
estimate that the use of the present approach will encourage
sustainable consumption of on-demand compute resources and
provide enhanced Quality of Service of the overall application.
Additionally, the present approach can be integrated into
software engineering workbenches for the creation and deployment
of cloud-native applications [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
      <p>Our future research directions will be focused on
orchestration, such as how to map the proposed deployment plan
as part of the overall application workflow to the OASIS
Topology and Orchestration Specification for Cloud (TOSCA)
and dynamically update TOSCA. We will explore how data
learning models can be executed in parallel and consequently
horizontally and vertically distributed across edge, fog and
cloud infrastructure.</p>
    </sec>
    <sec id="sec-8">
      <title>ACKNOWLEDGMENT</title>
      <p>The project has received funding from the European
Union’s Horizon 2020 Research and Innovation Programme
under grant agreement No. 815141 (DECENTER:
Decentralised technologies for orchestrated Cloud-to-Edge
intelligence).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>G.</given-names>
            <surname>Burrows</surname>
          </string-name>
          , “
          <article-title>Harnessing the Internet of Things for business benefit</article-title>
          ,” The Nation,
          <year>2015</year>
          . [Online]. Available: https://images.forbes.com/ forbesinsights/pitney bowes iot/HarnessingTheInternetofThings.pdf
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Evans</surname>
          </string-name>
          , “
          <article-title>The Internet of Things - How the Next Evolution of the Internet is Changing Everything,” CISCO white paper</article-title>
          , no.
          <source>April</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>11</lpage>
          ,
          <year>2011</year>
          . [Online]. Available: http://scholar.google.com/scholar?hl=enf&amp;gbtnG=Searchf&amp;gq=intitle: The+Internet+of+Things+
          <article-title>-+How+the+Next+Evolution+of+the+ Internet+is+Changing+Everythingf#g0</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>P.</given-names>
            <surname>Mell</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Grance</surname>
          </string-name>
          , “
          <article-title>The NIST Definition of Cloud Computing Recommendations of the National Institute of Standards and Technology,” National Institute of Standards and Technology</article-title>
          ,
          <source>Information Technology Laboratory</source>
          , vol.
          <volume>145</volume>
          , p.
          <fpage>7</fpage>
          ,
          <year>2011</year>
          . [Online]. Available: http://csrc.nist.gov/publications/nistpubs/800-145/
          <fpage>SP800</fpage>
          -145.pdf
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Simmhan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Aman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kumbhare</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Stevens</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Zhou</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Prasanna</surname>
          </string-name>
          , “
          <article-title>Cloud-based software platform for big data analytics in smart grids,” Computing in Science Engineering</article-title>
          , vol.
          <volume>15</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>38</fpage>
          -
          <lpage>47</lpage>
          ,
          <year>July 2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>P. A.</given-names>
            <surname>Legg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. H. S.</given-names>
            <surname>Chung</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. L.</given-names>
            <surname>Parry</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bown</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. W.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. W.</given-names>
            <surname>Griffiths</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Chen</surname>
          </string-name>
          , “
          <article-title>Transformation of an uncertain video search pipeline to a sketch-based visual analytics loop</article-title>
          ,
          <source>” IEEE Transactions on Visualization and Computer Graphics</source>
          , vol.
          <volume>19</volume>
          , no.
          <issue>12</issue>
          , pp.
          <fpage>2109</fpage>
          -
          <lpage>2118</lpage>
          ,
          <year>Dec 2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Q.</given-names>
            <surname>Pu</surname>
          </string-name>
          , G. Ananthanarayanan,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bodik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kandula</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Akella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bahl</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Stoica</surname>
          </string-name>
          , “
          <article-title>Low latency geo-distributed data analytics,” in Proceedings of the 2015 ACM Conference on Special Interest Group on Data Communication, ser</article-title>
          .
          <source>SIGCOMM '15</source>
          . New York, NY, USA: ACM,
          <year>2015</year>
          , pp.
          <fpage>421</fpage>
          -
          <lpage>434</lpage>
          . [Online]. Available: http://doi.acm.
          <source>org/10</source>
          . 1145/2785956.2787505
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Villari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Fazio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Dustdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Rana</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Ranjan</surname>
          </string-name>
          , “
          <article-title>Osmotic computing: A new paradigm for edge/cloud integration</article-title>
          ,
          <source>” IEEE Cloud Computing</source>
          , vol.
          <volume>3</volume>
          , no.
          <issue>6</issue>
          , pp.
          <fpage>76</fpage>
          -
          <lpage>83</lpage>
          ,
          <year>Nov 2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>F.</given-names>
            <surname>Bonomi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. A.</given-names>
            <surname>Milito</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Natarajan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Zhu</surname>
          </string-name>
          , “
          <article-title>Fog computing: A platform for internet of things and analytics,” in Big Data and</article-title>
          Internet of Things,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Qiu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F. C. M.</given-names>
            <surname>Lau</surname>
          </string-name>
          , “Cloudmedia:
          <article-title>When cloud on demand meets video on demand</article-title>
          ,
          <source>” in 2011 31st International Conference on Distributed Computing Systems</source>
          ,
          <year>June 2011</year>
          , pp.
          <fpage>268</fpage>
          -
          <lpage>277</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A. R.</given-names>
            <surname>Zamani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Diaz-Montes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Petri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Rana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Anjum</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Parashar</surname>
          </string-name>
          , “
          <article-title>Deadline constrained video analysis via in-transit computational environments</article-title>
          ,
          <source>” IEEE Transactions on Services Computing</source>
          , vol.
          <source>PP</source>
          , pp.
          <fpage>1</fpage>
          -
          <issue>1</issue>
          ,
          <year>01 2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>G.</given-names>
            <surname>Ananthanarayanan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bahl</surname>
          </string-name>
          , P. Bod´ık, K. Chintalapudi,
          <string-name>
            <given-names>M.</given-names>
            <surname>Philipose</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Ravindranath</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Sinha</surname>
          </string-name>
          , “
          <article-title>Real-time video analytics: The killer app for edge computing</article-title>
          ,” Computer, vol.
          <volume>50</volume>
          , no.
          <issue>10</issue>
          , pp.
          <fpage>58</fpage>
          -
          <lpage>67</lpage>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>L.</given-names>
            <surname>Knight</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Stefanic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cigale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. C.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. J</surname>
          </string-name>
          . Taylor, “
          <article-title>Towards a methodology for creating time-critical, cloud-based CUDA applications</article-title>
          ,”
          <source>in Proceedings of IT4RIs</source>
          <volume>18</volume>
          :
          <article-title>Interoperable infrastructures for interdisciplinary big data sciences- Time critical applications and infrastructure optimization</article-title>
          , Amsterdam,
          <year>2018</year>
          . [Online]. Available: https://doi.org/10.5281/zenodo.1162877
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>O.</given-names>
            <surname>Rana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Shaikh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Anjum</surname>
          </string-name>
          , and L. Bittencourt, “
          <article-title>Vertical workflows: Service orchestration across cloud amp; edge resources</article-title>
          ,” in
          <source>2018 IEEE 6th International Conference on Future Internet of Things and Cloud (FiCloud)</source>
          ,
          <source>Aug</source>
          <year>2018</year>
          , pp.
          <fpage>355</fpage>
          -
          <lpage>362</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kassab</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Daneva</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O.</given-names>
            <surname>Ormandjieva</surname>
          </string-name>
          , “
          <article-title>Scope management of non-functional requirements,”</article-title>
          <source>in Proceedings of the 33rd EUROMICRO Conference on Software Engineering and Advanced Applications</source>
          , ser.
          <source>EUROMICRO '07</source>
          . Washington, DC, USA: IEEE Computer Society,
          <year>2007</year>
          , pp.
          <fpage>409</fpage>
          -
          <lpage>417</lpage>
          . [Online]. Available: http://dx.doi.org/10.1109/ EUROMICRO.
          <year>2007</year>
          .53
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>P. Sˇ tefanicˇ</surname>
            , D. Kimovski, G. Suciu, and
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Stankovski</surname>
          </string-name>
          , “
          <article-title>Nonfunctional requirements optimisation for multi-tier cloud applications: An early warning system case study,” in 2017 IEEE SmartWorld</article-title>
          , Ubiquitous Intelligence Computing, Advanced Trusted Computed, Scalable Computing Communications,
          <article-title>Cloud Big Data Computing, Internet of People and Smart City Innovation (SmartWorld/SCALCOM</article-title>
          /UIC/ATC/CBDCom/IOP/SCI),
          <year>Aug 2017</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>D.</given-names>
            <surname>Kimovski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Saurabh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Stankovski</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Prodan</surname>
          </string-name>
          , “
          <article-title>Multiobjective middleware for distributed vmi repositories in federated cloud environment</article-title>
          ,
          <source>” Scalable Computing: Practice and Experience</source>
          , vol.
          <volume>17</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>299</fpage>
          -
          <lpage>312</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>A. W.</given-names>
            <surname>Services</surname>
          </string-name>
          , “Amazon Elastic Container Service Developer Guide,”
          <year>2014</year>
          . [Online]. Available: https://docs.aws.amazon.com/AmazonECS/ latest/developerguide/ecs-dg.pdf
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>N. A. J.</given-names>
            <surname>Durillo</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. J.</surname>
          </string-name>
          , “
          <article-title>jmetal: A java framework for multi-objective optimization</article-title>
          ,
          <source>” Advances in Engineering Software</source>
          , vol.
          <volume>42</volume>
          , no.
          <issue>10</issue>
          , pp.
          <fpage>760</fpage>
          -
          <lpage>771</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19] GitHub, “Argoproj,” online; accessed 6 May
          <year>2019</year>
          . [Online]. Available: https://argoproj.github.io/argo/
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>P.</given-names>
            <surname>Stefanic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cigale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. C.</given-names>
            <surname>Jones</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Knight</surname>
          </string-name>
          , I. Taylor, C. Istrate,
          <string-name>
            <given-names>G.</given-names>
            <surname>Suciu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ulisses</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Stankovski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Taherizadeh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. Flores</given-names>
            <surname>Salado</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Koulouzis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Martin</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zhao</surname>
          </string-name>
          , “
          <article-title>SWITCH workbench: A novel approach for the development and deployment of time-critical microservice-based cloud-native applications,” Accepted to Future Generation Computer Systems</article-title>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>