SlideShare a Scribd company logo
Stateful Serverless
The Future of Applications in the Cloud
Markus Eisele
Director of Developer Advocacy, Lightbend
JavaZone
@myfear
2
Industry Trends
New World: Multicore,
Cloud, Mobile, IoT,
Big Data, AI
1
Towards Real-time
Data-centric
Streaming applications
Towards a World
with Automated
Operations: Opsless
2 3
Reactive Systems
The rules of the game have changed
4
Towards Fast Data
Real-time, Data-centric, Event-driven
5
Reactive
Microservices
Big Data
Fast Data
Applications
Increasing requirements for scalability & resilience
Streaming data pipelines are being served by Microservices
Increasing requirements for streaming vs. batch
6
We predict that Serverless
Computing will grow to dominate
the future of Cloud Computing.
- Berkeley CS Department
“
Cloud computing simplified: a Berkeley view on serverless computing
1. Cost and resource efficient—scale down to zero
2. Pay as you go—scale up on demand
3. Automation—of scale, failure handling, and recovery
4. Great developer experience—supporting full dev cycle
5. Reduced time, complexity, and risk—when moving to the Cloud
7
SERVERLESSPROVIDES A UNIFIED SOLUTION FOR
CUTTING OPERATIONAL & DEVELOPMENT COSTS
SERVERLESS ≠FAAS
8FaaS = Function-as-a-Service
WHY SHOULD WE LET
FAASHAVE ALL THE
FUN?
9
1. Paved the way for Serverless
2. Scaling on-demand from 0 to 10000s request, in a cost-efficient manner
3. Simplifies delivery of scalable and available applications
4. Encourages good distributed systems design (events-first, loose coupling, etc.)
5. Great as integration layer between various (ephemeral and durable) data sources
6. Great for stateless & processing-centric workloads
7. Great as data backbone moving data from A to B, transforming it along the way
10
WHAT’S GOOD WITH
FAAS?
11
USE CASES FOR
FAAS
Use-cases where throughput is key rather than low latency
and requests can be completed in a short time window
1. Low traffic applications—enterprise IT services, and spiky workloads
2. Stateless web applications—serving static content form S3 (or similar)
3. Embarrassingly parallel processing tasks—invoked on demand & intermittently, examples
include: resizing images, object recognition, log analysis
4. Orchestration functions—integration/coordination of calls to third-party services
5. Composing chains of functions—stateless workflow management, connected via data
dependencies
6. Job scheduling—CRON jobs, triggers, etc.
12
WHAT’S BAD WITH
FAAS?
Hard to build general-purpose applications
1. Retains the limitations of the 3-tier architecture
2. Functions are stateless, ephemeral, and short-lived
3. No direct addressability
4. No co-location of state and processing
5. Limited options for managing and coordinating distributed state
6. Limited options for modelling various consistency guarantees
7. Limited options for managing durable state, that is scalable and available
What We Want
The Serverless Experience—
but for general-purpose applications, including modern Fast Data and Reactive systems
Stateful Functions—
complementing stateless functions, expanding the toolbox and supported use-cases
The cost efficiencies of FaaS—
allowing the user to dial in trade-offs (related to cost, SLOs, use-cases)
13
Support For Use Cases Like
Training and Serving of Machine Learning Models
• Any dynamic in-memory model that needs to build up and served with low latency
Real-time Distributed Stream Processing
• E.g. Real-time Prediction/Recommendation Serving, Anomaly Detection
User Sessions, Shopping Carts, Caching
• Managing in-memory, yet durable, session state across individual requests
Distributed Resilient Transactional Workflows
• Saga Pattern, Workflow Orchestration, Rollback/Compensating Actions
Shared Collaborative Workspaces
• Collaborative Document Editing, Blackboards, Chat Rooms, etc.
Leader Election
• …and other standard distributed systems patterns/protocols for coordination
14
Technical Requirements
• Stateful long-lived addressable virtual components—actors
• Wide range of options for distributed coordination & communication patterns
• Options for managing distributed state reliably at scale—ranging from strong to eventual
consistency (durable/ephemeral)
• Intelligent adaptive placement of stateful functions—physical co-location of state and
processing, sharding, and sticky routing
• Ways of managing end-to-end guarantees and correctness
• Predictable performance, latency, and throughput—in startup time,
communication/coordination, and storage of data
15
FaaS Abstracting Over Communication
16
Message In
Deployment
Message OutUser Function
FaaS With CRUD
17
Message In
Deployment
Message OutUser Function
Database
Not Serverless In An Ideal World
UNCONSTRAINED
DATABASE ACCESS
MAKES IT HARD TO
AUTOMATE
OPERATIONS
18
19
Constraints liberate,
liberties constrain.
- Runar Bjarnason
“
Cloud computing simplified: a Berkeley view on serverless computing
Stateful Serverless Abstracting Over State
20
Message In
Deployment
Message Out
User Function
Message In Message Out
We Need Better Models For Distributed State
A couple of battle-tested, yet constrained, models are:
21
EVENT
SOURCING &
CRDTs
Event Sourced Functions
22
Event
Log
EventCommand
Event
Command
HAPPY PATH
Event Sourced Functions
23
SAD PATH, RECOVER FROM FAILURE
Event
Log
Replay Events
ACID 2.0
ASSOCIATIVE
Batch-insensitive
(grouping doesn't matter)
a+(b+c)=(a+b)+c
24
COMMUTATIVE
Order-insensitive
(order doesn't matter)
a+b=b+a
IDEMPOTENT
Retransmission-insensitive
(duplication does not matter)
a+a=a
Conflict-Free Replicated Data Types
ACID 2.0
Strong Eventual Consistency
Replicated & Decentralized
Always Converge Correctly
Monotonic Merge Function
Highly Available & Scalable
25
Counters
Registers
Sets
Maps
Graphs
(that all compose)
CRDT DATA
TYPES
Convergent & Commutative Replicated Data Types - Shapiro et. al. 2011
Serverless CRDTs
26
Message In
Deployment
Message Out
User Function
States/Deltas In States/Deltas Out
27
SO WHAT ARE WE
DOING
ABOUT IT?
What is Akka?
Cloud Native, Reactive, Distributed Systems Runtime
• Implementation of the Actor Model—Concurrency and Distribution
• Decentralized, Self-Organizing, Peer-to-peer Service Mesh
• Autonomous, Self-healing, Event-driven Services
High Performance, High Throughput, and Low Latency
• Communication: Point-to-Point, Pub-Sub, and Streaming
• Protocols: HTTP, TCP, Aeron (UDP), Kafka, Reactive Streams, gRPC
Distributed State Management
• CRDTs, Event Sourcing, CQRS
• Multi-Datacenter Clustering and Log Replication
Find out more at: akka.io
28
Serving of Stateful Functions
29
Kubernetes Pod
Knative
Stateful Serving
Knative
Events
Distributed
Datastore
(Cassandra, DynamoDB,
Spanner,…)
GRPC
User Function
(JavaScript, Go, Java…)
Kubernetes PodUser Function
(JavaScript, Go, Java…)
Kubernetes PodUser Function
(JavaScript, Go, Java…)
Kubernetes Pod
Kubernetes Pod
Kubernetes Pod
Powered by Akka Cluster Sidecars
30
Kubernetes PodUser Function
(JavaScript, Go, Java…)
Kubernetes PodUser Function
(JavaScript, Go, Java…)
Kubernetes PodUser Function
(JavaScript, Go, Java…)
Knative
Stateful Serving
Akka Sidecar
Akka Sidecar
Akka Sidecar
Distributed
Datastore
(Cassandra, DynamoDB,
Spanner,…)
Akka Cluster
GRPC
In Summary
1. The promise of Serverless is revolutionary and could grow to dominate the
future of Cloud Computing
2. FaaS is a good first step, but with limited addressable use-cases
3. Serverless 2.0 needs a runtime & programming model
for general-purpose application development
4. We have started building it with Knative, Akka, and gRPC
5. We need your help
31
GET INVOLVED
bit.ly/stateful-serverless-intro
https://github.com/cloudstateio/cloudstate
32
Reactive Microservices
Architecture
Written for architects and developers that must quickly
gain a fundamental understanding of microservice-based
architectures, this free O’Reilly report explores the journey from
SOA to microservices, discusses approaches to dismantling your
monolith, and reviews the key tenets of a Reactive microservice:
• Isolate all the Things
• Act Autonomously
• Do One Thing, and Do It Well
• Own Your State, Exclusively
• Embrace Asynchronous Message-Passing
• Stay Mobile, but Addressable
• Collaborate as Systems to Solve Problems
http://bit.ly/ReactiveMicroservice
33
Developing
Reactive Microservices
The detailed example in this report is based on Lagom,
a new framework that helps you follow the requirements
for building distributed, reactive systems.
• Get an overview of the Reactive Programming model and
basic requirements for developing reactive microservices
• Learn how to create base services, expose endpoints, and
then connect them with a simple, web-based user interface
• Understand how to deal with persistence, state, and clients
• Use integration technologies to start a successful migration
away from legacy systems
http://bit.ly/DevelopReactiveMicroservice
34
Modern Java EE
Design Patterns
• Understand the challenges of starting a
greenfield development vs tearing apart an
existing brownfield application into services
• Examine your business domain to see if microservices would
be a good fit
• Explore best practices for automation, high availability, data
separation, and performance
• Align your development teams around business capabilities
and responsibilities
• Inspect design patterns such as aggregator, proxy, pipeline,
or shared resources to model service interactions
http://bit.ly/SustainableEnterprise
35
Thank You Page
Markus Eisele
@myfear
blog.eisele.net
Ad

More Related Content

What's hot (19)

Workshop: Delivering chnages for applications and databases
Workshop: Delivering chnages for applications and databasesWorkshop: Delivering chnages for applications and databases
Workshop: Delivering chnages for applications and databases
Eduardo Piairo
 
Overview of Eclipse technologies
Overview of Eclipse technologiesOverview of Eclipse technologies
Overview of Eclipse technologies
PT.JUG
 
Microservices in Action
Microservices in ActionMicroservices in Action
Microservices in Action
Bhagwat Kumar
 
Data Center Modelling
Data Center ModellingData Center Modelling
Data Center Modelling
Elastra
 
Developer Week - Reacting to an event-driven world
Developer Week - Reacting to an event-driven worldDeveloper Week - Reacting to an event-driven world
Developer Week - Reacting to an event-driven world
Grace Jansen
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
Mateus Prado
 
Useful Design Patterns for Enterprise Applications with Java
Useful Design Patterns for Enterprise Applications with JavaUseful Design Patterns for Enterprise Applications with Java
Useful Design Patterns for Enterprise Applications with Java
PT.JUG
 
MySQL
MySQLMySQL
MySQL
PT.JUG
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
Izzet Mustafaiev
 
Reactive applications tools of the trade huff po
Reactive applications   tools of the trade huff poReactive applications   tools of the trade huff po
Reactive applications tools of the trade huff po
shinolajla
 
12 factor app
12 factor app12 factor app
12 factor app
Luís Bianchin
 
Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Achieving Cost and Resource Efficiency through Docker, OpenShift and KubernetesAchieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Dean Delamont
 
Microservices
MicroservicesMicroservices
Microservices
PT.JUG
 
Revolutionizing Enterprise Software Development through Continuous Delivery &...
Revolutionizing Enterprise Software Development through Continuous Delivery &...Revolutionizing Enterprise Software Development through Continuous Delivery &...
Revolutionizing Enterprise Software Development through Continuous Delivery &...
People10 Technosoft Private Limited
 
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
Daniel Bryant
 
DCSF 19 Modern Orchestrated IT for Enterprise CMS
DCSF 19  Modern Orchestrated IT for Enterprise CMSDCSF 19  Modern Orchestrated IT for Enterprise CMS
DCSF 19 Modern Orchestrated IT for Enterprise CMS
Docker, Inc.
 
Strangling the Monolith With a Data-Driven Approach: A Case Study
Strangling the Monolith With a Data-Driven Approach: A Case StudyStrangling the Monolith With a Data-Driven Approach: A Case Study
Strangling the Monolith With a Data-Driven Approach: A Case Study
VMware Tanzu
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
AppDynamics
 
The twelve factor app
The twelve factor appThe twelve factor app
The twelve factor app
Ravi Okade
 
Workshop: Delivering chnages for applications and databases
Workshop: Delivering chnages for applications and databasesWorkshop: Delivering chnages for applications and databases
Workshop: Delivering chnages for applications and databases
Eduardo Piairo
 
Overview of Eclipse technologies
Overview of Eclipse technologiesOverview of Eclipse technologies
Overview of Eclipse technologies
PT.JUG
 
Microservices in Action
Microservices in ActionMicroservices in Action
Microservices in Action
Bhagwat Kumar
 
Data Center Modelling
Data Center ModellingData Center Modelling
Data Center Modelling
Elastra
 
Developer Week - Reacting to an event-driven world
Developer Week - Reacting to an event-driven worldDeveloper Week - Reacting to an event-driven world
Developer Week - Reacting to an event-driven world
Grace Jansen
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
Mateus Prado
 
Useful Design Patterns for Enterprise Applications with Java
Useful Design Patterns for Enterprise Applications with JavaUseful Design Patterns for Enterprise Applications with Java
Useful Design Patterns for Enterprise Applications with Java
PT.JUG
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
Izzet Mustafaiev
 
Reactive applications tools of the trade huff po
Reactive applications   tools of the trade huff poReactive applications   tools of the trade huff po
Reactive applications tools of the trade huff po
shinolajla
 
Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Achieving Cost and Resource Efficiency through Docker, OpenShift and KubernetesAchieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Achieving Cost and Resource Efficiency through Docker, OpenShift and Kubernetes
Dean Delamont
 
Microservices
MicroservicesMicroservices
Microservices
PT.JUG
 
Revolutionizing Enterprise Software Development through Continuous Delivery &...
Revolutionizing Enterprise Software Development through Continuous Delivery &...Revolutionizing Enterprise Software Development through Continuous Delivery &...
Revolutionizing Enterprise Software Development through Continuous Delivery &...
People10 Technosoft Private Limited
 
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
Daniel Bryant
 
DCSF 19 Modern Orchestrated IT for Enterprise CMS
DCSF 19  Modern Orchestrated IT for Enterprise CMSDCSF 19  Modern Orchestrated IT for Enterprise CMS
DCSF 19 Modern Orchestrated IT for Enterprise CMS
Docker, Inc.
 
Strangling the Monolith With a Data-Driven Approach: A Case Study
Strangling the Monolith With a Data-Driven Approach: A Case StudyStrangling the Monolith With a Data-Driven Approach: A Case Study
Strangling the Monolith With a Data-Driven Approach: A Case Study
VMware Tanzu
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
AppDynamics
 
The twelve factor app
The twelve factor appThe twelve factor app
The twelve factor app
Ravi Okade
 

Similar to Stateful on Stateless - The Future of Applications in the Cloud (20)

Scaling Databricks to Run Data and ML Workloads on Millions of VMs
Scaling Databricks to Run Data and ML Workloads on Millions of VMsScaling Databricks to Run Data and ML Workloads on Millions of VMs
Scaling Databricks to Run Data and ML Workloads on Millions of VMs
Matei Zaharia
 
Application Modernisation through Event-Driven Microservices
Application Modernisation through Event-Driven Microservices Application Modernisation through Event-Driven Microservices
Application Modernisation through Event-Driven Microservices
confluent
 
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
content75
 
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
HostedbyConfluent
 
Redis and Kafka - Advanced Microservices Design Patterns Simplified
Redis and Kafka - Advanced Microservices Design Patterns SimplifiedRedis and Kafka - Advanced Microservices Design Patterns Simplified
Redis and Kafka - Advanced Microservices Design Patterns Simplified
Allen Terleto
 
Microservices Patterns with GoldenGate
Microservices Patterns with GoldenGateMicroservices Patterns with GoldenGate
Microservices Patterns with GoldenGate
Jeffrey T. Pollock
 
The Journey of IT – Mainframe to Serverless
The Journey of IT – Mainframe to ServerlessThe Journey of IT – Mainframe to Serverless
The Journey of IT – Mainframe to Serverless
soumyapaul29
 
We are drowning in complexity—can we do better?
We are drowning in complexity—can we do better?We are drowning in complexity—can we do better?
We are drowning in complexity—can we do better?
Jonas Bonér
 
Reactive Integrations - Caveats and bumps in the road explained
Reactive Integrations - Caveats and bumps in the road explained  Reactive Integrations - Caveats and bumps in the road explained
Reactive Integrations - Caveats and bumps in the road explained
Markus Eisele
 
Serverless-Computing-The-Future-of-Cloud-Computing (1).pptx
Serverless-Computing-The-Future-of-Cloud-Computing (1).pptxServerless-Computing-The-Future-of-Cloud-Computing (1).pptx
Serverless-Computing-The-Future-of-Cloud-Computing (1).pptx
mohdobed1998
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Prolifics
 
Lessons from Large-Scale Cloud Software at Databricks
Lessons from Large-Scale Cloud Software at DatabricksLessons from Large-Scale Cloud Software at Databricks
Lessons from Large-Scale Cloud Software at Databricks
Matei Zaharia
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with Microservices
Jim (张建军) Zhang
 
Opportunities and Challenges for Running Scientific Workflows on the Cloud
Opportunities and Challenges for Running Scientific Workflows on the Cloud Opportunities and Challenges for Running Scientific Workflows on the Cloud
Opportunities and Challenges for Running Scientific Workflows on the Cloud
lyingcom
 
Reactive programming: Brincando com eficiência, composição e assíncronia
Reactive programming: Brincando com eficiência, composição e assíncroniaReactive programming: Brincando com eficiência, composição e assíncronia
Reactive programming: Brincando com eficiência, composição e assíncronia
Felipe Mamud
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
Decision Science Community
 
IBM --Enterprise messaging in the cloud
IBM --Enterprise messaging in the cloudIBM --Enterprise messaging in the cloud
IBM --Enterprise messaging in the cloud
Abhishek Sood
 
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Lightbend
 
Guide to NoSQL with MySQL
Guide to NoSQL with MySQLGuide to NoSQL with MySQL
Guide to NoSQL with MySQL
Samuel Rohaut
 
Building-Scalable-Web-Applications.Presentation
Building-Scalable-Web-Applications.PresentationBuilding-Scalable-Web-Applications.Presentation
Building-Scalable-Web-Applications.Presentation
Ozias Rondon
 
Scaling Databricks to Run Data and ML Workloads on Millions of VMs
Scaling Databricks to Run Data and ML Workloads on Millions of VMsScaling Databricks to Run Data and ML Workloads on Millions of VMs
Scaling Databricks to Run Data and ML Workloads on Millions of VMs
Matei Zaharia
 
Application Modernisation through Event-Driven Microservices
Application Modernisation through Event-Driven Microservices Application Modernisation through Event-Driven Microservices
Application Modernisation through Event-Driven Microservices
confluent
 
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
Mykhailo Hryhorash: Архітектура IT-рішень (Частина 1) (UA)
content75
 
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
Redis and Kafka - Simplifying Advanced Design Patterns within Microservices A...
HostedbyConfluent
 
Redis and Kafka - Advanced Microservices Design Patterns Simplified
Redis and Kafka - Advanced Microservices Design Patterns SimplifiedRedis and Kafka - Advanced Microservices Design Patterns Simplified
Redis and Kafka - Advanced Microservices Design Patterns Simplified
Allen Terleto
 
Microservices Patterns with GoldenGate
Microservices Patterns with GoldenGateMicroservices Patterns with GoldenGate
Microservices Patterns with GoldenGate
Jeffrey T. Pollock
 
The Journey of IT – Mainframe to Serverless
The Journey of IT – Mainframe to ServerlessThe Journey of IT – Mainframe to Serverless
The Journey of IT – Mainframe to Serverless
soumyapaul29
 
We are drowning in complexity—can we do better?
We are drowning in complexity—can we do better?We are drowning in complexity—can we do better?
We are drowning in complexity—can we do better?
Jonas Bonér
 
Reactive Integrations - Caveats and bumps in the road explained
Reactive Integrations - Caveats and bumps in the road explained  Reactive Integrations - Caveats and bumps in the road explained
Reactive Integrations - Caveats and bumps in the road explained
Markus Eisele
 
Serverless-Computing-The-Future-of-Cloud-Computing (1).pptx
Serverless-Computing-The-Future-of-Cloud-Computing (1).pptxServerless-Computing-The-Future-of-Cloud-Computing (1).pptx
Serverless-Computing-The-Future-of-Cloud-Computing (1).pptx
mohdobed1998
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Prolifics
 
Lessons from Large-Scale Cloud Software at Databricks
Lessons from Large-Scale Cloud Software at DatabricksLessons from Large-Scale Cloud Software at Databricks
Lessons from Large-Scale Cloud Software at Databricks
Matei Zaharia
 
Best Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with MicroservicesBest Practices Building Cloud Scale Apps with Microservices
Best Practices Building Cloud Scale Apps with Microservices
Jim (张建军) Zhang
 
Opportunities and Challenges for Running Scientific Workflows on the Cloud
Opportunities and Challenges for Running Scientific Workflows on the Cloud Opportunities and Challenges for Running Scientific Workflows on the Cloud
Opportunities and Challenges for Running Scientific Workflows on the Cloud
lyingcom
 
Reactive programming: Brincando com eficiência, composição e assíncronia
Reactive programming: Brincando com eficiência, composição e assíncroniaReactive programming: Brincando com eficiência, composição e assíncronia
Reactive programming: Brincando com eficiência, composição e assíncronia
Felipe Mamud
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
Decision Science Community
 
IBM --Enterprise messaging in the cloud
IBM --Enterprise messaging in the cloudIBM --Enterprise messaging in the cloud
IBM --Enterprise messaging in the cloud
Abhishek Sood
 
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Modernizing Applications with Microservices and DC/OS (Lightbend/Mesosphere c...
Lightbend
 
Guide to NoSQL with MySQL
Guide to NoSQL with MySQLGuide to NoSQL with MySQL
Guide to NoSQL with MySQL
Samuel Rohaut
 
Building-Scalable-Web-Applications.Presentation
Building-Scalable-Web-Applications.PresentationBuilding-Scalable-Web-Applications.Presentation
Building-Scalable-Web-Applications.Presentation
Ozias Rondon
 
Ad

More from Markus Eisele (20)

Backstage Software Templates for Java Developers
Backstage Software Templates for Java DevelopersBackstage Software Templates for Java Developers
Backstage Software Templates for Java Developers
Markus Eisele
 
SparksCon 2024 - Die Ringe der Macht
SparksCon 2024 - Die Ringe der MachtSparksCon 2024 - Die Ringe der Macht
SparksCon 2024 - Die Ringe der Macht
Markus Eisele
 
Sustainable Software Architecture - Open Tour DACH '22
Sustainable Software Architecture - Open Tour DACH '22Sustainable Software Architecture - Open Tour DACH '22
Sustainable Software Architecture - Open Tour DACH '22
Markus Eisele
 
Let's be real. Quarkus in the wild.
Let's be real. Quarkus in the wild.Let's be real. Quarkus in the wild.
Let's be real. Quarkus in the wild.
Markus Eisele
 
What happens when unicorns drink coffee
What happens when unicorns drink coffeeWhat happens when unicorns drink coffee
What happens when unicorns drink coffee
Markus Eisele
 
Migrating from Java EE to cloud-native Reactive systems
Migrating from Java EE to cloud-native Reactive systemsMigrating from Java EE to cloud-native Reactive systems
Migrating from Java EE to cloud-native Reactive systems
Markus Eisele
 
Streaming to a new Jakarta EE / JOTB19
Streaming to a new Jakarta EE / JOTB19Streaming to a new Jakarta EE / JOTB19
Streaming to a new Jakarta EE / JOTB19
Markus Eisele
 
Cloud wars - A LavaOne discussion in seven slides
Cloud wars - A LavaOne discussion in seven slidesCloud wars - A LavaOne discussion in seven slides
Cloud wars - A LavaOne discussion in seven slides
Markus Eisele
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
Markus Eisele
 
Architecting for failure - Why are distributed systems hard?
Architecting for failure - Why are distributed systems hard?Architecting for failure - Why are distributed systems hard?
Architecting for failure - Why are distributed systems hard?
Markus Eisele
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
Nine Neins - where Java EE will never take you
Nine Neins - where Java EE will never take youNine Neins - where Java EE will never take you
Nine Neins - where Java EE will never take you
Markus Eisele
 
How lagom helps to build real world microservice systems
How lagom helps to build real world microservice systemsHow lagom helps to build real world microservice systems
How lagom helps to build real world microservice systems
Markus Eisele
 
CQRS and Event Sourcing for Java Developers
CQRS and Event Sourcing for Java DevelopersCQRS and Event Sourcing for Java Developers
CQRS and Event Sourcing for Java Developers
Markus Eisele
 
Taking the friction out of microservice frameworks with Lagom
Taking the friction out of microservice frameworks with LagomTaking the friction out of microservice frameworks with Lagom
Taking the friction out of microservice frameworks with Lagom
Markus Eisele
 
10 Golden Social Media Rules for Developer Relations Manager
10 Golden Social Media Rules for Developer Relations Manager10 Golden Social Media Rules for Developer Relations Manager
10 Golden Social Media Rules for Developer Relations Manager
Markus Eisele
 
Hyperscale Computing, Enterprise Agility with Mesosphere
Hyperscale Computing, Enterprise Agility with MesosphereHyperscale Computing, Enterprise Agility with Mesosphere
Hyperscale Computing, Enterprise Agility with Mesosphere
Markus Eisele
 
Modernizing Applications with Microservices
Modernizing Applications with MicroservicesModernizing Applications with Microservices
Modernizing Applications with Microservices
Markus Eisele
 
Backstage Software Templates for Java Developers
Backstage Software Templates for Java DevelopersBackstage Software Templates for Java Developers
Backstage Software Templates for Java Developers
Markus Eisele
 
SparksCon 2024 - Die Ringe der Macht
SparksCon 2024 - Die Ringe der MachtSparksCon 2024 - Die Ringe der Macht
SparksCon 2024 - Die Ringe der Macht
Markus Eisele
 
Sustainable Software Architecture - Open Tour DACH '22
Sustainable Software Architecture - Open Tour DACH '22Sustainable Software Architecture - Open Tour DACH '22
Sustainable Software Architecture - Open Tour DACH '22
Markus Eisele
 
Let's be real. Quarkus in the wild.
Let's be real. Quarkus in the wild.Let's be real. Quarkus in the wild.
Let's be real. Quarkus in the wild.
Markus Eisele
 
What happens when unicorns drink coffee
What happens when unicorns drink coffeeWhat happens when unicorns drink coffee
What happens when unicorns drink coffee
Markus Eisele
 
Migrating from Java EE to cloud-native Reactive systems
Migrating from Java EE to cloud-native Reactive systemsMigrating from Java EE to cloud-native Reactive systems
Migrating from Java EE to cloud-native Reactive systems
Markus Eisele
 
Streaming to a new Jakarta EE / JOTB19
Streaming to a new Jakarta EE / JOTB19Streaming to a new Jakarta EE / JOTB19
Streaming to a new Jakarta EE / JOTB19
Markus Eisele
 
Cloud wars - A LavaOne discussion in seven slides
Cloud wars - A LavaOne discussion in seven slidesCloud wars - A LavaOne discussion in seven slides
Cloud wars - A LavaOne discussion in seven slides
Markus Eisele
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolithStay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
Markus Eisele
 
Architecting for failure - Why are distributed systems hard?
Architecting for failure - Why are distributed systems hard?Architecting for failure - Why are distributed systems hard?
Architecting for failure - Why are distributed systems hard?
Markus Eisele
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 
Nine Neins - where Java EE will never take you
Nine Neins - where Java EE will never take youNine Neins - where Java EE will never take you
Nine Neins - where Java EE will never take you
Markus Eisele
 
How lagom helps to build real world microservice systems
How lagom helps to build real world microservice systemsHow lagom helps to build real world microservice systems
How lagom helps to build real world microservice systems
Markus Eisele
 
CQRS and Event Sourcing for Java Developers
CQRS and Event Sourcing for Java DevelopersCQRS and Event Sourcing for Java Developers
CQRS and Event Sourcing for Java Developers
Markus Eisele
 
Taking the friction out of microservice frameworks with Lagom
Taking the friction out of microservice frameworks with LagomTaking the friction out of microservice frameworks with Lagom
Taking the friction out of microservice frameworks with Lagom
Markus Eisele
 
10 Golden Social Media Rules for Developer Relations Manager
10 Golden Social Media Rules for Developer Relations Manager10 Golden Social Media Rules for Developer Relations Manager
10 Golden Social Media Rules for Developer Relations Manager
Markus Eisele
 
Hyperscale Computing, Enterprise Agility with Mesosphere
Hyperscale Computing, Enterprise Agility with MesosphereHyperscale Computing, Enterprise Agility with Mesosphere
Hyperscale Computing, Enterprise Agility with Mesosphere
Markus Eisele
 
Modernizing Applications with Microservices
Modernizing Applications with MicroservicesModernizing Applications with Microservices
Modernizing Applications with Microservices
Markus Eisele
 
Ad

Recently uploaded (20)

Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...What is Model Context Protocol(MCP) - The new technology for communication bw...
What is Model Context Protocol(MCP) - The new technology for communication bw...
Vishnu Singh Chundawat
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 

Stateful on Stateless - The Future of Applications in the Cloud

  • 1. Stateful Serverless The Future of Applications in the Cloud Markus Eisele Director of Developer Advocacy, Lightbend JavaZone
  • 3. Industry Trends New World: Multicore, Cloud, Mobile, IoT, Big Data, AI 1 Towards Real-time Data-centric Streaming applications Towards a World with Automated Operations: Opsless 2 3
  • 4. Reactive Systems The rules of the game have changed 4
  • 5. Towards Fast Data Real-time, Data-centric, Event-driven 5 Reactive Microservices Big Data Fast Data Applications Increasing requirements for scalability & resilience Streaming data pipelines are being served by Microservices Increasing requirements for streaming vs. batch
  • 6. 6 We predict that Serverless Computing will grow to dominate the future of Cloud Computing. - Berkeley CS Department “ Cloud computing simplified: a Berkeley view on serverless computing
  • 7. 1. Cost and resource efficient—scale down to zero 2. Pay as you go—scale up on demand 3. Automation—of scale, failure handling, and recovery 4. Great developer experience—supporting full dev cycle 5. Reduced time, complexity, and risk—when moving to the Cloud 7 SERVERLESSPROVIDES A UNIFIED SOLUTION FOR CUTTING OPERATIONAL & DEVELOPMENT COSTS
  • 8. SERVERLESS ≠FAAS 8FaaS = Function-as-a-Service
  • 9. WHY SHOULD WE LET FAASHAVE ALL THE FUN? 9
  • 10. 1. Paved the way for Serverless 2. Scaling on-demand from 0 to 10000s request, in a cost-efficient manner 3. Simplifies delivery of scalable and available applications 4. Encourages good distributed systems design (events-first, loose coupling, etc.) 5. Great as integration layer between various (ephemeral and durable) data sources 6. Great for stateless & processing-centric workloads 7. Great as data backbone moving data from A to B, transforming it along the way 10 WHAT’S GOOD WITH FAAS?
  • 11. 11 USE CASES FOR FAAS Use-cases where throughput is key rather than low latency and requests can be completed in a short time window 1. Low traffic applications—enterprise IT services, and spiky workloads 2. Stateless web applications—serving static content form S3 (or similar) 3. Embarrassingly parallel processing tasks—invoked on demand & intermittently, examples include: resizing images, object recognition, log analysis 4. Orchestration functions—integration/coordination of calls to third-party services 5. Composing chains of functions—stateless workflow management, connected via data dependencies 6. Job scheduling—CRON jobs, triggers, etc.
  • 12. 12 WHAT’S BAD WITH FAAS? Hard to build general-purpose applications 1. Retains the limitations of the 3-tier architecture 2. Functions are stateless, ephemeral, and short-lived 3. No direct addressability 4. No co-location of state and processing 5. Limited options for managing and coordinating distributed state 6. Limited options for modelling various consistency guarantees 7. Limited options for managing durable state, that is scalable and available
  • 13. What We Want The Serverless Experience— but for general-purpose applications, including modern Fast Data and Reactive systems Stateful Functions— complementing stateless functions, expanding the toolbox and supported use-cases The cost efficiencies of FaaS— allowing the user to dial in trade-offs (related to cost, SLOs, use-cases) 13
  • 14. Support For Use Cases Like Training and Serving of Machine Learning Models • Any dynamic in-memory model that needs to build up and served with low latency Real-time Distributed Stream Processing • E.g. Real-time Prediction/Recommendation Serving, Anomaly Detection User Sessions, Shopping Carts, Caching • Managing in-memory, yet durable, session state across individual requests Distributed Resilient Transactional Workflows • Saga Pattern, Workflow Orchestration, Rollback/Compensating Actions Shared Collaborative Workspaces • Collaborative Document Editing, Blackboards, Chat Rooms, etc. Leader Election • …and other standard distributed systems patterns/protocols for coordination 14
  • 15. Technical Requirements • Stateful long-lived addressable virtual components—actors • Wide range of options for distributed coordination & communication patterns • Options for managing distributed state reliably at scale—ranging from strong to eventual consistency (durable/ephemeral) • Intelligent adaptive placement of stateful functions—physical co-location of state and processing, sharding, and sticky routing • Ways of managing end-to-end guarantees and correctness • Predictable performance, latency, and throughput—in startup time, communication/coordination, and storage of data 15
  • 16. FaaS Abstracting Over Communication 16 Message In Deployment Message OutUser Function
  • 17. FaaS With CRUD 17 Message In Deployment Message OutUser Function Database Not Serverless In An Ideal World
  • 18. UNCONSTRAINED DATABASE ACCESS MAKES IT HARD TO AUTOMATE OPERATIONS 18
  • 19. 19 Constraints liberate, liberties constrain. - Runar Bjarnason “ Cloud computing simplified: a Berkeley view on serverless computing
  • 20. Stateful Serverless Abstracting Over State 20 Message In Deployment Message Out User Function Message In Message Out
  • 21. We Need Better Models For Distributed State A couple of battle-tested, yet constrained, models are: 21 EVENT SOURCING & CRDTs
  • 23. Event Sourced Functions 23 SAD PATH, RECOVER FROM FAILURE Event Log Replay Events
  • 24. ACID 2.0 ASSOCIATIVE Batch-insensitive (grouping doesn't matter) a+(b+c)=(a+b)+c 24 COMMUTATIVE Order-insensitive (order doesn't matter) a+b=b+a IDEMPOTENT Retransmission-insensitive (duplication does not matter) a+a=a
  • 25. Conflict-Free Replicated Data Types ACID 2.0 Strong Eventual Consistency Replicated & Decentralized Always Converge Correctly Monotonic Merge Function Highly Available & Scalable 25 Counters Registers Sets Maps Graphs (that all compose) CRDT DATA TYPES Convergent & Commutative Replicated Data Types - Shapiro et. al. 2011
  • 26. Serverless CRDTs 26 Message In Deployment Message Out User Function States/Deltas In States/Deltas Out
  • 27. 27 SO WHAT ARE WE DOING ABOUT IT?
  • 28. What is Akka? Cloud Native, Reactive, Distributed Systems Runtime • Implementation of the Actor Model—Concurrency and Distribution • Decentralized, Self-Organizing, Peer-to-peer Service Mesh • Autonomous, Self-healing, Event-driven Services High Performance, High Throughput, and Low Latency • Communication: Point-to-Point, Pub-Sub, and Streaming • Protocols: HTTP, TCP, Aeron (UDP), Kafka, Reactive Streams, gRPC Distributed State Management • CRDTs, Event Sourcing, CQRS • Multi-Datacenter Clustering and Log Replication Find out more at: akka.io 28
  • 29. Serving of Stateful Functions 29 Kubernetes Pod Knative Stateful Serving Knative Events Distributed Datastore (Cassandra, DynamoDB, Spanner,…) GRPC User Function (JavaScript, Go, Java…) Kubernetes PodUser Function (JavaScript, Go, Java…) Kubernetes PodUser Function (JavaScript, Go, Java…)
  • 30. Kubernetes Pod Kubernetes Pod Kubernetes Pod Powered by Akka Cluster Sidecars 30 Kubernetes PodUser Function (JavaScript, Go, Java…) Kubernetes PodUser Function (JavaScript, Go, Java…) Kubernetes PodUser Function (JavaScript, Go, Java…) Knative Stateful Serving Akka Sidecar Akka Sidecar Akka Sidecar Distributed Datastore (Cassandra, DynamoDB, Spanner,…) Akka Cluster GRPC
  • 31. In Summary 1. The promise of Serverless is revolutionary and could grow to dominate the future of Cloud Computing 2. FaaS is a good first step, but with limited addressable use-cases 3. Serverless 2.0 needs a runtime & programming model for general-purpose application development 4. We have started building it with Knative, Akka, and gRPC 5. We need your help 31
  • 33. Reactive Microservices Architecture Written for architects and developers that must quickly gain a fundamental understanding of microservice-based architectures, this free O’Reilly report explores the journey from SOA to microservices, discusses approaches to dismantling your monolith, and reviews the key tenets of a Reactive microservice: • Isolate all the Things • Act Autonomously • Do One Thing, and Do It Well • Own Your State, Exclusively • Embrace Asynchronous Message-Passing • Stay Mobile, but Addressable • Collaborate as Systems to Solve Problems http://bit.ly/ReactiveMicroservice 33
  • 34. Developing Reactive Microservices The detailed example in this report is based on Lagom, a new framework that helps you follow the requirements for building distributed, reactive systems. • Get an overview of the Reactive Programming model and basic requirements for developing reactive microservices • Learn how to create base services, expose endpoints, and then connect them with a simple, web-based user interface • Understand how to deal with persistence, state, and clients • Use integration technologies to start a successful migration away from legacy systems http://bit.ly/DevelopReactiveMicroservice 34
  • 35. Modern Java EE Design Patterns • Understand the challenges of starting a greenfield development vs tearing apart an existing brownfield application into services • Examine your business domain to see if microservices would be a good fit • Explore best practices for automation, high availability, data separation, and performance • Align your development teams around business capabilities and responsibilities • Inspect design patterns such as aggregator, proxy, pipeline, or shared resources to model service interactions http://bit.ly/SustainableEnterprise 35
  • 36. Thank You Page Markus Eisele @myfear blog.eisele.net