SlideShare a Scribd company logo
Managing Data in
Microservices
Randy Shoup
VP Engineering, Stitch Fix
@randyshoup
linkedin.com/in/randyshoup
First Law of Distributed Object
Design:
Don’t distribute your objects!
-- Martin Fowler
Prerequisites for
Microservices
• Domain Maturity: Know enough about your domain to
decompose it cleanly
• Organizational Maturity: Small teams with well-defined
areas of responsibility
• Process Maturity: Automated Testing and Continuous
Delivery
• Operational Maturity: Monitoring, alerting, oncall
Microservices
• Single-purpose
• Simple, well-defined interface
• Modular and independent
A
C D E
B
Microservices are nothing
more than SOA done properly.
-- me
Microservices
• Single-purpose
• Simple, well-defined interface
• Modular and independent
• Isolated persistence (!)
A
C D E
B
Microservice
Persistence
• Approach 1: Operate your own data store
o Store to your own instance(s) of {Postgres, MySQL, etc.}, owned and operated
by the service team
• Approach 2: Use a persistence service
o Store to your own table(s) in {Dynamo, RDS, Spanner, etc.}, operated as a
service by another team or by a third-party provider
o Isolated from all other users of the service
•  Only external access to data store is through
published service interface
Extracting
Microservices
• Problem: Monolithic shared DB
• Clients
• Shipments
• Items
• Styles, SKUs
• Warehouses
• etc.
stitchfix.com Styling app Warehouse app Merch app
CS app Logistics app Payments service Profile service
Extracting
Microservices
• Decouple applications / services from shared DB
• Clients
• Shipments
• Items
• Styles, SKUs
• Warehouses
• etc.
stitchfix.com Styling app Warehouse app Merch app
CS app Logistics app Payments service Profile service
Extracting
Microservices
• Decouple applications / services from shared DB
Styling app Warehouse app
core_item
core_sku
core_client
Extracting
Microservices
• Step 1: Create a service
Styling app Warehouse app
core_item
core_sku
core_client
client-service
Extracting
Microservices
• Step 2: Applications use the service
Styling app Warehouse app
core_item
core_sku
core_client
client-service
Extracting
Microservices
• Step 3: Move data to private database
Styling app Warehouse app
core_item
core_sku
client-service
core_client
Extracting
Microservices
• Step 4: Rinse and Repeat
Styling app Warehouse app
core_sku
client-service
core_client
item-service
core_item
Extracting
Microservices
• Step 4: Rinse and Repeat
Styling app Warehouse app
client-service
core_client
item-service
core_item
style-service
core_sku
Extracting
Microservices
• Step 4: Rinse and Repeat
Styling app Warehouse app
client-service
core_client
item-service
core_item
style-service
core_sku
Microservice Techniques:
Shared Data
• Problem
o Monolithic database makes it easy to leverage shared data
o Where does shared data go in a microservices world?
• Principle: Single System of Record
o Every piece of data is owned by a single service
o That service represents its canonical system of record
o Every other copy of that data is a read-only, non-authoritative cache
Microservice Techniques:
Shared Data
• Approach 1: Synchronous Lookup
o Customer service owns customer data
o Order service calls customer service in real time
order-service
customer-service
Microservice Techniques:
Shared Data
• Approach 2: Async event + local cache
o Customer service owns customer data
o Customer service sends customer-updated event when customer changes
o Order service caches current customer information
order-servicecustomer-service
Microservice Techniques:
Shared Data
• Approach 3: Shared metadata library
o Read-only metadata, basically immutable
o E.g., size schemas, colors, fabrics, US States, etc.
receiving-serviceitem-service
style-service
Events as
First-Class Construct
• “A significant change in state”
o Statement that some interesting thing occurred
o 0 | 1 | N consumers subscribe to the event, typically asynchronously
• Fourth fundamental building block
o Presentation  interface / interaction
o Application  stateless business logic
o Persistence  database
o State changes  events
• Events represent how the real world works
o Finance, software development process, any “workflow”
Microservices
and Events
• Events are a first-class part of the interface
• A service interface includes
o Synchronous request-response (REST, gRPC, etc)
o Events the service produces
o Events the service consumes
o Bulk reads and writes (ETL)
• The interface includes any mechanism for getting data in
or out of the service (!)
Microservice Techniques:
Joins
• Problem
o Monolithic database makes joins very easy
o Splitting the data into separate services makes joins very hard
Microservice Techniques:
Joins
• Approach 1: Service that “Materializes the View”
o Listen to events from item-service, events from order-service
o Maintain denormalized join of items and orders together in local storage
• Best for high cardinality A and high cardinality B (M:N
join)
Items Orders
item-feedback-service
item-service
order-service
Microservice Techniques:
Joins
• Many common systems do this
o Most NoSQL approaches
o “Materialized view” in database systems
o Search engines
o Analytic systems
o Log aggregators
Microservice Techniques:
Joins
• Approach 2: Join in Application / Client
o Get a single customer from customer-service
o Query matching orders for that customer from order-service
• Best for single A, multiple Bs (1:N join)
A
B
order-history-page
customer-service order-service
Microservice Techniques:
Joins
• Many common systems do this
o Web application “mashup”
Microservice Techniques:
Workflows and Sagas
• Problem
o Monolithic database makes transactions across multiple entities easy
o Splitting data across services makes transactions very hard
Microservice Techniques:
Workflows and Sagas
• Transaction  Saga
o Model the transaction as a state machine of atomic events
• Reimplement as a workflow
• Roll back by applying compensating operations in
reverse
A B C D
A B C D
Microservice Techniques:
Workflows and Sagas
• Many common systems do this
o Payment processing flow
o Most approval workflows
Microservice Techniques:
Workflows and Sagas
• Ideal use for Functions as a Service (“Serverless”)
o Very lightweight logic
o Stateless
o Triggered by an event
A B C D
A B C D
ƛ
ƛ
ƛ
ƛ
ƛ
ƛ
ƛ
ƛ
Thanks!
• @randyshoup
• linkedin.com/in/randyshoup

More Related Content

What's hot (20)

PDF
How Cisco Provides World-Class Technology Conference Experiences Using Automa...
InfluxData
 
PPTX
Pet Pen Testing Tools: Zenmap & Nmap
Matt Vieyra
 
PPTX
Dockerと外部ルータを連携させる仕組みを作ってみた
npsg
 
PDF
4章 Linuxカーネル - 割り込み・例外 2
mao999
 
PDF
Speeding Up Minwise Hashing for Weighted Sets
Otmar Ertl
 
PDF
CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性
J-Stream Inc.
 
PPTX
Introduction to JIT Compiler in JVM
Koichi Sakata
 
PDF
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
VirtualTech Japan Inc.
 
PDF
ctfで学ぼうリバースエンジニアリング
junk_coken
 
PDF
Bringing Kafka Without Zookeeper Into Production with Colin McCabe | Kafka Su...
HostedbyConfluent
 
PPTX
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Vietnam Open Infrastructure User Group
 
PDF
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Masahito Zembutsu
 
PPTX
LOAD BALANCING ALGORITHMS
tanmayshah95
 
PPTX
Chapter 8
Ali Broumandnia
 
PPTX
IBM Cloud Manager with OpenStack Overview
Patrick Bouillaud
 
PDF
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [6시내고양포CAT몬] : Cat Anti-aging Project based Style...
BOAZ Bigdata
 
PPTX
Proxmox; an overview and demo
hooliowobbits
 
PDF
EVPN for Cloud Builders
Juniper Networks (日本)
 
PDF
スイッチ・ルータのしくみ
ogatay
 
PDF
Introduction to Kafka Streams
Guozhang Wang
 
How Cisco Provides World-Class Technology Conference Experiences Using Automa...
InfluxData
 
Pet Pen Testing Tools: Zenmap & Nmap
Matt Vieyra
 
Dockerと外部ルータを連携させる仕組みを作ってみた
npsg
 
4章 Linuxカーネル - 割り込み・例外 2
mao999
 
Speeding Up Minwise Hashing for Weighted Sets
Otmar Ertl
 
CDNのトラフィックエンジニアリング:CDNの現状とSDNの可能性
J-Stream Inc.
 
Introduction to JIT Compiler in JVM
Koichi Sakata
 
OVS VXLAN Network Accelaration on OpenStack (VXLAN offload and DPDK) - OpenSt...
VirtualTech Japan Inc.
 
ctfで学ぼうリバースエンジニアリング
junk_coken
 
Bringing Kafka Without Zookeeper Into Production with Colin McCabe | Kafka Su...
HostedbyConfluent
 
Meetup 23 - 02 - OVN - The future of networking in OpenStack
Vietnam Open Infrastructure User Group
 
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
Masahito Zembutsu
 
LOAD BALANCING ALGORITHMS
tanmayshah95
 
Chapter 8
Ali Broumandnia
 
IBM Cloud Manager with OpenStack Overview
Patrick Bouillaud
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [6시내고양포CAT몬] : Cat Anti-aging Project based Style...
BOAZ Bigdata
 
Proxmox; an overview and demo
hooliowobbits
 
EVPN for Cloud Builders
Juniper Networks (日本)
 
スイッチ・ルータのしくみ
ogatay
 
Introduction to Kafka Streams
Guozhang Wang
 

Similar to Managing Data in Microservices (20)

PPTX
Effective Microservices In a Data-centric World
Randy Shoup
 
PPTX
Monoliths, Migrations, and Microservices
Randy Shoup
 
PPTX
Managing Data at Scale - Microservices and Events
Randy Shoup
 
PPTX
Scaling Your Architecture with Services and Events
Randy Shoup
 
PDF
Cloud-native Data
cornelia davis
 
PDF
Cloud-Native-Data with Cornelia Davis
VMware Tanzu
 
PDF
Kafka Summit SF 2017 - Keynote - Managing Data at Scale: The Unreasonable Eff...
confluent
 
PDF
QCon 2015 - Microservices Track Notes
Abdul Basit Munda
 
PPTX
Patterns of Distributed Application Design
Orkhan Gasimov
 
PPTX
Introduction to Microservices
MahmoudZidan41
 
PPTX
CASE STUDY: UK NATIONAL HEALTH SERVICE
ForgeRock
 
PDF
Patterns of Distributed Application Design
GlobalLogic Ukraine
 
PPTX
Iot cloud service v2.0
Vinod Wilson
 
PPTX
Scaling Systems: Architectures that grow
Gibraltar Software
 
PPTX
Service Architectures at Scale
Randy Shoup
 
PPTX
Assessing New Databases– Translytical Use Cases
DATAVERSITY
 
PPTX
Microservices: Yes or not?
Eduard Tomàs
 
PPTX
Lecture 5- Data Collection and Storage.pptx
Brianc34
 
PDF
Data Services Marketplace
Denodo
 
PPTX
Concurrency at Scale: Evolution to Micro-Services
Randy Shoup
 
Effective Microservices In a Data-centric World
Randy Shoup
 
Monoliths, Migrations, and Microservices
Randy Shoup
 
Managing Data at Scale - Microservices and Events
Randy Shoup
 
Scaling Your Architecture with Services and Events
Randy Shoup
 
Cloud-native Data
cornelia davis
 
Cloud-Native-Data with Cornelia Davis
VMware Tanzu
 
Kafka Summit SF 2017 - Keynote - Managing Data at Scale: The Unreasonable Eff...
confluent
 
QCon 2015 - Microservices Track Notes
Abdul Basit Munda
 
Patterns of Distributed Application Design
Orkhan Gasimov
 
Introduction to Microservices
MahmoudZidan41
 
CASE STUDY: UK NATIONAL HEALTH SERVICE
ForgeRock
 
Patterns of Distributed Application Design
GlobalLogic Ukraine
 
Iot cloud service v2.0
Vinod Wilson
 
Scaling Systems: Architectures that grow
Gibraltar Software
 
Service Architectures at Scale
Randy Shoup
 
Assessing New Databases– Translytical Use Cases
DATAVERSITY
 
Microservices: Yes or not?
Eduard Tomàs
 
Lecture 5- Data Collection and Storage.pptx
Brianc34
 
Data Services Marketplace
Denodo
 
Concurrency at Scale: Evolution to Micro-Services
Randy Shoup
 
Ad

More from Randy Shoup (20)

PDF
Large Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Randy Shoup
 
PPTX
Anatomy of Three Incidents -- Commonalities and Lessons
Randy Shoup
 
PPTX
One Terrible Day at Google, and How It Made Us Better
Randy Shoup
 
PPTX
Scaling Your Architecture for the Long Term
Randy Shoup
 
PPTX
Minimal Viable Architecture - Silicon Slopes 2020
Randy Shoup
 
PPTX
An Agile Approach to Machine Learning
Randy Shoup
 
PPTX
Moving Fast at Scale
Randy Shoup
 
PPTX
Breaking Codes, Designing Jets, and Building Teams
Randy Shoup
 
PPTX
Learning from Learnings: Anatomy of Three Incidents
Randy Shoup
 
PPTX
Minimum Viable Architecture - Good Enough is Good Enough
Randy Shoup
 
PPTX
Evolving Architecture and Organization - Lessons from Google and eBay
Randy Shoup
 
PPTX
Moving Fast At Scale
Randy Shoup
 
PPTX
DevOps - It's About How We Work
Randy Shoup
 
PPTX
Ten Lessons of the DevOps Transition
Randy Shoup
 
PPTX
Pragmatic Microservices
Randy Shoup
 
PPTX
A CTO's Guide to Scaling Organizations
Randy Shoup
 
PPTX
From the Monolith to Microservices - CraftConf 2015
Randy Shoup
 
PPTX
Service Architectures At Scale - QCon London 2015
Randy Shoup
 
PPTX
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
Randy Shoup
 
PPTX
Why Enterprises Are Embracing the Cloud
Randy Shoup
 
Large Scale Architecture -- The Unreasonable Effectiveness of Simplicity
Randy Shoup
 
Anatomy of Three Incidents -- Commonalities and Lessons
Randy Shoup
 
One Terrible Day at Google, and How It Made Us Better
Randy Shoup
 
Scaling Your Architecture for the Long Term
Randy Shoup
 
Minimal Viable Architecture - Silicon Slopes 2020
Randy Shoup
 
An Agile Approach to Machine Learning
Randy Shoup
 
Moving Fast at Scale
Randy Shoup
 
Breaking Codes, Designing Jets, and Building Teams
Randy Shoup
 
Learning from Learnings: Anatomy of Three Incidents
Randy Shoup
 
Minimum Viable Architecture - Good Enough is Good Enough
Randy Shoup
 
Evolving Architecture and Organization - Lessons from Google and eBay
Randy Shoup
 
Moving Fast At Scale
Randy Shoup
 
DevOps - It's About How We Work
Randy Shoup
 
Ten Lessons of the DevOps Transition
Randy Shoup
 
Pragmatic Microservices
Randy Shoup
 
A CTO's Guide to Scaling Organizations
Randy Shoup
 
From the Monolith to Microservices - CraftConf 2015
Randy Shoup
 
Service Architectures At Scale - QCon London 2015
Randy Shoup
 
Minimum Viable Architecture -- Good Enough is Good Enough in a Startup
Randy Shoup
 
Why Enterprises Are Embracing the Cloud
Randy Shoup
 
Ad

Recently uploaded (20)

PPTX
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PPTX
3uTools Full Crack Free Version Download [Latest] 2025
muhammadgurbazkhan
 
PPTX
Engineering the Java Web Application (MVC)
abhishekoza1981
 
PDF
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
PDF
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
PDF
Executive Business Intelligence Dashboards
vandeslie24
 
PPT
MergeSortfbsjbjsfk sdfik k
RafishaikIT02044
 
PDF
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PPTX
Fundamentals_of_Microservices_Architecture.pptx
MuhammadUzair504018
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PDF
GetOnCRM Speeds Up Agentforce 3 Deployment for Enterprise AI Wins.pdf
GetOnCRM Solutions
 
PDF
Salesforce CRM Services.VALiNTRY360
VALiNTRY360
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
3uTools Full Crack Free Version Download [Latest] 2025
muhammadgurbazkhan
 
Engineering the Java Web Application (MVC)
abhishekoza1981
 
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
Efficient, Automated Claims Processing Software for Insurers
Insurance Tech Services
 
Executive Business Intelligence Dashboards
vandeslie24
 
MergeSortfbsjbjsfk sdfik k
RafishaikIT02044
 
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
Fundamentals_of_Microservices_Architecture.pptx
MuhammadUzair504018
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
GetOnCRM Speeds Up Agentforce 3 Deployment for Enterprise AI Wins.pdf
GetOnCRM Solutions
 
Salesforce CRM Services.VALiNTRY360
VALiNTRY360
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 

Managing Data in Microservices

  • 1. Managing Data in Microservices Randy Shoup VP Engineering, Stitch Fix @randyshoup linkedin.com/in/randyshoup
  • 2. First Law of Distributed Object Design: Don’t distribute your objects! -- Martin Fowler
  • 3. Prerequisites for Microservices • Domain Maturity: Know enough about your domain to decompose it cleanly • Organizational Maturity: Small teams with well-defined areas of responsibility • Process Maturity: Automated Testing and Continuous Delivery • Operational Maturity: Monitoring, alerting, oncall
  • 4. Microservices • Single-purpose • Simple, well-defined interface • Modular and independent A C D E B
  • 5. Microservices are nothing more than SOA done properly. -- me
  • 6. Microservices • Single-purpose • Simple, well-defined interface • Modular and independent • Isolated persistence (!) A C D E B
  • 7. Microservice Persistence • Approach 1: Operate your own data store o Store to your own instance(s) of {Postgres, MySQL, etc.}, owned and operated by the service team • Approach 2: Use a persistence service o Store to your own table(s) in {Dynamo, RDS, Spanner, etc.}, operated as a service by another team or by a third-party provider o Isolated from all other users of the service •  Only external access to data store is through published service interface
  • 8. Extracting Microservices • Problem: Monolithic shared DB • Clients • Shipments • Items • Styles, SKUs • Warehouses • etc. stitchfix.com Styling app Warehouse app Merch app CS app Logistics app Payments service Profile service
  • 9. Extracting Microservices • Decouple applications / services from shared DB • Clients • Shipments • Items • Styles, SKUs • Warehouses • etc. stitchfix.com Styling app Warehouse app Merch app CS app Logistics app Payments service Profile service
  • 10. Extracting Microservices • Decouple applications / services from shared DB Styling app Warehouse app core_item core_sku core_client
  • 11. Extracting Microservices • Step 1: Create a service Styling app Warehouse app core_item core_sku core_client client-service
  • 12. Extracting Microservices • Step 2: Applications use the service Styling app Warehouse app core_item core_sku core_client client-service
  • 13. Extracting Microservices • Step 3: Move data to private database Styling app Warehouse app core_item core_sku client-service core_client
  • 14. Extracting Microservices • Step 4: Rinse and Repeat Styling app Warehouse app core_sku client-service core_client item-service core_item
  • 15. Extracting Microservices • Step 4: Rinse and Repeat Styling app Warehouse app client-service core_client item-service core_item style-service core_sku
  • 16. Extracting Microservices • Step 4: Rinse and Repeat Styling app Warehouse app client-service core_client item-service core_item style-service core_sku
  • 17. Microservice Techniques: Shared Data • Problem o Monolithic database makes it easy to leverage shared data o Where does shared data go in a microservices world? • Principle: Single System of Record o Every piece of data is owned by a single service o That service represents its canonical system of record o Every other copy of that data is a read-only, non-authoritative cache
  • 18. Microservice Techniques: Shared Data • Approach 1: Synchronous Lookup o Customer service owns customer data o Order service calls customer service in real time order-service customer-service
  • 19. Microservice Techniques: Shared Data • Approach 2: Async event + local cache o Customer service owns customer data o Customer service sends customer-updated event when customer changes o Order service caches current customer information order-servicecustomer-service
  • 20. Microservice Techniques: Shared Data • Approach 3: Shared metadata library o Read-only metadata, basically immutable o E.g., size schemas, colors, fabrics, US States, etc. receiving-serviceitem-service style-service
  • 21. Events as First-Class Construct • “A significant change in state” o Statement that some interesting thing occurred o 0 | 1 | N consumers subscribe to the event, typically asynchronously • Fourth fundamental building block o Presentation  interface / interaction o Application  stateless business logic o Persistence  database o State changes  events • Events represent how the real world works o Finance, software development process, any “workflow”
  • 22. Microservices and Events • Events are a first-class part of the interface • A service interface includes o Synchronous request-response (REST, gRPC, etc) o Events the service produces o Events the service consumes o Bulk reads and writes (ETL) • The interface includes any mechanism for getting data in or out of the service (!)
  • 23. Microservice Techniques: Joins • Problem o Monolithic database makes joins very easy o Splitting the data into separate services makes joins very hard
  • 24. Microservice Techniques: Joins • Approach 1: Service that “Materializes the View” o Listen to events from item-service, events from order-service o Maintain denormalized join of items and orders together in local storage • Best for high cardinality A and high cardinality B (M:N join) Items Orders item-feedback-service item-service order-service
  • 25. Microservice Techniques: Joins • Many common systems do this o Most NoSQL approaches o “Materialized view” in database systems o Search engines o Analytic systems o Log aggregators
  • 26. Microservice Techniques: Joins • Approach 2: Join in Application / Client o Get a single customer from customer-service o Query matching orders for that customer from order-service • Best for single A, multiple Bs (1:N join) A B order-history-page customer-service order-service
  • 27. Microservice Techniques: Joins • Many common systems do this o Web application “mashup”
  • 28. Microservice Techniques: Workflows and Sagas • Problem o Monolithic database makes transactions across multiple entities easy o Splitting data across services makes transactions very hard
  • 29. Microservice Techniques: Workflows and Sagas • Transaction  Saga o Model the transaction as a state machine of atomic events • Reimplement as a workflow • Roll back by applying compensating operations in reverse A B C D A B C D
  • 30. Microservice Techniques: Workflows and Sagas • Many common systems do this o Payment processing flow o Most approval workflows
  • 31. Microservice Techniques: Workflows and Sagas • Ideal use for Functions as a Service (“Serverless”) o Very lightweight logic o Stateless o Triggered by an event A B C D A B C D ƛ ƛ ƛ ƛ ƛ ƛ ƛ ƛ