of things (static versus mobile), forms of interac-
tions (vertical versus horizontal), and properties of
resources that are consumed (limited versus limited-
but-renewable versus non-shareable). In this pa-
per, we identify and afterwards formalize the nec-
essary steps and mechanisms that would first, con-
firm the binding of things/edges/clouds as stakehold-
ers to microservices and second, allow these stake-
holders to collaborate together, should they run into
any obstacles that these constraints and characteristics
could cause. We package the steps and mechanisms
into contracts and track their satisfaction through a
set of non-functional properties forming what the
ICT community refers to as Quality-of-Service (QoS)
model (Menasc
´
e, 2002).
The adoption of contracts is commonly reported
in the ICT literature as per the survey paper (Marino
et al., 2019). However, to the best of our knowl-
edge, little exists when it comes to first, identify-
ing contracts in the context of microservices, things,
and edge/cloud platforms and second, defining con-
tracts’ types, lifecycles, and adjustments, should the
QoS non-functional properties become unsatisfied.
To address this gap, we proceed with (i) defining con-
tracts to regulate microservices’ deployment and exe-
cution, (ii) identifying types of contracts to ensure the
success of this deployment and execution, (iii) spec-
ifying lifecycles of and dependencies between con-
tracts, and, finally, (iv) demonstrating contract man-
agement through a system. The rest of this paper is
organized as follows. Related work is discussed in
Section 2. Section 3 presents our microservices’ de-
ployment and execution approach that is referred to as
choreOrchest mixing choreography and orchestration
to achieve this deployment and execution. Section 4
examines contracts in terms of types, clauses, and
lifecycles. Section 5 discusses the system that was
implemented and the results obtained out of the ex-
periments. Finally, Section 6 concludes and points out
some future work.
2 RELATED WORK
To the best of our knowledge, there are not dedicated
works that examine contracts and their complete life-
cycles in an ecosystem of microservices, IoT, cloud,
and edge. To address this gap, we discuss some works
that adopt contracts for multiple purposes like moni-
toring, regulation, and security.
Balint and Truong propose a contract-aware
IoT framework to manage and monitor IoT data mar-
ketplaces in (Balint and Truong, 2017). Contracts re-
fer to data rights (e.g., derivation and reproduction),
quality of data (e.g., completeness and conformity),
pricing model (e.g., charges and subscription period),
purchasing policy (e.g., contract termination and re-
fund) and control (e.g., warranty and indemnity).
Contracts are established between customers (either
persons or software) and things’ providers. Both
providers and customers engage in contract negotia-
tion to specify contractual terms when purchasing or
selling data. To address the scalability of data mar-
ketplaces, the framework is designed as a microser-
vices architecture allowing each service to scale with-
out disrupting other services in the framework.
Longo et al. discuss the importance of pub-
lic contracts to regulate the management of pub-
lic services such as data services in (Longo et al.,
2019). The authors note that the rapid and con-
tinued change of these services’ requirements and
expectations, is making contracts “obsolete” calling
for their regular adjustment. To keep the contracts
up-to-date, Longo et al. propose a cloud-based ap-
proach for assessing the QoS of local Transporta-
tion Services (TS) in Apulia Region (Southern Italy).
SLA between TS providers and the Regional Au-
thority, as well as the minimal guaranteed QoS lev-
els between TS providers and passengers, are mod-
eled as contracts enacted via a cloud-based system,
which gathers data from sensors embedded into pas-
sengers’ smartphones. As a result, changes in con-
tracts’ conditions to improve the perceived and deliv-
ered QoS have been quick and facilitated based on
collected data.
Pan et al. report about first, the security and scala-
bility challenges that IoT is facing because of the lim-
ited capabilities of IoT devices and second, the role
that edge could have in helping IoT tackle these chal-
lenges in (Pan et al., 2019). The authors designed and
prototyped an edge-based IoT framework, EdgeChain,
that capitalizes on blockchain and smart contract tech-
nologies. EdgeChain uses a credit-based resource
management system to control how much edge re-
sources are made available for IoT devices with re-
spect to predefined policies that consider priority, ap-
plication types, and past behaviors. To enforce these
policies, smart contracts regulate IoT devices’ behav-
iors in a non-deniable and automated manner. In ad-
dition, all IoT devices’ activities and transactions are
recorded using blockchain for secure data logging and
auditing. As a result, contracts permit carrying out
trusted transactions.
Singh et al. propose a Service Level Agree-
ment (SLA)-aware autonomic Technique for Allo-
cation of Resources (STAR) given that current re-
source management solutions may not provision ef-
ficient services for cloud nodes and may end-up vio-
Multi-party Contract Management for Microservices
277