You are viewing content from a past/completed QCon -


Cloudstate—Towards Stateful Serverless

Serverless experience is revolutionary and will grow to dominate the future of Cloud. Function-as-a-Service (FaaS) 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 in the new world of real-time data and event-driven systems. What is missing is ways to manage distributed state in a scalable and available fashion, support for long-lived virtual stateful services, 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 introduce you to our proposed solution: Cloudstate—an Open Source project building the next generation Stateful Serverless and leveraging state models such as Event Sourcing, CQRS, and CRDTs, running on Akka, gRPC, Knative, Kubernetes, and GraalVM, in a polyglot fashion with support for Go, JavaScript, Java, Swift, Scala, Python, Kotlin, and more.

What is the work that you're doing today?

Cloudstate is Lightbend's cloud initiative, a very high priority for our company. I've been in the role of field CTO helping our customers adopt Lightbend's open source. For the last over three years, I've been Field CTO and now cloud platform evangelist as well. I'm the guy that is out there showing people how to use these things, applying it to interesting use cases, things you couldn't do in the past, like let's create a Spring application app, but have it be completely reactive and use Akka actors underneath the covers. It's a little bit of a different mindshift that I'm representing it, blogging it, hopefully working with other communities to open all our minds on how to build things.

What are your goals for the talk?

The talk is really about easing the construction of distributed applications using tried and true methods, tried and true open source that's fully tested. In this case, it's a reference implementation and includes Akka. It's about providing abstractions, but it's also about providing certain constraints that are helpful rather than actually truly constrain you. Certain constraints, in this case for stateful serverless or what I would like to call Opsless, actually free you and make it possible to be truly Opsless and to have a distributed application that would have taken experts to build will just allow normal developers to build these things and have a good time doing it.

What are your goals for Cloudstate?

Cloudstate is a revolution implementation of a standard that we say is really the only way to build distributed applications correctly, the only way that you can deploy something safely to the cloud. We will we'll come out and say it, there is no other way that you could build this unless you're fully reactive, which is the underpinning of Cloudstate, fully reactive, meaning it's elastic by nature, it's resilient, it's responsive, message driven.


Sean Walsh

Field CTO @Lightbend

Sean Walsh is Field CTO at Lightbend, and a 20 year veteran of IT and has previously held various leadership roles in the tech industry. Sean is a distributed systems expert and has applied this expertise in the energy, financial and wellness industries, among others. Sean pioneered patterns for...

Read more


Whittle, 3rd flr.


Modern CS in the Real World


ServerlessScalabilityArchitectureFaaSInterview Available


From the same track

SESSION + Live Q&A Database Design

Infinite Parallel Universes: State at the Edge

Databases and other systems of state often rely on abstractions that break down at large physical scale. In this talk I'll describe the problems with some of these traditional assumptions, and suggest better approaches for effectively managing data in geographically large networks. With...

Peter Bourgon

Principal Engineer @fastly

SESSION + Live Q&A Debugging

Record, Replay, Rinse, & Repeat: Easily Rebuilding Programmatic State

Join this talk to learn about the various implementations of record and replay systems that can be used to debug software applications. The talk begins with a discussion of the current state of the art, from both academia and the real world. We then provide an overview of the pros and cons,...

Greg Law

Co-founder & CTO @undo_io

SESSION + Live Q&A Apache Kafka

Kafka: a Modern Distributed System

You may have heard that Apache Kafka plays a central role in modern event-driven architectures. It lies at the heart of successful microservices implementations -- its loyal following is well versed in Kafka's key APIs: the Producer and Consumer, Kafka Streams, and maybe even KSQL. But have...

Tim Berglund

Senior Director of Developer Experience @Confluent

SESSION + Live Q&A Silicon Valley

Applying AI/ML for Trusted Commerce Connections @Facebook Marketplace

Facebook Marketplace is aimed at making buying and selling seamless for people locally within their communities and open up economic opportunity through social commerce. Given that Trust is a key driver of consumer decisions in Commerce, it is important for Facebook to build trust amongst buyers...

Liza Fireman

Engineering Manager @Facebook Marketplace Trust & Safety

SESSION + Live Q&A Interview Available

Coccinelle: 10 Years of Automated Evolution in the Linux Kernel

Over the last 10+ years, we have been developing the Coccinelle C-program matching and transformation tool. Coccinelle allows developers to match and transform C code via a generalization of the familiar patch syntax. As Coccinelle is independent of the C preprocessor, Coccinelle rules can be...

Julia Lawall

Senior Researcher @Inria

View full Schedule