You are viewing content from a past/completed QCon

Presentation: Cloudstate—Towards Stateful Serverless

Track: Modern CS in the Real World

Location: Whittle, 3rd flr.

Duration: 2:55pm - 3:45pm

Day of week: Monday

Slides: Download Slides

Share this on:

What You’ll Learn

  1. Hear about Cloudstate’s reference implementation of application state for serverless.
  2. Learn about the importance of implementing a reactive solution for serverless state.

Abstract

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.

Question: 

What is the work that you're doing today?

Answer: 

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.

I'm also looking at different cutting edge ways that we could change the way that we're doing computing. One example, things like transactionality, things that we lost when we lost the monolith and we went to microservices. I've been experimenting with things like that, and I just think there's interesting things that are cutting edge that will be the way forward.

Question: 

What are your goals for the talk?

Answer: 

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.

Question: 

What are your goals for Cloudstate?

Answer: 

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.

Services need to be distributed. Domain Driven Design says that you can't build one big monolith, even if you can, it's not the right way to do it. If you need orders, you need customers, all those things should have their own behavior, their own deployment schedule, decoupled from each other, yet act together in some way. Asynchronous messages are what binds those things. If it's not reactive, it's not possible to build a stateful serverless environment.

Speaker: 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 microservice integration that have since become standards, formalizing them in his book Reactive Application Development, published by Manning. Prior to joining Lightbend, he founded a consulting company to evangelize, architect, and implement reactive technologies at major enterprises around the world. This included leading the successful digital transformation of Weight Watchers.

Find Sean Walsh at

Last Year's Tracks