Lightbend has launched a new open-source serverless framework to take on the next generation of serverless. CloudState aims to go beyond the normal stateless functions most serverless initiatives take on today.
RELATED CONTENT: Rethinking the way you build software with serverless
According to Jonas Bonér, CTO at Lightbend, today’s current serverless movement focuses a lot on automation and infrastructure, but neglects requirements at the application layer. This is because data, streaming and event-driven stateful architectures can be challenging, he explained.
“The next generation serverless platform and programming model will take a more holistic grip on the whole system, end-to-end, and allow general-purpose application development—e.g. microservices, fast data, streaming pipelines, AI/ML, etc. It will let us implement common use-cases such as: shopping carts, user sessions, transactions, ML model training serving, low-latency prediction and recommendation serving, anomaly detection, job scheduling, and much more,” Bonér told SD Times. “What we are missing is support for long-lived virtual stateful functions, a way to manage distributed—durable and ephemeral—state in a scalable and available fashion, ways to co-locate processing and data, and options for choosing the right consistency model for the job.”
Serverless is also often thought of as function as a service (FaaS). While FaaS is a part of serverless, serverless is really about bringing developers and operations teams new experiences by taking away infrastructure provisioning concerns, Bonér said.
“It’s no question that FaaS has been ground-breaking, but it is with its ephemeral, stateless, and short-lived functions, only the first step towards this new Serverless Developer Experience. Stateless functions are great for processing intensive, parallelizable workloads, moving data from A to B providing enrichment and transformation along the way, but are quite limited and constrained in what use-cases it addresses well, which makes it difficult and inefficient to implement complete general-purpose applications,” said Bonér. “CloudState enables to build any application in this new experience, not just specific use-cases. And the missing piece is ways to manage distributed state—your data—reliably, at scale.”
According to the CloudState team, it was designed for event-driven architecture, event sourcing, CQRS, cluster sharding, co-location of data and processing, and other common distributed patterns. The project tackles stateful use cases such as training and serving machine learning models; low-latency real-time prediction and recommendation serving, fraud detection and anomaly detection; and shared collaborative workspaces.
The open-source project consists of two parts:
A standards effort that will work towards defining a specification, and protocol between use functions and the backend
A reference implementation for the backend and set of client API libraries in different language
“CloudState takes away the data access as a responsibility for the application developer and in return offers a clean domain state API so that services can be business code focused,” said Bonér.