The Serverless experience is revolutionary and will grow to dominate the future of Cloud Computing. Function-as-a-Service (FaaS) is, however—with its ephemeral, stateless, and short-lived functions—is only the first step. FaaS is great for processing intensive, parallelizable workloads, moving data from A to B providing enrichment and transformation along the way. But it is quite limited and constrained in what use-cases it addresses well, which makes it very hard/inefficient to implement general-purpose application development and distributed systems protocols.
What’s needed is a next-generation Serverless platform and programming model for general-purpose application development—e.g. Fast Data, Reactive Microservices, Streaming Pipelines, ML, etc. What is missing is support for long-lived virtual stateful services, a way to manage distributed state in a scalable and available fashion, ways to physically co-locate data and processing, and options for choosing the right data consistency model for the job.
This talk will discuss the challenges, requirements, and a proposed solution implementing Stateful Serverless with Knative, gRPC, and Akka.