State Management for Cloud-Native Applications

The stateless cloud-native design improves the elasticity and reliability of applications running in the cloud. The design decouples the life-cycle of application states from that of application instances; states are written to and read from cloud databases, and deployed close to the application cod...

Full description

Bibliographic Details
Main Authors: Márk Szalay, Péter Mátray, László Toka
Format: Article
Language:English
Published: MDPI AG 2021-02-01
Series:Electronics
Subjects:
Online Access:https://www.mdpi.com/2079-9292/10/4/423
id doaj-e7e48a0c7ce745dba36773e5b3291a04
record_format Article
spelling doaj-e7e48a0c7ce745dba36773e5b3291a042021-02-10T00:04:00ZengMDPI AGElectronics2079-92922021-02-011042342310.3390/electronics10040423State Management for Cloud-Native ApplicationsMárk Szalay0Péter Mátray1László Toka2MTA-BME Network Softwarization Research Group, Faculty of Electrical Engineering and Informatics, Budapest University of Technology and Economics, 1117 Budapest, HungaryEricsson Research, 1117 Budapest, HungaryMTA-BME Network Softwarization Research Group, Faculty of Electrical Engineering and Informatics, Budapest University of Technology and Economics, 1117 Budapest, HungaryThe stateless cloud-native design improves the elasticity and reliability of applications running in the cloud. The design decouples the life-cycle of application states from that of application instances; states are written to and read from cloud databases, and deployed close to the application code to ensure low latency bounds on state access. However, the scalability of applications brings the well-known limitations of distributed databases, in which the states are stored. In this paper, we propose a full-fledged state layer that supports the stateless cloud application design. In order to minimize the inter-host communication due to state externalization, we propose, on the one hand, a system design jointly with a data placement algorithm that places functions’ states across the hosts of a data center. On the other hand, we design a dynamic replication module that decides the proper number of copies for each state to ensure a sweet spot in short state-access time and low network traffic. We evaluate the proposed methods across realistic scenarios. We show that our solution yields state-access delays close to the optimal, and ensures fast replica placement decisions in large-scale settings.https://www.mdpi.com/2079-9292/10/4/423cloud native network functionsstate externalizationplacement optimizationcloud database design
collection DOAJ
language English
format Article
sources DOAJ
author Márk Szalay
Péter Mátray
László Toka
spellingShingle Márk Szalay
Péter Mátray
László Toka
State Management for Cloud-Native Applications
Electronics
cloud native network functions
state externalization
placement optimization
cloud database design
author_facet Márk Szalay
Péter Mátray
László Toka
author_sort Márk Szalay
title State Management for Cloud-Native Applications
title_short State Management for Cloud-Native Applications
title_full State Management for Cloud-Native Applications
title_fullStr State Management for Cloud-Native Applications
title_full_unstemmed State Management for Cloud-Native Applications
title_sort state management for cloud-native applications
publisher MDPI AG
series Electronics
issn 2079-9292
publishDate 2021-02-01
description The stateless cloud-native design improves the elasticity and reliability of applications running in the cloud. The design decouples the life-cycle of application states from that of application instances; states are written to and read from cloud databases, and deployed close to the application code to ensure low latency bounds on state access. However, the scalability of applications brings the well-known limitations of distributed databases, in which the states are stored. In this paper, we propose a full-fledged state layer that supports the stateless cloud application design. In order to minimize the inter-host communication due to state externalization, we propose, on the one hand, a system design jointly with a data placement algorithm that places functions’ states across the hosts of a data center. On the other hand, we design a dynamic replication module that decides the proper number of copies for each state to ensure a sweet spot in short state-access time and low network traffic. We evaluate the proposed methods across realistic scenarios. We show that our solution yields state-access delays close to the optimal, and ensures fast replica placement decisions in large-scale settings.
topic cloud native network functions
state externalization
placement optimization
cloud database design
url https://www.mdpi.com/2079-9292/10/4/423
work_keys_str_mv AT markszalay statemanagementforcloudnativeapplications
AT petermatray statemanagementforcloudnativeapplications
AT laszlotoka statemanagementforcloudnativeapplications
_version_ 1724275819851808768