Stateful Entities: Object-oriented Cloud Applications as Distributed Dataflows

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Psarakis, Kyriakos, Zorgdrager, Wouter, Fragkoulis, Marios, Salvaneschi, Guido, Katsifodimos, Asterios
Format: Preprint
Veröffentlicht: 2021
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866909478807404544
author Psarakis, Kyriakos
Zorgdrager, Wouter
Fragkoulis, Marios
Salvaneschi, Guido
Katsifodimos, Asterios
author_facet Psarakis, Kyriakos
Zorgdrager, Wouter
Fragkoulis, Marios
Salvaneschi, Guido
Katsifodimos, Asterios
contents Although the cloud has reached a state of robustness, the burden of using its resources falls on the shoulders of programmers who struggle to keep up with ever-growing cloud infrastructure services and abstractions. As a result, state management, scaling, operation, and failure management of scalable cloud applications, require disproportionately more effort than developing the applications' actual business logic. Our vision aims to raise the abstraction level for programming scalable cloud applications by compiling stateful entities -- a programming model enabling imperative transactional programs authored in Python -- into stateful streaming dataflows. We propose a compiler pipeline that analyzes the abstract syntax tree of stateful entities and transforms them into an intermediate representation based on stateful dataflow graphs. It then compiles that intermediate representation into different dataflow engines, leveraging their exactly-once message processing guarantees to prevent state or failure management primitives from "leaking" into the level of the programming model. Preliminary experiments with a proof of concept implementation show that despite program transformation and translation to dataflows, stateful entities can perform at sub-100ms latency even for transactional workloads.
format Preprint
id arxiv_https___arxiv_org_abs_2112_00710
institution arXiv
publishDate 2021
record_format arxiv
spellingShingle Stateful Entities: Object-oriented Cloud Applications as Distributed Dataflows
Psarakis, Kyriakos
Zorgdrager, Wouter
Fragkoulis, Marios
Salvaneschi, Guido
Katsifodimos, Asterios
Distributed, Parallel, and Cluster Computing
Databases
Although the cloud has reached a state of robustness, the burden of using its resources falls on the shoulders of programmers who struggle to keep up with ever-growing cloud infrastructure services and abstractions. As a result, state management, scaling, operation, and failure management of scalable cloud applications, require disproportionately more effort than developing the applications' actual business logic. Our vision aims to raise the abstraction level for programming scalable cloud applications by compiling stateful entities -- a programming model enabling imperative transactional programs authored in Python -- into stateful streaming dataflows. We propose a compiler pipeline that analyzes the abstract syntax tree of stateful entities and transforms them into an intermediate representation based on stateful dataflow graphs. It then compiles that intermediate representation into different dataflow engines, leveraging their exactly-once message processing guarantees to prevent state or failure management primitives from "leaking" into the level of the programming model. Preliminary experiments with a proof of concept implementation show that despite program transformation and translation to dataflows, stateful entities can perform at sub-100ms latency even for transactional workloads.
title Stateful Entities: Object-oriented Cloud Applications as Distributed Dataflows
topic Distributed, Parallel, and Cluster Computing
Databases
url https://arxiv.org/abs/2112.00710