cloudstate.io serverless 2.0 with cloudstate Sean Walsh | Field CTO - - PowerPoint PPT Presentation

cloudstate io
SMART_READER_LITE
LIVE PREVIEW

cloudstate.io serverless 2.0 with cloudstate Sean Walsh | Field CTO - - PowerPoint PPT Presentation

cloudstate.io serverless 2.0 with cloudstate Sean Walsh | Field CTO and Cloud Evangelist @ Lightbend We predict that serverless computing will grow to dominate the future of cloud computing. Berkely CS Department why serverless 2.0?


slide-1
SLIDE 1

cloudstate.io

serverless 2.0 with cloudstate

Sean Walsh | Field CTO and Cloud Evangelist @ Lightbend

slide-2
SLIDE 2

–Berkely CS Department

“We predict that serverless computing will grow to dominate the future of cloud computing.”

slide-3
SLIDE 3

why serverless 2.0?

FaaS was a great start and paved the way, but it’s

  • nly the first step

we need serverless to allow coarse-grained, general purpose applications FaaS != serverless

slide-4
SLIDE 4

FaaS

  • embarrassingly parallel processes
  • orchestration
  • stateless web applications
  • job scheduling and orchestration

good for: bad at

  • reasoning about as a holistic application
  • guarantees around responsiveness and resilience
  • general purpose applications
slide-5
SLIDE 5

FaaS

Message In

User Function

Message Out

abstracting over communication

  • works great as long as stateless or embarrassingly

parallel

  • operational concerns handled (GREAT)
slide-6
SLIDE 6

FaaS

Message In

User Function

Deployment

Database

Message Out

slide-7
SLIDE 7

FaaS

the problem? the function is a black box

slide-8
SLIDE 8

state

slide-9
SLIDE 9

serverless 2.0

realtime database access must be removed to allow autonomy and reliability of the functions (guarantees are not possible if we pass in the entire database to a function, or allowed unbridled reads)

slide-10
SLIDE 10

FaaS

abstracting over communication

Message In

User Function

Deployment

Message Out

slide-11
SLIDE 11

stateful serverless

abstracting over state

Message In

User Function

Deployment

Message Out State In State Out

slide-12
SLIDE 12

enter…

slide-13
SLIDE 13

what is cloudstate?

cloudstate is a distributed, clustered and stateful cloud runtime, providing a zero-ops experience, with polyglot client support (essentially serverless 2.0)

slide-14
SLIDE 14

cloudstate

CLOUDSTATE IS OPEN SOURCE, UTILIZING BEST OF BREED TECHNOLOGIES, HARNESSING ALL THEIR POWER, WHILE REMOVING ALL THEIR COMPLEXITY

slide-15
SLIDE 15

cloudstate

  • complexities of distributed systems
  • managing state, databases, service meshes
  • message routing, failover, recovery
  • running and operationalizing applications

don’t worry about:

slide-16
SLIDE 16

cloudstate

  • polyglot:python, java, spring, go, rust, javascript, .net,

swift, scala and more…

  • powerful state models: event sourcing, CQRS, key/value, CRUD,

CRDTs

  • polydb: SQL, NoSQL, NewSQL, in-memory
  • leverages akka, gRPC, knative, GraalVM, running on kubernetes

technical highlights:

slide-17
SLIDE 17

–Timothy Keller

“freedom is not so much the absence of restrictions as finding the right ones, the liberating restrictions.”

slide-18
SLIDE 18
  • ne very important constraint

event sourcing

slide-19
SLIDE 19

benefits of event sourcing

  • single source of truth with full

history

  • allows for memory image (durable in-

memory state)

  • avoids object-relational mismatch
  • allows subscription to state changes
  • mechanical sympathy (single writer

principle)

slide-20
SLIDE 20

cloudstate: event sourcing

Command In

User Function/entity

Deployment

Reply Out Event Log In Events OUt

slide-21
SLIDE 21

event sourced functions (entities)

Command Event

Event Log

Event

Happy Path

Command

slide-22
SLIDE 22

event sourced functions (entities)

Event Log

REPLAY EventS

SAD Path, RECOVER FROM FAILURE

Command

slide-23
SLIDE 23

(and yeah you can still do CRUD)

Message In

User Function/entity

Deployment

Message Out Snapshot In (By Entity KEy) Snapshot out (By Entity Key)

slide-24
SLIDE 24 Kubernetes Pod Kubernetes Pod Kubernetes Pod

Cloudstate Proxy (Akka Sidecar) User Function

(JavaScript, Go, Java,…)

User Function

(JavaScript, Go, Java,…)

User Function

(JavaScript, Go, Java,…)

Datastore

(Cassandra, Postgres, Spanner,…)

gRPC

slide-25
SLIDE 25

cloudstate architecture

Kubernetes Pod

User Function

(JavaScript, Go, Java,…)

Akka Sidecar Akka Cluster Datastore

(Cassandra, Postgres, Spanner,…)

gRPC

Kubernetes Pod

User Function

(JavaScript, Go, Java,…)

Akka Sidecar

Kubernetes Pod

User Function

(JavaScript, Go, Java,…)

Akka Sidecar Gossip, State replication, Routing Gossip, State replication, Routing

slide-26
SLIDE 26

as a managed service

  • Pay as you go:
  • on-demand instance creation, passivation and failover
  • autoscaling—up and down
  • ZeroOps:
  • automated message routing
  • automated state management
  • Automated deployment, provisioning, upgrades
slide-27
SLIDE 27

multitenancy

  • FaaS:
  • inadequate bulkheading: neighbor’s function can hog resources
  • cloudstate:
  • multitenancy from the ground up via pods
  • complete bulkingheading: even at the data level
  • complete security due to clear separations
slide-28
SLIDE 28
slide-29
SLIDE 29
slide-30
SLIDE 30

cloudstate architecture

slide-31
SLIDE 31

LET’S LOOK AT SOME CODE!

slide-32
SLIDE 32
slide-33
SLIDE 33
slide-34
SLIDE 34
slide-35
SLIDE 35
slide-36
SLIDE 36
slide-37
SLIDE 37
slide-38
SLIDE 38

ON BEHALF OF THE CLOUDSTATE.IO TEAM, THANKS!

the full sample can be found here:

https://github.com/cloudstateio/python- support