Abstract
In the serverless model, users upload application code to a cloud platform and the cloud provider undertakes the deployment, execution and scaling of the application, relieving users from all operational aspects. Although very popular, current serverless offerings offer poor support for the management of local application state, the main reason being that managing state and keeping it consistent at large scale is very challenging. As a result, the serverless model is inadequate for executing stateful, latency-sensitive applications. In this paper we present a high-level programming model for developing stateful functions and deploying them in the cloud. Our programming model allows functions to retain state as well as call other functions. In order to deploy stateful functions in a cloud infrastructure, we translate functions and their data exchanges into a stateful dataflow graph. With this paper we aim at demonstrating that using a modified version of an open-source dataflow engine as a runtime for stateful functions, we can deploy scalable and stateful services in the cloud with surprisingly low latency and high throughput.
- P. A. Bernstein and S. Bykov. Developing cloud services using the orleans virtual actor model. IEEE Internet Computing, 20(5), 2016. Google ScholarDigital Library
- P. Carbone, S. Ewen, G. Fóra, S. Haridi, S. Richter, and K. Tzoumas. State management in Apache Flink®: consistent stateful distributed stream processing. PVLDB, 10(12):1718--1729, 2017. Google ScholarDigital Library
- P. Carbone, A. Katsifodimos, S. Ewen, V. Markl, S. Haridi, and K. Tzoumas. Apache Flink®: Stream and Batch Processing in a Single Engine. IEEE Data Engineering Bulletin, 38, 2015.Google Scholar
- B. Chandramouli, G. Prasaad, D. Kossmann, J. J. Levandoski, J. Hunter, and M. Barnett. FASTER: A concurrent key-value store with in-place updates. In ACM SIGMOD, 2018. Google ScholarDigital Library
- R. C. Fernandez, M. Migliavacca, E. Kalyvianaki, and P. Pietzuch. Making state explicit for imperative big data processing. In USENIX ATC, 2014. Google ScholarDigital Library
- J. M. Hellerstein, J. M. Faleiro, J. E. Gonzalez, J. Schleier-Smith, V. Sreekanti, A. Tumanov, and C. Wu. Serverless computing: One step forward, two steps back. In CIDR '19, 2019.Google Scholar
- E. Jonas, J. Schleier-Smith, V. Sreekanti, C.-C. Tsai, A. Khandelwal, Q. Pu, V. Shankar, J. Carreira, K. Krauth, N. Yadwadkar, J. E. Gonzalez, R. A. Popa, I. Stoica, and D. A. Patterson. Cloud programming simplified: A berkeley view on serverless computing, 2019.Google Scholar
- A. Katsifodimos and M. Fragkoulis. Operational stream processing: Towards scalable and consistent event-driven applications. In EDBT. ACM, 2019.Google Scholar
- J. Meehan, N. Tatbul, S. Zdonik, C. Aslantas, U. Cetintemel, J. Du, T. Kraska, S. Madden, D. Maier, A. Pavlo, et al. S-store: streaming meets transaction processing. PVLDB, 8(13):2134--2145, 2015. Google ScholarDigital Library
- M. Saey, J. De Koster, and W. De Meuter. Skitter: A dsl for distributed reactive workflows. In ACM SIGPLAN Workshop on Reactive and Event-Based Languages and Systems, 2018. Google ScholarDigital Library
- V. Shah and M. A. Vaz Salles. Reactors: A case for predictable, virtualized actor database systems. In ACM SIGMOD, 2018. Google ScholarDigital Library
- L. Wang, M. Li, Y. Zhang, T. Ristenpart, and M. Swift. Peeking behind the curtains of serverless platforms. In USENIX ATC '18, 2018. Google ScholarDigital Library
Index Terms
- Stateful functions as a service in action
Recommendations
Distributed transactions on serverless stateful functions
DEBS '21: Proceedings of the 15th ACM International Conference on Distributed and Event-based SystemsServerless computing is currently the fastest-growing cloud services segment. The most prominent serverless offering is Function-as-a-Service (FaaS), where users write functions and the cloud automates deployment, maintenance, and scalability. Although ...
Cloud service engineering
ICSE '10: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2Building on compute and storage virtualization, Cloud Computing provides scalable, network-centric, abstracted IT infrastructure, platforms, and applications as on-demand services that are billed by consumption. Cloud Service Engineering is the ...
Transactions across serverless functions leveraging stateful dataflows
AbstractServerless computing is currently the fastest-growing cloud services segment. The most prominent serverless offering is Function-as-a-Service (FaaS), where users write functions and the cloud automates deployment, maintenance, and ...
Highlights- Dataflow systems can serve as execution engines for cloud applications.
- ...
Comments