Stateful Functions brings together the benefits of stream processing with Apache Flink® and Function-as-a-Service (FaaS) to provide a powerful abstraction for the next generation of event-driven architectures.
Ververica, the original creators of Apache Flink, today announced at Flink Forward Europe the launch of Stateful Functions (statefun.io), an open source framework that reduces the complexity of building and orchestrating stateful applications at scale. Stateful Functions enables users to define loosely coupled, independent functions with a low footprint that can interact consistently and reliably in a shared pool of resources. Ververica will propose the project, licensed under Apache 2.0, to the Apache Flink community as an open source contribution.
Even though 50% of service-oriented organizations are expected to have adopted event-driven architectures by 20201, handling state in context-sensitive applications is still listed as one of the most significant operational challenges for developers2.
“Orchestration for stateless compute has come a long way, driven by technologies like Kubernetes and FaaS — but most offerings still fall short for stateful distributed applications. Handling state consistently and interacting reliably between services poses significant challenges to the overall ease of development" said Stephan Ewen, co-founder and CTO at Ververica. "Stateful Functions is a big step towards addressing those shortcomings, bringing the seamless state management and consistency from modern stream processing to the space."
How It Works
Stateful Functions is designed as a simple, yet powerful abstraction based on functions with persistent (and fault tolerant) state that can 1) interact with each other asynchronously and 2) be composed into more complex networks of functionality.
This approach eliminates the need to provision additional infrastructure for application state management (e.g. key-value stores, message brokers), reducing operational overhead and overall system complexity. Another benefit of the core abstraction is that functions don’t have a constant resource footprint (i.e. no idle time) — an invaluable commodity as consumption-based pricing models become the norm.
The framework targets common use cases that are inherently hard due to being inherently stateful, such as:
● Asynchronous application processes (e.g. checkout, payment, logistics)
● Heterogeneous, load-varying event stream pipelines (e.g. IoT event rule pipelines)
● Real-time context and statistics (e.g. ML feature assembly, recommenders)
Ververica will continue to work on improvements to establish and amplify the value of Stateful Functions, such as support for non-JVM languages, fine-grained observability and stricter recovery times. To learn more about Stateful Functions and how to contribute, visit the project website at statefun.io.
Ververica was founded by the original creators of Apache Flink® with the mission of enabling business in real-time. It provides Ververica Platform, a turnkey solution that operationalizes years of experience working with Flink users to accelerate the journey of enterprises to stream processing adoption. For more information, visit www.ververica.com.
"Apache", "Apache Flink", and their logos are registered trademarks or trademarks of The Apache Software Foundation in the U.S. and/or other countries.
1 The Impact of Event-Driven IT on API Management. Gartner, 2018.
2 A mixed-method empirical study of Function-as-a-Service software development in industrial practice. Philipp Leitner, Erik Wittern, Josef Spillner, Waldemar Hummer. Journal of Systems and Software, Volume 149, 2019.