<!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>SEBD</journal-title>
      </journal-title-group>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Data Pipelines Assessment: The Role of Data Engine Deployment Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Claudio A. Ardagna</string-name>
          <email>claudio.ardagna@unimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Valerio Bellandi</string-name>
          <email>valerio.bellandi@unimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Luzzara</string-name>
          <email>marco.luzzara@unimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Antongiacomo Polimeno</string-name>
          <email>antongiacomo.polimeno@unimi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Data Engine, Deployment Models, Non-Functional Assessment, Privacy</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Università Degli Studi di Milano, Department of Computer Science</institution>
          ,
          <addr-line>Via Celoria 18, Milano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>32</volume>
      <fpage>23</fpage>
      <lpage>26</lpage>
      <abstract>
        <p>In this paper, we explore diferent deployment models for data engines and elucidate their implications on data pipeline behavior. Specifically, we examine the impact on data sharing, data protection, pipeline uptime and latency, and the feasibility of moving segments of typical data engines to the edge. Our work demonstrates the consequences of various deployment strategies on non-functional properties of data pipelines, focusing on availability, performance, and privacy. By considering the interplay between data engine deployment and data pipeline requirements, stakeholders can make informed decisions to optimize the eficiency and efectiveness of data-driven systems.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>CEUR
ceur-ws.org</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>
        The last decades have been characterized by multiple ICT revolutions, from service to cloud-edge
computing, from mobile systems to 5G and Internet of Things (IoT), and from big data to machine
learning (ML). These technological enhancements brought to a scenario where data production,
collection, and analysis are carried out at an unprecedented rate [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ], while distributed systems
are increasingly non-deterministic and built on miniaturized services composed and executed
across the cloud-edge continuum. Data are today the cornerstone of innovation, driving
advancements in a variety of sectors from healthcare to finance and beyond. However, as
the volume and variety of data continue to expand, so do concerns surrounding privacy and
security. In addition, data stands as the lifeblood of ICT infrastructures, driving innovation,
decision-making, and eficiency across various domains. The significance of data within ICT
infrastructures cannot be overstated, as it serves as the foundation upon which modern systems
are built and optimized.
      </p>
      <p>Data engines (aka data platforms) are yet another type of modern system and consist of many
components for data management often implemented as micro-services. Diferent architectural
solutions for data engine deployment address the peculiarities of complex data-driven
environments. In the past, the choice of the specific deployment model typically hinged on technical
feasibility, while not considering the impact of a specific deployment on the non-functional
posture (e.g., performance, privacy) of the data-driven systems.</p>
      <p>
        The research community has recently started considering data engine deployment as yet
another dimension of data pipeline validation and verification [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], where any changes to the
data engine must be assessed on the basis of data (pipeline) peculiarities, including data source,
sensitivity, type, and volume, to name but a few. In this work, we claim that a specific data
engine deployment model has a direct impact on the behavior of the data engine itself and its
ability to satisfy specific non-functional requirements requested by the target data pipeline. We
discuss three possible deployments (Sections 3, 4, and 5) and demonstrate their impact on the
ifnal data pipeline behavior, particularly concerning the sharing and protection of data, on one
side, and data engine availability and performance, on the other side (Section 6). We finally
evaluate our deployment models using three data pipelines in the domains of e-commerce,
ifnance, and healthcare (Section 7).
      </p>
    </sec>
    <sec id="sec-3">
      <title>2. Reference Architecture</title>
      <p>
        Our reference architecture incorporates a common data engine [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ] that orchestrates essential
building blocks for efective data management and analysis: i) data storage for extensive data
volumes accessed for analytical and operational purposes; ii) resource manager for allocating
computational resources, ensuring timely data processing; iii) data analytics for querying and
analyzing large datasets; iv) data processing for manipulating data in batch and real-time
workflows; v) data visualization for engaging and informative data representations.
      </p>
      <p>Initially, the architecture collects data from various sources, directing it to a central data
storage repository accessible for processing and analytics. The resource manager coordinates
these elements, ensuring structured and eficient resource allocation. Data processing and
analytics components can write back to the central storage, which is then accessed for data
visualization to present and interpret the processed data.</p>
    </sec>
    <sec id="sec-4">
      <title>3. Centralized Deployment</title>
      <p>The centralized deployment deploys the entire stack in a single location (e.g., in the cloud). It is
well-suited for scenarios where data proximity is not a critical factor, and the primary concern
is the eficient management of resources and data processing.</p>
      <sec id="sec-4-1">
        <title>3.1. Description</title>
        <p>Figure 1 presents the architecture of a centralized deployment built on two main blocks: i) data
sources, ii) data engine. Data sources, positioned at various layers of a distributed infrastructure,
gather data from sensors, devices, and network (edge and cloud) nodes. These data are
transferred to the data engine via communication queues or APIs, and stored in the cloud-based data
engine. The data then undergoes processing steps like preparation, analysis, and processing.
Centralized deployment integrates key components in a single stack, typically located in a data</p>
        <p>Data Storage</p>
        <p>Data 
Processing
center or cloud environment, to simplify management and enhance function accessibility for
eficient data handling and analysis.</p>
      </sec>
      <sec id="sec-4-2">
        <title>3.2. Pro and Cons</title>
        <p>The centralized deployment holds several advantages that contribute to its appeal in various
contexts, where simple management and resource availability stand out: i) single point of
management, the centralized deployment streamlines administrative tasks, reducing complexity
and facilitating more eficient oversight of the entire centralized system; ii) resource availability,
built on cloud functionalities with particular reference to scalability and elasticity. The final user
has the impression of having infinite resources at its disposal, further empowering its ability to
eficiently execute resource-intensive data processing; iii) end-to-end data pipeline control, giving
the final user the possibility of managing the entire data pipeline in a single point, leading to
a cohesive and orchestrated approach. iv) centralized authentication and authorization, where
access to data is centrally regulated reducing the complexities associated with user syncing and
access management across multiple locations.</p>
        <p>The centralized deployment, however, introduces important challenges that call for careful
consideration: i) single point of failure, posing a significant risk, as any malfunctions or outages
in the centralized infrastructure can disrupt the entire system. It can be relieved by adopting
disaster recovery and high availability protocols; ii) transfer costs and scalability limitations,
continuous streams of data towards a centralized cluster for processing can result in significant
data transfers, leading to high costs in terms of time and resources. Additionally, scalability
limitations may impede the adaptability of the architecture to growing data volumes and
increasing demands; iii) increased latency, impacting on the ability of the user to carry out
real-time processing when data need to be moved from data sources to the cloud; iv) increased
risk of data breaches and data leaks, when data traveling from distributed edge locations to the
centralized cluster, traverse various untrusted network points, where they can be intercepted or
accessed by unauthorized parties.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>4. Decentralized Deployment</title>
      <p>The decentralized deployment deploys the entire stack closer to the data at the edge. It is
well-suited for scenarios where data proximity is a critical factor, and the main focus is on
Data 
Storage
eficient resource management and data processing with privacy in mind. It can be complex
and costly to implement in certain contexts.</p>
      <sec id="sec-5-1">
        <title>4.1. Description</title>
      </sec>
      <sec id="sec-5-2">
        <title>4.2. Pro and Cons</title>
        <p>Some of the advantages of a centralized deployment (i.e., single point of management, end-to-end
pipeline control, and centralized authentication and authorization) are also valid in a decentralized
deployment. The decentralized deployment provides two additional benefits: i) increased data
protection, since sensitive information does not have to travel to external servers, minimizing
the risk of data breaches; ii) reduced data transfer costs by deploying processing components in
proximity of data sources.</p>
        <p>The decentralized deployment, however, introduces important challenges that call for careful
consideration: i) increased complexity, due to the shift of the entire stack to the edge; ii) resource
limitations, where the system performance is constrained by the computational resources at
the edge, which are typically less powerful than those available in a data center; iii) decreased
security, because data at the edge lacks the protection provided by a typical data center with no
resource limitations, making it more vulnerable to physical attacks; iv) environmental factors
(e.g., temperature and humidity) that can impact the performance of the system.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>5. Hybrid Deployment</title>
      <p>The hybrid deployment combines centralized and decentralized deployments to fully unleashes
the potential of microservices technologies. It deploys the building blocks of the data engine
where convenient.
Temporary
Storage</p>
      <p>Data 
Processing</p>
      <p>Cloud</p>
      <sec id="sec-6-1">
        <title>5.1. Description</title>
        <p>Figure 3 presents the architecture of a hybrid deployment. It is built on two main parts, one
deployed in the cloud and the other deployed at the edge. The same stack discussed for the
centralized deployment (Section 3) is used in the cloud. We note that the resource manager
might be compatible and support the communication with its counterpart at the edge. A minimal
version of the stack with i) a temporary storage to manage ingestion and ii) a resource manager
that receives instructions from the one located in the cloud is used at the edge. A distributed
resource manager permits some autonomy at the edge, enabling it to independently manage its
own resources and tasks, such as job scheduling or data transformation operations.</p>
        <sec id="sec-6-1-1">
          <title>5.1.1. Pros and Cons</title>
          <p>The hybrid deployment provides a balanced solution that merges the advantages of both
centralized and decentralized deployment models: i) optimized resource allocation and monitoring,
where resources are dynamically allocated based on workload demands, maximizing utilization
and performance across the distributed environment. By partially processing data at the edge,
computational tasks can be ofloaded from the centralized cloud infrastructure, reducing latency
and bandwidth usage; ii) increased fault tolerance, because the system remains operational,
albeit potentially with limited functionality, in the event of central server failure; confining
data within explicitly defined processing boundaries to reduce the likelihood of accidental data
exfiltration.</p>
          <p>The decentralized deployment, however, introduces an additional challenge: i) increased
complexity, due to the need to support data partitioning, fault tolerance, coordination, resource
management, and troubleshooting.
6. Mapping Non-Functional Properties on Architectural</p>
          <p>Deployments
We discuss how architectural deployments can impact the non-functional properties availability,
performance, and privacy of the specific data engine and the data pipelines executed on it. Each
property is assigned a level of strength in {low, medium, high}, as presented in Table 6.1.</p>
          <p>High Multiple replicas, multiple</p>
          <p>zones
Medium Multiple replicas, single</p>
          <p>zones
Low Single replica, single zone
a) Availability</p>
          <p>High Resources can scale without</p>
          <p>any limits
Medium Resources have a limited</p>
          <p>ability to scale
Low Resources do not scale
b) Performance</p>
          <p>Low</p>
          <p>No data are transferred
Only secondary data are
transferred
Both primary and secondary
data are transferred
c) Privacy</p>
        </sec>
      </sec>
      <sec id="sec-6-2">
        <title>6.1. Non-Functional Properties</title>
        <sec id="sec-6-2-1">
          <title>6.1.1. Property Availability</title>
          <p>It is the availability that a specific deployment model can guarantee to a data engine and, in
turn, to the data pipelines executed on it. We define property availability as follows.
Definition 1 (Property Availability). Property Availability   models the system uptime as
a function of the number of system replicas (i.e., single, multiple) and their deployment across
diferent zones (i.e., single zone, multiple geographically-distributed zones).</p>
          <p>The levels of strength associated with property availability are as follows. Low availability
refers to a single replica with data stored on a single zone. If a node fails, the data may become
inaccessible until the node is repaired or replaced, resulting in significant downtime. Low
availability is generally not suitable for critical systems, but may be acceptable for non-critical
data or systems, where cost savings are a priority. Medium availability refers to multiple replicas
with data distributed across a single zone. While there is some level of fault tolerance, the
system may experience downtime or slower response time if a node fails, as the remaining nodes
may become overloaded with requests, or the entire zone may experience downtime. Medium
availability may be acceptable for systems where occasional downtime or slower response
times can be tolerated. High availability refers to multiple replicas with data distributed across
diferent geographically-distributed zones. Even if one or more nodes or zones fail, the system
can still serve the data from the remaining nodes or zones. This ensures that the data are always
accessible, providing a high level of fault tolerance. High availability is often associated with
systems that cannot aford downtime and where data loss is unacceptable.</p>
        </sec>
        <sec id="sec-6-2-2">
          <title>6.1.2. Property Performance</title>
          <p>It is the performance that a specific deployment model can guarantee to a data engine and,
in turn, to the data pipelines executed on it, as follows. We define property performance as
follows.</p>
          <p>Definition 2 (Property Performance). Property Performance   models the system
performance as a function of the amount of available resources and the time required for moving data
from the sources to the data engine. The former aspect considers both static scenarios where
resources are assigned a priori and dynamic scenarios where resources can elastically scale. The latter
aspect depends on the volume of data to be moved and the corresponding network resources.</p>
          <p>The levels of strength associated with property performance are as follows. Low performance
refers to resources that do not scale. This means that the amount of resources is fixed and cannot
be increased to handle higher demand. If the demand exceeds the capacity of the resources, the
system may experience significant performance issues. Medium performance refers to resources
that have a limited ability to scale. The system can handle moderate increases in demand, but
may struggle or experience performance degradation if the demand increases significantly. High
performance refers to resources that can scale virtually with no limits. The system can add
more resources to meet an increasing demand. This is often seen in cloud-based systems where
resources can be added or removed as needed.</p>
        </sec>
        <sec id="sec-6-2-3">
          <title>6.1.3. Property Privacy</title>
          <p>It is the level of privacy that a specific deployment model can guarantee to a data engine and,
in turn, to the data pipelines executed on it. We define property privacy as follows.
Definition 3 (Property Privacy). Property Privacy   models the level of data protection
guaranteed by a specific deployment model as a function of the amount and type (either primary or
secondary) of data that are exchanged between diferent systems.</p>
          <p>The levels of strength associated with privacy are as follows. Low privacy refers to a scenario
where data transfer is requested for both primary data collected from the source and secondary
data that have been previously pre-processed. These data can include sensitive information,
so it is important to have robust security measures in place to protect them during transfer.
Medium privacy refers to a scenario where data transfer is requested for secondary data only.
Primary data collected from the source are not transferred, reducing the risk associated with
sensitive information leakage. Security measures are still important to protect data during
transfer. High privacy refers to a scenario where no data transfer is requested. This is the
highest level of privacy, as it eliminates the risk of sensitive information being intercepted or
misused during data transfer. However, it also means that the benefits of data sharing, such as
collaboration and data analysis, are forbidden.</p>
        </sec>
      </sec>
      <sec id="sec-6-3">
        <title>6.2. Mapping</title>
        <p>Table 2 describes the correlation between non-functional properties in Section 6.1 and the
architectural deployments in Sections 3–5. We use the following symbols to denote the support
provided by a deployment model for a specific property level: 3 to denote full support, ~ to
denote that the property level can be supported with certain limitations, 7 to denote no support.
The subsequent analysis delves into the details of this mapping.</p>
        <p>Centralized Deployment takes full advantage of cloud capabilities, ensuring optimal
availability and solid performance, while introducing several privacy challenges. It supports all
availability levels due to the native support for geographically distributed replicas provided by
the cloud. We note that the support for high availability (i.e., multiple replicas stored across
geographically distributed zones) mitigates the impact of a single point of failure. It
streamlines resource allocation and monitoring, facilitating system scalability and elasticity without</p>
        <p>Centralized
Decentralized</p>
        <p>Hybrid
constraints. However, performance could degrade (high latency) when large volumes of data
must be transferred from the sources to the cloud. For this reason, while the low and medium
performance levels are fully supported, the high level might not be always feasible. Finally, the
frequent transfer of raw and unprocessed data to the central server in the cloud raises concerns
about unauthorized access or interception, limiting privacy to the low level.
Decentralized Deployment executes on a restricted set of resources at the edge, which
negatively afects availability and performance. On the other hand, data locality guarantees high
privacy. It lacks support for geographically distributed zones. Nevertheless, it can
accommodate multiple replicas, sustaining low and medium levels of availability. Operating within a
decentralized environment entails coping with limited and less powerful resources. However,
proximity to the data source can mitigate latency, thereby increasing the eficiency of data
processing. Decentralized deployment thus supports performance levels low and medium. Finally,
leveraging decentralized data storage can fortify privacy measures by reducing exposure to a
single point of attack and minimizing data transfer. Decentralized deployment ensures privacy
across all levels, from low to high.</p>
        <p>Hybrid Deployment ofers better properties on average. It enjoys the benefits given by cloud
resources availability, as well as the protection/anonymization of sensitive data at the edge.
Hybrid deployment breaks the monolithic approach followed by centralized and decentralized
deployment models, distributing critical components across the cloud-edge continuum. It
supports availability across all levels, from low to high. Although this approach may ensure
performance at all levels, from low to high, potential bottlenecks in data transfer can still survive.
Finally, it enhances privacy by minimizing exposure to a single point of attack and reducing
data transfer. Source data can be first pre-processed at the edge and then transferred to the
cloud. Hybrid deployment ensures privacy at all levels, from low to high .</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>7. Evaluation</title>
      <p>We propose three reference scenarios that evaluate the application of our deployment models in
varying contexts. Throughout this section, we also present selected code excerpts illustrating
the deployment processes using Docker Compose or Kubernetes.
7.1. Centralized Deployment Scenario - E-commerce Platform Analytics
Context: An e-commerce platform that analyzes users’ behavior, sales data, and product trends
to optimize its oferings and marketing strategies.</p>
      <p>Use Case: Using the centralized deployment model, the platform can aggregate data from
various sources into a single data center or cloud environment, facilitating complex analytics
and machine learning processes to derive actionable insights.</p>
      <p>Benefits: The centralized deployment model ofers high analytics performance and availability.
It handles large volumes of data and supports intensive computational tasks, which are crucial
for real-time analytics and decision-making in a dynamic e-commerce environment. Analytics
performance comes at the cost of an increasing cost in data transfer.</p>
      <p>Technological Architecture: The centralized deployment model for e-commerce analytics
employs Hadoop Distributed File System (HDFS) as data storage, Yet Another Resource
Negotiator (YARN) as resource manager, Apache Spark for data processing and analytics, Apache
Superset for data visualization, and Hive as query engine.</p>
      <p>Deployment Configurations: This section presents the configurations for a basic centralized
setup. For brevity, we propose a Docker-Compose that only includes HDFS, YARN, and Spark.
We use YARN as resource manager, because the availability of (potentially unlimited) resources
in the cloud makes it a robust and widely adopted solution. Modern orchestrators like Kubernetes
can be used, while introducing additional maintenance overhead and complexity.
services:
namenode:
image: apache/hadoop
command: ["hdfs", "namenode"]
ports:</p>
      <p>- 9870:9870
env_file:</p>
      <p>- ./config
datanode:
image: apache/hadoop
command: ["hdfs", "datanode"]
env_file:</p>
      <p>- ./config
resourcemanager:
image: apache/hadoop
command: ["yarn", "resourcemanager"]
ports:
- 8088:8088
env_file:</p>
      <p>- ./config
nodemanager:
image: apache/hadoop
command: ["yarn", "nodemanager"]
env_file:</p>
      <p>- ./config
sparkmaster:
image: spark
entrypoint: ["bash", "-c",
"$$SPARK_HOME/sbin/start-master.sh
--host sparkmaster &amp;&amp; sleep inf"]
sparkworker:
image: spark
entrypoint: ["bash", "-c",
"$$SPARK_HOME/sbin/start-worker.sh
sparkmaster:7077 &amp;&amp; sleep inf"]</p>
      <p>The Docker-Compose file creates a Namenode, which manages the metadata for the HDFS
ifle system, and a Datanode, which contains the actual user data. Regarding YARN, the
DockerCompose file creates a Resourcemanager and a Nodemanager to eficiently manage the resources
across the cluster nodes. Finally, it configures a Spark cluster with two containers: the first
one becomes the master upon executing the start-master.sh script, while the second one
becomes a worker upon executing the start-worker.sh script, passing the master endpoint
as a parameter.
7.2. Decentralized Deployment Scenario - Patients’ Health Monitoring
Context: A healthcare system that monitors patients’ health data in real-time across various
devices and locations to provide immediate care and intervention.</p>
      <p>Use Case: The decentralized deployment model allows patient data to be processed locally at
each healthcare facility or via patient monitoring devices, ensuring quick response times and
reducing the need to transfer sensitive data over the network.</p>
      <p>Benefits: The decentralized deployment model enhances data protection and privacy, both of
which are critical in the healthcare sector. It also facilitates real-time monitoring and
decisionmaking by processing data close to their sources.</p>
      <p>Technological Architecture: The decentralized deployment model for the patients’
monitoring system employs Minio as data storage, Kubernetes as resource manager, Spark for data
processing, Apache Superset for data visualization, and Trino as query engine.
Deployment Configurations: This section outlines the configurations for a decentralized
setup utilizing Kubernetes, Minio, and Spark. Initially, Kubernetes establishes a pod for the
Minio server, which is then accessible as a service named minio-service. Subsequently, Spark
is deployed on Kubernetes to leverage the dynamic resource allocation it provides. However,
integrating Spark with Kubernetes isn’t straightforward and requires the Spark-Operator, an
operator designed specifically for managing Spark applications within the Kubernetes ecosystem.
The most eficient installation method for the Spark-Operator is through Helm. 1 Following this,
a Docker image that contains the Spark code to be executed is created. The final step involves
defining a Kubernetes resource type SparkApplication, introduced by the Spark-Operator, for
deploying the applications. Below is an example YAML configuration used in this setup.
apiVersion: "sparkoperator.k8s.io/v1beta2"
kind: SparkApplication
metadata:</p>
      <p>name: spark-with-minio
spec:
type: Python
pythonVersion: "3"
mode: cluster
image: "spark-app"
mainApplicationFile: local:///app/main.py
sparkVersion: "3.3.1"
driver:
cores: 1
memory: "1024m"
labels:</p>
      <p>version: 3.3.1
executor:
cores: 1
instances: 2
memory: "1024m"
labels:
version: 3.3.1</p>
      <p>The location of the Spark application is specified in the mainApplicationFile property,
while driver and executor specify the system requirements for the driver and the executors,
respectively.
1https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/blob/master/docs/quick-start-guide.md#
installation
7.3. Hybrid Deployment Scenario - Financial Services Risk Analysis
Context: A financial institution that analyzes transaction data for real-time fraud detection,
while also conducting deeper, historical risk analysis to refine its fraud detection algorithms.
Use Case: The hybrid deployment model can be used to initially process transaction data at
the edge (local bank servers) for immediate fraud detection. Simultaneously, data are sent to a
centralized cloud server for more complex, long-term risk analysis and model refinement.
Benefits: The hybrid deployment model leverages low-latency processing at the edge for
immediate fraud detection and robust computational resources in the cloud for deep analytics.
It ofers a solution that ensures real-time responsiveness and advanced analytical capabilities.
Technological Architecture: The hybrid deployment model for the risk analysis system
employs Minio as data storage at the edge and HDFS as data storage in the cloud, Kubernetes
as resource manager, Spark for data processing, Apache Superset for data visualization, and
Hive as query engine. The configurations for a hybrid deployment resemble and extend those
presented for centralized and decentralized deployments. The configurations of the decentralized
deployment are used as is; the centralized deployment is migrated to Kubernetes with the need
to define all Kubernetes configuration files. The hybrid model introduces several complexities
in the setup process due to the orchestration layer shared between cloud and edge nodes. A
detailed explanation of how to eficiently deploy hybrid architectures using Kubernetes is
beyond the scope of this paper.</p>
    </sec>
    <sec id="sec-8">
      <title>8. Related Work</title>
      <p>
        Distributed systems have been studied from several angles across the ICT evolution, focusing
on their design, development, deployment, and the evaluation of their non-functional behavior.
Recently, particular emphasis has been given to big data architectures, focusing on the design
and implementation of big data systems, their deployment on the cloud-edge continuum, as well
as the evaluation of their performance and scalability (e.g., [
        <xref ref-type="bibr" rid="ref6 ref7">6, 7</xref>
        ]). In the literature, solutions
based on the Apache ecosystem are still widespread. Aissi et al.[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] present an architecture
based on HDFS, Spark, and Hive to process and analyze data from a smart farm. However, the
necessity for enhanced resource utilization, especially in edge systems, has spurred the design
and implementation of complex frameworks centered around orchestrators like Kubernetes. An
example of these frameworks is described by Corodescu et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and outlines the importance
of data locality when data must be processed in a distributed environment. Mosa et. al [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
propose MICADO, another platform designed for the deployment of scalable and autonomously
managed solutions. The focus of their work has been the containerization of the Hadoop stack,
enabling more efective orchestration in a cloud-native environment. Considering the challenges
associated with the design and implementation of a Big Data architecture, Iatropoulou et. al [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]
introduce the Big Data Apps Composition Environment (BDACE), a set of components, tools,
and best practices, that improve the reliability and flexibility of the solution being developed.
BDACE is one of the few approaches that address the non-functional property of security, albeit
focusing solely on the aspect of authorization. The impact of distributed systems on the safety,
security, and privacy of humans has then been considered, with particular reference to system
trustworthiness in terms of governance, risk, and compliance. Several assurance techniques [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]
have been defined with the aim of proving a specific system behavior in terms of non-functional
properties support. Today, certification is considered by policymakers, regulators, and industrial
stakeholders as the most suitable assurance technique for the verification of non-functional
properties (e.g., availability, confidentiality, privacy) of distributed systems [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Certification
followed the distributed system evolution. It was initially used to verify traditional
softwarebased systems [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and later applied to service- and cloud-based system certification [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. In this
context, Anisetti et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] proposed a multi-dimensional certification scheme for distributed
systems, which evaluates distributed applications across several dimensions, including the
development process, the verification process, and the target distributed application itself.
Anisetti et al. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] also presented a security assurance methodology for big data pipelines
grounded on DevSecOps paradigm to support reliable security and privacy by design. To the
best of our knowledge, there is a lack of studies like the one in this paper that systematically
investigate the relationship between big data architectures and deployment models, and their
impact on non-functional properties. A first solution has been discussed in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], where a
novel assurance process for Big Data holistically evaluates the big data pipelines and the
ecosystem underneath to provide a comprehensive measure of their trustworthiness. However,
the proposed assurance process does not evaluate the impact of deployment models on the
overall trustworthiness.
      </p>
    </sec>
    <sec id="sec-9">
      <title>9. Conclusions</title>
      <p>We explored diferent deployment models for data engines in the cloud-edge continuum and shed
light on their impact on data analytics pipeline behavior. Critical aspects, such as data sharing
and protection, pipeline uptime and latency, have been explored considering non-functional
properties availability, performance, privacy. Our results highlighted the significance of data
engine deployment as a critical dimension of data pipeline validation and verification.</p>
    </sec>
    <sec id="sec-10">
      <title>Acknowledgments</title>
      <p>Research supported, in parts, by i) project “BA-PHERD - Big Data Analytics Pipeline for the
Identification of Heterogeneous Extracellular non-coding RNAs as Disease Biomarkers”, funded
by the European Union - NextGenerationEU, under the National Recovery and Resilience
Plan (NRRP) Mission 4 Component 2 Investment Line 1.1: “Fondo Bando PRIN 2022” (CUP
G53D23002910006), ii) project MUSA - Multilayered Urban Sustainability Action - project, funded
by the European Union - NextGenerationEU, under the National Recovery and Resilience Plan
(NRRP) Mission 4 Component 2 Investment Line 1.5: Strengthening of research structures
and creation of R&amp;D “innovation ecosystems”, set up of “territorial leaders in R&amp;D” (CUP
G43C22001370007, Code ECS00000037), iii) project SERICS (PE00000014) under the NRRP MUR
program funded by the EU - NextGenerationEU, iv) Università degli Studi di Milano under the
program “Piano di Sostegno alla Ricerca”. Views and opinions expressed are however those of
the authors only and do not necessarily reflect those of the European Union or the Italian MUR.
Neither the European Union nor the Italian MUR can be held responsible for them.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>European</given-names>
            <surname>Commission</surname>
          </string-name>
          ,
          <source>D2.5 Second Report on Policy Conclusions, Data Market Study D2.5</source>
          ,
          <string-name>
            <surname>European</surname>
            <given-names>Commission</given-names>
          </string-name>
          ,
          <year>2023</year>
          .
          <source>European Data Market Study</source>
          <year>2021</year>
          -
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Domo</surname>
          </string-name>
          ,
          <source>Data never sleeps 11</source>
          .0, https://web.archive.org/web/20230315000000/https://www. domo.com/learn/data-never-sleeps-
          <volume>11</volume>
          ,
          <year>2022</year>
          . Accessed:
          <fpage>2024</fpage>
          -03-18.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Anisetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. A.</given-names>
            <surname>Ardagna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Berto</surname>
          </string-name>
          ,
          <article-title>An assurance process for Big Data trustworthiness</article-title>
          ,
          <source>Future Generation Computer Systems</source>
          <volume>146</volume>
          (
          <year>2023</year>
          )
          <fpage>34</fpage>
          -
          <lpage>46</lpage>
          . URL: https://www.sciencedirect. com/science/article/pii/S0167739X23001371. doi:https://doi.org/10.1016/j.future.
          <year>2023</year>
          .
          <volume>04</volume>
          .003.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. S.</given-names>
            <surname>Sherratt</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Zhang,</surname>
          </string-name>
          <article-title>Big data service architecture: a survey</article-title>
          ,
          <source>Journal of Internet Technology</source>
          <volume>21</volume>
          (
          <year>2020</year>
          )
          <fpage>393</fpage>
          -
          <lpage>405</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>T. R.</given-names>
            <surname>Rao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Mitra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bhatt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Goswami</surname>
          </string-name>
          ,
          <article-title>The big data system, components, tools, and technologies: a survey</article-title>
          ,
          <source>Knowledge and Information Systems</source>
          <volume>60</volume>
          (
          <year>2019</year>
          )
          <fpage>1165</fpage>
          -
          <lpage>1245</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>J.</given-names>
            <surname>Dongarra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Tourancheau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Balouek-Thomert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. G.</given-names>
            <surname>Renart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. R.</given-names>
            <surname>Zamani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Simonet</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Parashar</surname>
          </string-name>
          ,
          <article-title>Towards a computing continuum: Enabling edge-to-cloud integration for data-driven workflows</article-title>
          ,
          <source>Int. J. High Perform. Comput. Appl</source>
          .
          <volume>33</volume>
          (
          <year>2019</year>
          )
          <fpage>1159</fpage>
          -
          <lpage>1174</lpage>
          . URL: https://doi.org/10.1177/1094342019877383. doi:
          <volume>10</volume>
          .1177/1094342019877383.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J. C. S.</given-names>
            <surname>Dos Anjos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K. J.</given-names>
            <surname>Matteussi</surname>
          </string-name>
          ,
          <string-name>
            <surname>P. R. R. De Souza</surname>
            ,
            <given-names>G. J. A.</given-names>
          </string-name>
          <string-name>
            <surname>Grabher</surname>
            ,
            <given-names>G. A.</given-names>
          </string-name>
          <string-name>
            <surname>Borges</surname>
            ,
            <given-names>J. L. V.</given-names>
          </string-name>
          <string-name>
            <surname>Barbosa</surname>
            ,
            <given-names>G. V.</given-names>
          </string-name>
          <string-name>
            <surname>González</surname>
            ,
            <given-names>V. R. Q.</given-names>
          </string-name>
          <string-name>
            <surname>Leithardt</surname>
            ,
            <given-names>C. F. R.</given-names>
          </string-name>
          <string-name>
            <surname>Geyer</surname>
          </string-name>
          ,
          <article-title>Data processing model to perform big data analytics in hybrid infrastructures</article-title>
          ,
          <source>IEEE Access 8</source>
          (
          <year>2020</year>
          )
          <fpage>170281</fpage>
          -
          <lpage>170294</lpage>
          . doi:
          <volume>10</volume>
          .1109/ACCESS.
          <year>2020</year>
          .
          <volume>3023344</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>M. E. M. El Aissi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Benjelloun</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Lakhrissi</surname>
            ,
            <given-names>S. E. H. B.</given-names>
          </string-name>
          <string-name>
            <surname>Ali</surname>
          </string-name>
          ,
          <article-title>A scalable smart farming big data platform for real-time and batch processing based on lambda architecture”</article-title>
          ,
          <source>Journal of System and Management Sciences</source>
          <volume>13</volume>
          (
          <year>2023</year>
          )
          <fpage>17</fpage>
          -
          <lpage>30</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.-A.</given-names>
            <surname>Corodescu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Nikolov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. Q.</given-names>
            <surname>Khan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Soylu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Matskin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. H.</given-names>
            <surname>Payberah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Roman</surname>
          </string-name>
          ,
          <article-title>Big data workflows: Locality-aware orchestration using software containers</article-title>
          ,
          <source>Sensors</source>
          <volume>21</volume>
          (
          <year>2021</year>
          )
          <fpage>8212</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Mosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kiss</surname>
          </string-name>
          , G. Pierantoni, J. DesLauriers, D. Kagialis, G. Terstyanszky,
          <article-title>Towards a cloud native big data platform using micado</article-title>
          ,
          <source>in: 2020 19th International Symposium on Parallel and Distributed Computing (ISPDC)</source>
          , IEEE,
          <year>2020</year>
          , pp.
          <fpage>118</fpage>
          -
          <lpage>125</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>S.</given-names>
            <surname>Iatropoulou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Petrou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Karagiorgou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Alexandrou</surname>
          </string-name>
          ,
          <article-title>Towards platform-agnostic and autonomous orchestration of big data services</article-title>
          ,
          <source>in: 2021 IEEE Seventh International Conference on Big Data Computing Service and Applications (BigDataService)</source>
          , IEEE,
          <year>2021</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>C.</given-names>
            <surname>Ardagna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Asal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Damiani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Vu</surname>
          </string-name>
          ,
          <article-title>From Security to Assurance in the Cloud: A Survey</article-title>
          ,
          <source>ACM CSUR 48</source>
          (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>C. A.</given-names>
            <surname>Ardagna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Bena</surname>
          </string-name>
          ,
          <article-title>Non-functional certification of modern distributed systems: A research manifesto</article-title>
          ,
          <source>in: Proc. of IEEE SSE</source>
          <year>2023</year>
          , Chicago, IL, USA,
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Herrmann</surname>
          </string-name>
          ,
          <article-title>Using the Common Criteria for IT security evaluation</article-title>
          , CRC Press,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Anisetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. A.</given-names>
            <surname>Ardagna</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <article-title>Bena, Multi-dimensional certification of modern distributed systems</article-title>
          ,
          <source>IEEE Transactions on Services Computing</source>
          <volume>16</volume>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M.</given-names>
            <surname>Anisetti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Bena</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Berto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Jeon</surname>
          </string-name>
          ,
          <article-title>A devsecops-based assurance process for big data analytics</article-title>
          ,
          <source>in: Proc. of IEEE ICWS</source>
          <year>2022</year>
          , Barcelona, Spain,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>