<!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>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Design of Cloud Data Platforms</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alex Baiardi</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Matteo Francia</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Enrico Gallinucci</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Matteo Golfarelli</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Manuele Pasini</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <volume>33</volume>
      <fpage>16</fpage>
      <lpage>19</lpage>
      <abstract>
        <p>Data platforms are state-of-the-art solutions to implement data-driven applications and analytics, since they facilitate the ingestion, storage, management, and exploitation of big data. Data platforms are built on top of complex ecosystems of services answering diferent data needs and requirements; such ecosystems are ofered by diferent providers (e.g., Amazon AWS and Microsoft Azure). However, when it comes to engineering data platforms, no unifying strategy and methodology is available yet, and the design is mainly left to the expertise of practitioners in the field. Service providers simply expose a long list of interoperable and alternative engines, making it hard to select the optimal subset without a deep knowledge of the ecosystem. A more efective approach to the design starts from the knowledge of the data transformation and exploitation processes that should be supported by the platform. In this paper, we sketch a computer-aided design methodology and then focus on the selection of the optimal services needed to implement such processes. We show that our approach lightens the design of data platforms and enables an unbiased selection and comparison of solutions even through diferent service ecosystems.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Data Platform</kwd>
        <kwd>Methodology</kwd>
        <kwd>Big Data</kwd>
        <kwd>Cloud Computing</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>A data platform is a centralized infrastructure that facilitates the ingestion, storage, management,
and exploitation of large volumes of heterogeneous data. It provides a collection of independent
and composable services meeting the end-to-end needs of data pipelines, where: centralized
means that a data platform is conceptually a single and unified component; independent means
that changes in the implementation of a service do not afect other services; composable means
that services have interfaces that enable an easy and frictionless composition; and end-to-end
means that services cover the entire data life cycle. Data platforms foster collaboration and
shared governance (being centralized, data is unified following some integration and it is easier
to ensure compliance with data protection and privacy laws through shared security and access
control), and scalability (being implemented on a distributed infrastructure, it is easy to add
storage and computing resources as needed).</p>
      <p>When it comes to building data platforms, no unifying strategy and methodology is there yet:
building data platforms is mainly left to the expertise of practitioners or consultancy companies.</p>
      <sec id="sec-1-1">
        <title>Tags</title>
      </sec>
      <sec id="sec-1-2">
        <title>Formalize</title>
      </sec>
      <sec id="sec-1-3">
        <title>Enrich</title>
      </sec>
      <sec id="sec-1-4">
        <title>Match</title>
        <p>Data Flow
Diagrams</p>
      </sec>
      <sec id="sec-1-5">
        <title>Augment</title>
      </sec>
      <sec id="sec-1-6">
        <title>Optimize</title>
        <p>Service provider
Designer
Questionnaire</p>
        <p>(Clients)</p>
        <p>On the one hand, cloud service providers1 ofer ecosystems of services composed of many
engines interoperable with each other; however, choosing the optimal set of services is hard
since multiple solutions could fulfill the desiderata (e.g., whether disjoint databases and data
warehouses or a single Lakehouse [1] should be used) and could require vertical knowledge on
the design of data pipelines. On the other hand, several abstract big data architectures have
been introduced (e.g., NIST [2], Lambda [3], and Kappa [4]). However, while they provide the
necessary functionalities to enable big-data applications, their implementation and adoption
require understanding which services should be used.</p>
        <p>Neither providers of service ecosystems nor abstract architectures answer a crucial question:
given an ecosystem of services and the data-driven processes to support, which is the optimal
subset of services enabling such processes? We believe that to ease the data platform design,
the description of data-driven processes should drive such activity. Indeed, data pipelines are
the backbone of a data platform as they determine information-rich representations, and are
congenial to designers since they encode many constraints on the choices to be made.</p>
        <p>This paper discusses the following contributions (its extended version can be found at [5]):
(i) a methodology to guide the selection of blueprints for (cloud) data platforms driven by
clients’ processes; (ii) the formulation of such selection as an optimization problem where
preferences, afinity, and further constraints can be applied; and (iii) the extraction of blueprints
from real case studies and validation with experts from consultancy companies. The paper
is organized as follows: Section 2 sketches the overall methodology; Section 3 and Section 4
describe and formalize the design steps; Section 5 evaluates the efectiveness and eficiency
of the contribution; and Section 6 analyzes the related literature. Finally, Section 7 draws the
conclusions.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Methodology Overview</title>
      <p>Our methodology (Figure 1) involves three types of users: cloud service providers (IT experts with
in-depth knowledge of services available in the ecosystem); data platform designers (consultants
or people with expertise in designing data flows but with no vertical knowledge on cloud/service
ecosystems) and clients asking for the design of the data platform blueprint (e.g., partners
involved in the same European project with expertise on the applicative domain —such as
precision agriculture— but no expertise on IT and architectures).</p>
      <p>The methodology aims to assist designers in selecting the services necessary to implement
the clients’ data pipelines out of the “unstructured” lists of services provided by cloud providers.</p>
      <p>
        (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) Define the service ecosystem. A cloud service provider identifies una tantum: (i) the
alternative candidate services to compose the blueprints of data platforms, and (ii) a taxonomy
of tags that describe and characterize such services. The identified services are organized in a
service graph describing the preferences and relationships between them as well as the tags
characterizing each service. Assuming that cloud service providers do not ofer redundant services,
our guideline for designing the tag taxonomy emphasizes ensuring suficient expressiveness.
This means that each service should be uniquely identifiable by a set of tags.
      </p>
      <p>
        (
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) Formalize the requirements through a Data Flow Diagram. When building the
blueprint of a new data platform, clients compile questionnaires that collect information about
their data-driven processes and the main steps, subjects, and goals of their analysis. Note that the
data platform should support (possibly independent) processes from multiple clients. Designers
then refine the answers to the questionnaires and formalize the processes into a Data Flow
Diagram (DFD); during the process, a few interviews with the clients might be necessary. We
choose the DFD formalism [6] since it represents flows of data through an information system at
a high level of abstraction, emphasizing the movement and transformation of data while hiding
details such as decision points and interactions: knowing which repositories and processes
compose the data-driven processes is enough to return a blueprint. To build the DFD, designers
decompose the data flows into agents, processes, and repositories. Starting from an aggregated
overview, our guideline is to recursively split candidate processes and repositories until each of
them is characterized by homogeneous tags (e.g., if a repository contains both unstructured
images and relational tables, split it into two homogeneous repositories). Repositories and
processes that should not be imported into the data platform (e.g., legacy systems deployed
on-premises) should be treated as external agents.
      </p>
      <p>
        (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ) Enrich the DFD with service tags. To match the DFD with the services deployed in a
cloud ecosystem, the two must share the same characterization. Each process and repository
in the DFD is enriched with the tags from the taxonomies previously identified by the cloud
service provider. To aid designers in the characterization of each process/repository (agents are
not subjects of enrichment, since they are out of the scope of the platform), clients answer an
additional set of questions; we recall that clients are not required to have vertical knowledge
about computer and data science or engineering. Such questions are defined by the cloud service
providers and driven by the tag taxonomies. Note that since our final goal is selecting the most
1While data platforms are not mandatorily coupled with cloud computing, cloud computing is proving to be a
winning business model since deploying and maintaining such a variety of computational resources and assets
requires advanced technical skills that companies hardly have “in-house”.
appropriate services, we are not interested in identifying and tracking the data/processes but
rather their types and their flows.
      </p>
      <p>Example 1. Given a data repository, we ask the question: “What are the main types of collected
data?”
□ Sensor data □ Images □ Videos □ Satellite observations □ Tables
Answering “Satellite observations” tags the repository with the properties (Volume, Big), (Data
Model, File), and (Data Nature, Raster) (since earth observations are around 1 GB for 100 2)
and tags the process to download such data as (Collection, Pull) since files are downloaded from an
FTP server [7].</p>
      <p>
        (
        <xref ref-type="bibr" rid="ref4">4</xref>
        ) Match the DFD and service graphs.
      </p>
      <p>Once the DFD and service graphs are characterized by tags from the same taxonomies, it is
possible to join them in a matched graph. A DFD process or repository matches (i.e., can be
implemented by) a service only if the service has the same or more functionalities to fully
implement it.</p>
      <p>
        (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) Augment the matched graph. Augmentation is a semi-automatic step atop the matched
graph. On the one hand, the system automatically recognizes architectural design patterns in
the data pipelines to either automatically apply or simply highlight advanced compositions of
services. On the other hand, designers can manually inject their knowledge to enrich the matched
graph and steer the subsequent optimization. Designers could force the selection of services in
case they are required by clients, prefer some services in place of others for performance or
compatibility reasons, and refine the match (e.g., consider only services supporting programming
languages required by legacy software).
      </p>
      <p>
        (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) Select the optimal services. Out of all the services that are candidate implementations, it
is necessary to select the minimal blueprint of the data platform that covers all the DFD entities
(the fewer the services, the lower the cost and management eforts). Furthermore, dependencies
and compatibilities between services have to be taken into account.
      </p>
      <p>Case Study: Agritech Within the Agritech spoke of the NRRP European project [8], we
deploy a data platform supporting prescriptive analytic tasks from 8 clients in the field of
precision agriculture. We will use one of the partners as a working case study throughout the
paper. Here follows a qualitative description of one of the clients’ data flows that the platform
must support.</p>
      <p>Example 2. The analysis entails a flow that is structured as follows. (i) Data comes from soil
moisture sensor grids, weather stations, and SENTINEL-2 satellites; (ii) Sensor and weather data is
uploaded every 15 minutes to the platform, while satellite data is periodically downloaded; (iii)
Soil moisture data is interpolated using mathematical (e.g., bilinear interpolation) and machine
learning (e.g., neural networks) techniques; (iv) Vegetation indexes are computed out of the raw
satellite observations and integrated with the enriched sensor data; (v) Reports are periodically
generated out of the integrated data; (vi) Given an optimal soil moisture matrix, the integrated
data is used to decide how much to irrigate the soil.</p>
      <p>{(Data Zone, Landing),
(Data Model, Relational)}
{(Data Volume, Small),
(Computing, Batch)}</p>
      <p>{(Computing, Batch),
(Functionality, Machine Learning)}
Consume</p>
      <p>After gathering questionnaires from the clients, we (designers) iteratively refined the
interview. Figure 2 depicts the tasks from Example 2 using the DFD formalism. More details are
described in [9, 10].</p>
    </sec>
    <sec id="sec-3">
      <title>3. Mapping the Service Ecosystem</title>
      <p>Tags (Table 1) are organized as a collection of hierarchies that can be fueled bottom-up from the
documentation of cloud services providers (i.e., the set of tags that are attached to each service
or that are inferrable through the service description), and top-down from the literature; e.g.,
the big data V’s.</p>
      <p>Definition 1 (Hierarchy). A hierarchy ℎ is a taxonomy of categorical values (ℎ). ≥ ℎ is
the partial order that defines the taxonomy; ≥ ℎ indicates whether a value is more specific than
another. We denote with  the set of hierarchies.</p>
      <p>Example 3 (Tags and hierarchies). Table 1 depicts an example of hierarchies  =
{Data Model, Volume, ...}. In the partial order of the hierarchy ℎ = Data Model it is, for instance,
Relational ≥ Data Model Structured ≥ Data Model Data Model (All). Relational is more specific than
Structured in the Data Model hierarchy.</p>
      <p>The services available on a specific ecosystem difer for each provider, and no single and
shared organization of services is available. Also, it is necessary to consider the relationships
between services (e.g., whether the adoption of a service requires another) and preferences in
their choice (e.g., due to diferences in performance reasons). That is why we map the services
into a directed property graph.</p>
      <p>Definition 2 (Directed property graph). A directed property graph is a tuple  = (, , , )
where  = {..., , ...} is a finite set of nodes,  = {...,  , ...} is a finite set of arcs connecting
nodes  and  ,  = {..., (ℎ, ), ...} is a set of key-value properties with ℎ ∈  and  ∈
Data Nature (All)</p>
      <p>Spatial
n4</p>
      <p>EMR
n2
GeoServer
IsCompatible</p>
      <p>Requires
n1
S3
n3
EC2
Structured
Semi-structured
Unstructured
Temporal</p>
      <p>Relational
Multidimensional
Document
Wide-column
Key-value
Graph
File (text, binary)
Vectorial</p>
      <p>Raster
{(Data Model, Structured),
(Data Model, File),
(Volume, All)}
n5</p>
      <p>Lakehouse
{(Data Model, File),</p>
      <p>(Volume, All),
(Preferred, True)}
(ℎ), and  is a set of labels.  : ( ∪ ) →  returns the properties of a node or arc.
 : ( ∪ ) →  returns the labels of a node or arc.</p>
      <p>Definition 3 (Service graph). A service graph is a directed property graph  where nodes are
labeled as Service, while arcs are alternatively labeled as {Requires, IsCompatible, IsAkin}. The
semantics of the labels is the following.</p>
      <p>Service: is any engine from the service ecosystem that can be optionally tagged with the property
(Preferred, True) to specify whether it should be considered more than others;</p>
      <p>Requires: represents whether a service mandatorily relies on another;</p>
      <p>IsCompatible: represents whether a service natively interfaces with another (i.e., their interaction
is supported by default and does not require custom/additional libraries or connectors);</p>
      <p>IsAkin: represents whether a service not only is compatible with another but also if their adoption
together is encouraged.</p>
      <p>An excerpt of the service graph  from the AWS ecosystem is depicted in Figure 3.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Process-Driven Match, Augmentation, and Optimization</title>
      <p>We now describe three steps composing our approach. Match extracts the services that can
support the execution of the data pipeline, Augment refines the potential candidates and, finally,
EC2</p>
      <p>Kinesis
Post
GIS
RDS
Lambda
Sage
Maker
Churn
Pred.</p>
      <p>Athena</p>
      <p>MSeonisstourrse WSetaattihoenr Satellite</p>
      <p>Optimize picks the optimal (minimal) subset. We mainly focus on the optimization of the
platform design rather than on how, starting from questionnaires, designers refine the DFD of
such flows.</p>
      <p>Since data pipelines are the backbone of data platforms, everything starts from the DFD
describing the processes of clients’ analysis.</p>
      <p>Definition 4 (Data Flow Diagram). A Data Flow Diagram (DFD) is a directed property graph
 where nodes are alternatively labeled as {Agent, Repository, Process}, while arcs are labeled
as Flow. Arcs must connect with at least one Process node. The semantics of the labels is the
following. Agent: an external entity that communicates with the system and stands outside of the
system; Process: transform inputs to outputs; Repository: store data for later use; Flow: transfer
data from one part of the system to another.</p>
      <p>Matching the DFD and Service Graphs Given the service graph and the DFD, we can
automatically join them by matching their tags. A match represents whether a DFD node can be
implemented using a specific service (solid arcs in Figure 4); i.e., services that have the same or
more generic values for the properties specified in the DFD node. For instance, a DFD repository
tagged as Relational could be implemented by services supporting Relational or all Structured
data.</p>
      <p>Definition 5 (Matched graph). Given a DFD  = ( , ,  , ) and a service graph
 = ( , ,  , ), a matched graph  = (  ∪  ,  ∪  ∪ ,   ∪  ,  ∪
 ∪ {ImplementedBy}) is a directed property graph obtained as the union of  and .  is
an additional set of arcs, one for every match between nodes in   and  . Arcs in  are labeled
as ImplementedBy and can have an optional property (Mandatory, True) to specify that such
implementation must be selected in the final blueprint.</p>
      <p>Example 4 (Matched graph). Figure 4 depicts an excerpt of the matched graphs for the DFD from
Figure 2; for the sake of clarity, not all the arcs have been presented. Nodes from the DFD have a
 ∑︁  such that</p>
      <p>∈ {0, 1} for all  ∈ , () = Service
 ∈ {0, 1} for all  ∈ , ( ) = ImplementedBy
 ≥   for all</p>
      <p>
        ∑︁  = 1 for all  ∈ , () ∈ {Process, Repository}
∈,()=ImplementedBy
 ≥   for all  ∈ , ( ) = Requires
 + ℎ ≤ 1 for all   ∈ , ℎ ∈/ , () = Flow, (ℎ) = IsCompatible
 = 1 for all  ∈ , (Mandatory, True) ∈ ( )
 ·  ℎ ≥  ℎ for all , ℎ ∈ , () = Flow, (ℎ) = IsAkin
(
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
(
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
(
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
(
        <xref ref-type="bibr" rid="ref6">6</xref>
        )
(
        <xref ref-type="bibr" rid="ref7">7</xref>
        )
(
        <xref ref-type="bibr" rid="ref8">8</xref>
        )
(
        <xref ref-type="bibr" rid="ref9">9</xref>
        )
white background, while services are represented in blue. Solid arrows represent arcs labeled as
ImplementedBy (e.g., Sensor Data can be implemented by either PostGIS or RDS). Dotted arrows
represent arcs labeled as IsCompatible (e.g., SageMaker reads from and writes to Redshift).
Dashed arrows represent arcs labeled as Require (e.g., GeoServer requires EC2 since it is deployed
on it). Of course, it is unlikely that all services of the cloud ecosystem will be matched, Athena
and Churn Prediction are examples of unmatched services.
      </p>
      <p>Augmenting and Pruning the Matched Graph Designing a platform is not just a technical
task but encompasses various organizational, business, and political aspects that must be
carefully considered. The successful creation of a platform requires the expertise and experience
of designers to manipulate the matched graph and aid in the subsequent optimization. This
ensures that the platform is not only technically sound but also aligns with broader strategic
goals and user needs. Designers have several tools at their disposal to influence and refine the
design process: (i) force the selection of specific services; (ii) prefer certain services over others;
and (iii) refine the match by preliminarily removing services that do not meet specific criteria
or adding services that were initially unmatched.</p>
      <p>Example 5 (Mandatory and preferred services). With reference to Figure 4, imagining that our
methodology is used to lift-and-shift an on-premises solution that already used GeoServer to
AWS, GeoServer could be tagged with the property (Mandatory, True) since clients already have
experience with it (and not with alternative engines such as GoogleEarth). Also, since S3 is
cheaper than other storage services (such as EBS and EFS), S3 could be tagged with the property
(Preferred, True).</p>
      <p>Finally, this step supports the recognition of design patterns, detailed in the extended version
[5], to ensure that the data platforms adhere to best practices and maintain a high standard
maintainability.</p>
      <p>Optimizing the Blueprint We use the minimization of the number of services as an objective
function since this indicator correlates with both cost minimization and management simplicity.</p>
      <p>More formally, given a matched graph  = (, , , ), the selection of the optimal
blueprint can be modeled as a linear programming problem inspired by the standard facility
location problem. Services are mapped to the potential locations while DFD nodes are mapped
to the demand points.</p>
      <p>
        The formulation in Figure 5 reads as follows. (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) The optimization function minimizes
the weighted sum of the selected services. Weights  specify preferences for services ,
we set  = 0.5 if (Preferred, True) ∈ (), 1.0 otherwise. (
        <xref ref-type="bibr" rid="ref2">2</xref>
        )  are binary variables
modeling services.  = 1 if the service is selected, 0 otherwise. (
        <xref ref-type="bibr" rid="ref3">3</xref>
        )  are binary variables
modeling the services implementing DFD processes and repositories.  = 1 if  ∈  s.t.
() ∈ {Repository, Process} is implemented by  ∈  s.t. ( ) = Service. (
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
Binding variables  and  : service  is selected if it implements ( = 1) a DFD node  ∈ 
s.t. () ∈ {Repository, Process}. (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) Coverage constraints: every repository and process
must be implemented by exactly one service. (
        <xref ref-type="bibr" rid="ref6">6</xref>
        ) Dependency constraints: if a service is selected,
all the services it depends on must be selected. (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) Compatibility constraints: if two services
are incompatible, they cannot be selected to implement two consecutive processes/repositories
linked through a data flow in the DFM. (
        <xref ref-type="bibr" rid="ref8">8</xref>
        ) Mandatory constraints: if an implementation
is mandatory and tagged with the property (Mandatory, True),  is set to 1. (
        <xref ref-type="bibr" rid="ref9">9</xref>
        ) Afinity
constraints: if the service ℎ is selected and has afinity with another service  , then  is
selected too.
      </p>
      <p>Example 6 (Optimization). Given the matched graph from Figure 4, the optimal blueprint of
the data platform is represented by the services highlighted in bold (with a cost of 7.5), namely
Kinesis, Lambda, RDS, EC2, SageMaker, GeoServer, S3 (tagged as preferred), and Redshift.
GeoServer has been selected since it is the only available implementation for Raw Images, EC2
and S3 have been selected since they are required by GeoServer. SageMaker has been selected
and preferred to EMR and Glue since three DFD processes can be implemented on it.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Evaluation</title>
      <sec id="sec-5-1">
        <title>For the exhaustive evaluation and implementation, refer to [5].</title>
        <p>Validation with real use cases We applied our approach to two real companies: one of the
largest Italian consulting firms specialized in data analysis and cloud data platforms and an
international company leading in the production of smart and digitalized sports equipment. We
(i) asked their experts for two use cases of data platforms, (ii) generated a blueprint for each use
case, and (iii) asked the experts to evaluate and compare our blueprints against the ones they
implemented.</p>
        <p>Blueprints efectiveness. The blueprints returned by our system are compatible with the
ones actually adopted by the companies and their overlap is 85%. Although the blueprints
are not perfectly overlapping, experts claim that our blueprints are correct from a technical
and technological point of view. However, what could be improved in our approach is the
integration of more organizational, political, or even familiarity constraints that could bias the
service selection.</p>
        <p>Methodology efectiveness. The requirement analysis was smooth and the staf from the two
companies had no problem describing the data-processes and answering questions needed for
tagging. Both companies acknowledged that selecting services for a project is highly complex
and that staying up to date about service provider oferings requires considerable time and
efort. Overall the experts were enthusiastic about the approach and highlighted the following
strengths: (i) it can support and train young designers for the creation of blueprints, (ii) it can
remove bias in the selection of services, and (iii) it is an objective approach to compare diferent
blueprints.</p>
        <p>Eficiency We test how our approach scales up to bigger cloud ecosystems and data pipelines
by implementing synthetic DFDs with increasing nodes | | that share a service ecosystem of
200 services and we ensure that every node in the DFD is implemented by at least one service.
With | | = 250 the total computational time is 7.76 seconds, of which 7.23 for match and
0.53 for selection. Matching could be improved by further optimizing its implementation on
GraphDB.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>6. Related Work</title>
      <p>Understanding which “building blocks” should be part of a data platform is nontrivial. NIST
designed the Big Data Reference Architecture [2] which comprised vendor-, technology- and
infrastructure-independent logical functional components that are necessary for managing and
processing big data (data provider, data consumer, system orchestrator, big data application
provider, and big data framework provider). Lambda [3] is an architecture designed to handle
massive quantities of data by taking advantage of both batch and stream-processing methods.
Kappa [4] overcomes some limitations (e.g., “redundant” batch and streaming implementations)
of Lambda by using a pure streaming approach with a single code base. While these architectures
define functional components necessary for (big) data platforms, they are abstract and do not
address the problem of selecting the optimal services necessary for deploying working data
platforms.</p>
      <p>Cloud service providers such as Amazon [11], Google [12], and Microsoft [13] provide
ecosystems of independent and interoperable services. While ecosystems enable easy deployment of
data pipelines, choosing the optimal services is hard: (i) each provider ofers diferent services,
(ii) a shared categorization and organization of services is missing, and (iii) it is hard for the
users to understand which services are needed based on their data-driven processes [14]. Some
multi-objective optimization techniques have been proposed, where users express requirements
and preferences (e.g., minimal QoS) about single services [15, 16, 17], cloud deployment
models (public and private) [18], and service providers [19, 20]. Finally, domain languages and
ontologies have been introduced (e.g., [21]) to enable some service composition (e.g., [22]).</p>
    </sec>
    <sec id="sec-7">
      <title>7. Conclusion and Future Works</title>
      <p>In this paper, we have discussed a methodology to aid designers in selecting the optimal services
(out of a service ecosystem) supporting data-driven processes from multiple stakeholders (e.g.,
partners in a research project), and we have addressed such selection as a facility location
optimization problem. Our approach can match and select single services as well as design
patterns (e.g., Lakehouse to replace both data lakes and warehouses), it supports additional
constraints (e.g., mandatory and afinity), and the produced blueprints have been successfully
compared with the ones recommended by expert designers.</p>
      <p>We believe that the expressiveness of the approach can still be improved as follows.
Expressiveness: introduce more advanced constraints to support organizational and political factors
in the design of the blueprints. Resource provisioning: additionally to selecting the services, a
complete approach should also consider how many instances of a service are required (to do so,
a cost model should be studied). Metadata integration: while catalog and meta-data management
services do not directly introduce functionalities for data transformation and exploitation, the
design should also recommend services helping in the management of the platform itself [23].</p>
    </sec>
    <sec id="sec-8">
      <title>Declaration on Generative AI</title>
      <sec id="sec-8-1">
        <title>The authors have not employed any Generative AI tools.</title>
        <p>[12] Google cloud platform, https://cloud.google.com/, 2024. Accessed 2024-07-26.
[13] Microsoft azure, https://azure.microsoft.com/en-us, 2024. Accessed 2024-07-26.
[14] L. Sun, H. Dong, F. K. Hussain, O. K. Hussain, E. Chang, Cloud service selection:
Stateof-the-art and future research directions, J. Netw. Comput. Appl. 45 (2014) 134–150.
doi:10.1016/J.JNCA.2014.07.019.
[15] E. Cavalcante, F. Lopes, T. V. Batista, N. Cacho, F. C. Delicato, P. F. Pires, Cloud integrator:
Building value-added services on the cloud, in: NCCA, IEEE, Toulouse, France, 2011, pp.
135–142. doi:10.1109/NCCA.2011.29.
[16] M. H. Nejat, H. Motameni, H. Vahdat-Nejad, B. Barzegar, Eficient cloud service ranking
based on uncertain user requirements, Clust. Comput. 25 (2022) 485–502. doi:10.1007/
S10586-021-03418-W.
[17] L. Lu, Y. Yuan, A novel TOPSIS evaluation scheme for cloud service trustworthiness
combining objective and subjective aspects, J. Syst. Softw. 143 (2018) 71–86. doi:10.1016/
J.JSS.2018.05.004.
[18] R. Garg, Mcdm-based parametric selection of cloud deployment models for an academic
organization, IEEE Trans. Cloud Comput. 10 (2022) 863–871. doi:10.1109/TCC.2020.
2980534.
[19] M. B. Kar, R. Krishankumar, D. Pamucar, S. Kar, A decision framework with nonlinear
preferences and unknown weight information for cloud vendor selection, Expert Syst.</p>
        <p>Appl. 213 (2023) 118982. doi:10.1016/J.ESWA.2022.118982.
[20] A. Tomar, R. R. Kumar, I. Gupta, Decision making for cloud service selection: a
novel and hybrid MCDM approach, Clust. Comput. 26 (2023) 3869–3887. doi:10.1007/
S10586-022-03793-Y.
[21] M. Noura, M. Gaedke, Wotdl: Web of things description language for automatic
composition, in: Int. Conf. on Web Intelligence, ACM, Thessaloniki, Greece, 2019, pp. 413–417.
doi:10.1145/3350546.3352558.
[22] H. B. Mahfoudh, A. Caselli, G. D. M. Serugendo, Learning-based coordination model for
on-the-fly self-composing services using semantic matching, J. Sens. Actuator Networks
10 (2021) 5. doi:10.3390/JSAN10010005.
[23] M. Francia, E. Gallinucci, M. Golfarelli, A. G. Leoni, S. Rizzi, N. Santolini, Making data
platforms smarter with MOSES, Future Generation Computer Systems 125 (2021) 299–313.
doi:10.1016/j.future.2021.06.031.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Zaharia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ghodsi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Xin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Armbrust</surname>
          </string-name>
          ,
          <article-title>Lakehouse: A new generation of open platforms that unify data warehousing and advanced analytics, in: CIDR, www</article-title>
          .cidrdb.org,
          <year>2021</year>
          , p.
          <fpage>8</fpage>
          . URL: http://cidrdb.org/cidr2021/papers/cidr2021_paper17.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>W.</given-names>
            <surname>Chang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Grady</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.-P. NIST</surname>
          </string-name>
          ,
          <article-title>NIST big data interoperability framework: Volume 2</article-title>
          ,
          <source>big data taxonomies [version 2]</source>
          ,
          <year>2018</year>
          . doi:https://doi.org/10.6028/NIST.SP.
          <fpage>1500</fpage>
          -
          <lpage>2r1</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kiran</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Murphy</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Monga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Dugan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. S.</given-names>
            <surname>Baveja</surname>
          </string-name>
          ,
          <article-title>Lambda architecture for cost-efective batch and speed big data processing</article-title>
          , in: BigData, IEEE, Santa Clara, CA, USA,
          <year>2015</year>
          , pp.
          <fpage>2785</fpage>
          -
          <lpage>2792</lpage>
          . doi:
          <volume>10</volume>
          .1109/BIGDATA.
          <year>2015</year>
          .
          <volume>7364082</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>J.</given-names>
            <surname>Kreps</surname>
          </string-name>
          ,
          <source>Questioning the Lambda Architecture</source>
          , volume
          <volume>2</volume>
          ,
          <string-name>
            <given-names>O</given-names>
            <surname>'Reilly</surname>
          </string-name>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Francia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Golfarelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Pasini</surname>
          </string-name>
          ,
          <article-title>Process-driven design of cloud data platforms</article-title>
          ,
          <source>Information Systems</source>
          (
          <year>2025</year>
          )
          <fpage>102527</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>T. DeMarco</surname>
          </string-name>
          ,
          <source>Structured Analysis and System Specification</source>
          , Yourdon press,
          <year>1978</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <article-title>[7] Earth observation guide</article-title>
          , https://business.esa.
          <article-title>int/newcomers-earth-observation-</article-title>
          <string-name>
            <surname>guide</surname>
          </string-name>
          ,
          <year>2020</year>
          . Accessed 2024-
          <volume>07</volume>
          -26.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <surname>Agritech</surname>
          </string-name>
          , https://agritechcenter.it/,
          <source>2024. Accessed</source>
          <year>2024</year>
          -
          <volume>07</volume>
          -26.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Francia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Giovanelli</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Golfarelli, Multi-sensor profiling for precision soil-moisture monitoring</article-title>
          ,
          <source>Computers and Electronics in Agriculture</source>
          <volume>197</volume>
          (
          <year>2022</year>
          )
          <article-title>106924</article-title>
          . doi:
          <volume>10</volume>
          .1016/j. compag.
          <year>2022</year>
          .
          <volume>106924</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>E.</given-names>
            <surname>Baldi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Quartieri</surname>
          </string-name>
          , G. Larocca,
          <string-name>
            <given-names>M.</given-names>
            <surname>Golfarelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Francia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Giovanelli</surname>
          </string-name>
          , E. Xylogiannis,
          <string-name>
            <given-names>M.</given-names>
            <surname>Toselli</surname>
          </string-name>
          ,
          <article-title>Smart irrigation system for precision water management: efect on yield and fruit quality of yellow fleshed kiwifruit in northern italy</article-title>
          , in: ECPA, Wageningen Academic Publishers,
          <year>2023</year>
          , pp.
          <fpage>59</fpage>
          -
          <lpage>66</lpage>
          . doi:
          <volume>10</volume>
          .3920/
          <fpage>978</fpage>
          -90-8686-947-
          <issue>3</issue>
          _
          <fpage>5</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11] Amazon web services, https://aws.amazon.com/,
          <source>2024. Accessed</source>
          <year>2024</year>
          -
          <volume>07</volume>
          -26.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>