SlideShare a Scribd company logo
1 of 64
GOING SERVERLESS WITH CQRS ON AWS
JavaDay Kyiv 10.2016
Anton Udovychenko
ABOUT ME
Software Architect @ Levi9
8+ years of Java experience
AWS Certified Architect
Passionate about agile methodology and clean code
https://www.linkedin.com/in/antonudovychenko
http://www.slideshare.net/antonudovychenko
AGENDA
• What is Serverless?
• Event Sourcing
• CQRS
• Demo
• Downsides of Serverless
• Q&A
MAIN SERVERLESS VENDORS
EVERYTHING WAS A LIE
Serverless architecture has servers
WHAT IS SERVERLESS
 Backend as a Service (rich frontend client)
Cognito DynamoDB SES
S3 Kinesis
WHAT IS SERVERLESS
 Function as a Service
Cognito
DynamoDB
SES
S3
Kinesis
Lambda
AWS LAMBDA
AWS Lambda lets you run code without provisioning or managing servers. You pay only for
the compute time you consume - there is no charge when your code is not running.
Lambda
AWS LAMBDA
AWS Lambda lets you run code without provisioning or managing servers. You pay only for
the compute time you consume - there is no charge when your code is not running.
Lambda
Function as a unit of scale
AWS LAMBDA
AWS Lambda lets you run code without provisioning or managing servers. You pay only for
the compute time you consume - there is no charge when your code is not running.
Lambda
Function as a unit of scale Abstracts the language runtime
AWS LAMBDA
AWS Lambda lets you run code without provisioning or managing servers. You pay only for
the compute time you consume - there is no charge when your code is not running.
Lambda
Function as a unit of scale Abstracts the language runtime
Never pay for idle
AWS LAMBDA
AWS Lambda lets you run code without provisioning or managing servers. You pay only for
the compute time you consume - there is no charge when your code is not running.
≠ No Ops
Lambda
STANDARD MONOLITHIC APPLICATION
Application
Database
SERVERLESS APPLICATION
Authentication
service Database
API Gateway
Function 1
Function 2
Function N
…
SERVERLESS APPLICATION WITH AWS
Cognito
API Gateway
Database
Function 1
Function 2
Function N
…
SERVERLESS APPLICATION WITH AWS
Cognito
API Gateway
Database
Function 1
Function 2
Function N
…
SERVERLESS APPLICATION WITH AWS
Cognito
API Gateway
Lambda
Lambda
…
Lambda
Database
SERVERLESS APPLICATION WITH AWS
Lambda
Lambda
Lambda
…
API Gateway
Cognito RDS
AWS SERVERLESS FLAVOURS
• Serverless backend
one function per REST API endpoint
• Event handlers
one function per event type (scheduled, S3, Kinesis, DynamoDB, SNS, etc)
• Mobile Logic
one function per SDK call
AWS LAMBDA EXAMPLE USE CASES
• Scheduled infrastructure tasks (e. g. turn on/off EC2 on schedule)
• Backup creation, validation
• Log analysis on the fly
• Processing of uploaded files
• Regular calculation on the database
• Filtering and transforming data on the fly
SERVERLESS IS THE NEXT LEVEL OF
MICROSERVICES
BENEFITS OF SERVERLESS
• No server management
BENEFITS OF SERVERLESS
• No server management
• Simplicity
BENEFITS OF SERVERLESS
• No server management
• Simplicity
• Time to market
BENEFITS OF SERVERLESS
• No server management
• Simplicity
• Time to market
• Pay only for the compute you need
BENEFITS OF SERVERLESS
• No server management
• Simplicity
• Time to market
• Pay only for the compute you need
• Puts focus on code performance
BENEFITS OF SERVERLESS
• No server management
• Simplicity
• Time to market
• Pay only for the compute you need
• Puts focus on code performance
• Good ecosystem
BENEFITS OF SERVERLESS
• No server management
• Simplicity
• Time to market
• Pay only for the compute you need
• Puts focus on code performance
• Good ecosystem
• Automatic horizontal scaling
EVENT SOURCING
Event Sourcing ensures that all changes to
application state are stored as a sequence of events
Martin Fowler
EVENT SOURCING
State is transient We only store facts
EVENT SOURCING
State is transient We only store facts
State = 𝑓(Events)
EVENT SOURCING
State is transient We only store facts
State = 𝑓(Events) Events (facts) are immutable:
• No updates, no deletes
• Only appends
• Non blocking
• Store all information
EVENT SOURCING EXAMPLE
id Events Time States
1 - 13:01 20 available laptops
Warehouse event store
EVENT SOURCING EXAMPLE
id Events Time States
1 - 13:01 20 available laptops
2 Created order #33 by Order #1
(3 laptops)
13:29 17 available and
3 reserved laptops
Warehouse event store
EVENT SOURCING EXAMPLE
id Events Time States
1 - 13:01 20 available laptops
2 Created order #33 by Order #1
(3 laptops)
13:29 17 available and
3 reserved laptops
3 Created order #34 by Order #2
(2 laptops)
13:31 15 available and
5 reserved laptops
Warehouse event store
EVENT SOURCING EXAMPLE
id Events Time States
1 - 13:01 20 available laptops
2 Created order #33 by Order #1
(3 laptops)
13:29 17 available and
3 reserved laptops
3 Created order #34 by Order #2
(2 laptops)
13:31 15 available and
5 reserved laptops
4 Order #33 confirmed
13:38
15 available and
2 reserved and 3 bought
laptops
Warehouse event store
EVENT SOURCING EXAMPLE
id Events Time States
1 - 13:01 20 available laptops
2 Created order #33 by Order #1
(3 laptops)
13:29 17 available and
3 reserved laptops
3 Created order #34 by Order #2
(2 laptops)
13:31 15 available and
5 reserved laptops
4 Order #33 confirmed
13:38
15 available and
2 reserved and 3 bought
laptops
5 Order #34 cancelled
13:39
17 available and 3 bought
laptops
Warehouse event store
CQS
Command-Query Separation is a division of write functions and read functions
CQS
Command-Query Separation is a division of write functions and read functions
interface OrderService {
//commands
void createOrder(Order order);
void updateOrder(Order order);
void deleteOrder(Long id);
//queries
Order getOrder(Long id);
List<Order> getOrders();
}
CQS
Command-Query Separation is a division of write functions and read functions
interface OrderService {
//commands
void createOrder(Order order);
void updateOrder(Order order);
void deleteOrder(Long id);
//queries
Order getOrder(Long id);
List<Order> getOrders();
}
Write functions (Commands) must not return a value
CQS
Command-Query Separation is a division of write functions and read functions
interface OrderService {
//commands
void createOrder(Order order);
void updateOrder(Order order);
void deleteOrder(Long id);
//queries
Order getOrder(Long id);
List<Order> getOrders();
}
Write functions (Commands) must not return a value
Read functions (Queries) must have no side effects
CQRS
CQRS (Command Query Responsibility Segregation)
is simply the creation of two objects where there was
previously only one
Greg Young
CQRS
CQRS is simply the creation of two objects where
there was previously only one
Greg Young
interface OrderWriteService {
void createOrder(Order order);
void updateOrder(Order order);
void deleteOrder(Long id);
}
interface OrderReadService {
Order getOrder(Long id);
List<Order> getOrders();
}
CQRS BENEFITS
• Separate Domain Models for Query and for Command
• Eventually Consistent
• Polyglot Persistence
• Optimized for Reads!
Query
service
Query
service
CQRS
UI
Query
service
Command
service
Messaging
Event Store
State StoreState StoreState Store
Command/
Validation Error
Query / Result
(DTO)
Event
Request
Query
service
Query
service
CQRS DEMO
UI
Query
service
Command
service
Messaging
Event Store
State StoreState StoreState Store
Command/
Validation Error
Query / Result
(DTO)
Event
Request
SERVERLESS CQRS DEMO ON AWS
S3 Event
Query / Result
(DTO)
Event
Request
Lambda - Command
Lambda - Query
SQS – Message queue Lambda - Connector
S3
API Gateway
RDS – Event Store
DynamoDB – State Store
DEMO TIME
DRAWBACKS OF SERVERLESS
NO
CURRENT DRAWBACKS OF SERVERLESS
• Very young
CURRENT DRAWBACKS OF SERVERLESS
• Very young
• Functional and Integrational testing
CURRENT DRAWBACKS OF SERVERLESS
• Very young
• Functional and Integrational testing
• Debugging
CURRENT DRAWBACKS OF SERVERLESS
• Very young
• Functional and Integrational testing
• Debugging
• Stateless
CURRENT DRAWBACKS OF SERVERLESS
• Very young
• Functional and Integrational testing
• Debugging
• Stateless
• Startup latency
CURRENT DRAWBACKS OF SERVERLESS
• Very young
• Functional and Integrational testing
• Debugging
• Stateless
• Startup latency
• Deployment versioning
CURRENT DRAWBACKS OF SERVERLESS
• Very young
• Functional and Integrational testing
• Debugging
• Stateless
• Startup latency
• Deployment versioning
• Logic split
CURRENT DRAWBACKS OF SERVERLESS
• Very young
• Functional and Integrational testing
• Debugging
• Stateless
• Startup latency
• Deployment versioning
• Logic split
• Discovery
CURRENT DRAWBACKS OF SERVERLESS
• Very young
• Functional and Integrational testing
• Debugging
• Stateless
• Startup latency
• Deployment versioning
• Logic split
• Discovery
• Frameworks
CURRENT DRAWBACKS OF SERVERLESS
• Very young
• Functional and Integrational testing
• Debugging
• Stateless
• Startup latency
• Deployment versioning
• Logic split
• Discovery
• Frameworks
USEFUL LINKS
https://aws.amazon.com/lambda
https://github.com/open-guides/og-aws
https://github.com/anaibol/awesome-serverless
http://apex.run
https://serverless.com
http://martinfowler.com/eaaDev/EventSourcing.html
http://martinfowler.com/bliki/CQRS.html
THANK YOU
github.com/terrafant/aws-lambda-cqrswww.slideshare.net/antonudovychenko

More Related Content

What's hot

A year with event sourcing and CQRS
A year with event sourcing and CQRSA year with event sourcing and CQRS
A year with event sourcing and CQRS
Steve Pember
 

What's hot (20)

Attack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and KibanaAttack monitoring using ElasticSearch Logstash and Kibana
Attack monitoring using ElasticSearch Logstash and Kibana
 
Fetch API Talk
Fetch API TalkFetch API Talk
Fetch API Talk
 
ELK, a real case study
ELK,  a real case studyELK,  a real case study
ELK, a real case study
 
CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event Sourcing
 
Developing event-driven microservices with event sourcing and CQRS (london Ja...
Developing event-driven microservices with event sourcing and CQRS (london Ja...Developing event-driven microservices with event sourcing and CQRS (london Ja...
Developing event-driven microservices with event sourcing and CQRS (london Ja...
 
Troubleshooting Kerberos in Hadoop: Taming the Beast
Troubleshooting Kerberos in Hadoop: Taming the BeastTroubleshooting Kerberos in Hadoop: Taming the Beast
Troubleshooting Kerberos in Hadoop: Taming the Beast
 
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
Introduction and Overview of Apache Kafka, TriHUG July 23, 2013
 
Kong API Gateway
Kong API Gateway Kong API Gateway
Kong API Gateway
 
CQRS and Event Sourcing
CQRS and Event Sourcing CQRS and Event Sourcing
CQRS and Event Sourcing
 
[KubeCon EU 2022] Running containerd and k3s on macOS
[KubeCon EU 2022] Running containerd and k3s on macOS[KubeCon EU 2022] Running containerd and k3s on macOS
[KubeCon EU 2022] Running containerd and k3s on macOS
 
Drools 6.0 (Red Hat Summit)
Drools 6.0 (Red Hat Summit)Drools 6.0 (Red Hat Summit)
Drools 6.0 (Red Hat Summit)
 
An intro to Kubernetes operators
An intro to Kubernetes operatorsAn intro to Kubernetes operators
An intro to Kubernetes operators
 
Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)
 
A year with event sourcing and CQRS
A year with event sourcing and CQRSA year with event sourcing and CQRS
A year with event sourcing and CQRS
 
How Uber scaled its Real Time Infrastructure to Trillion events per day
How Uber scaled its Real Time Infrastructure to Trillion events per dayHow Uber scaled its Real Time Infrastructure to Trillion events per day
How Uber scaled its Real Time Infrastructure to Trillion events per day
 
Multi-Datacenter Kafka - Strata San Jose 2017
Multi-Datacenter Kafka - Strata San Jose 2017Multi-Datacenter Kafka - Strata San Jose 2017
Multi-Datacenter Kafka - Strata San Jose 2017
 
cLoki: Like Loki but for ClickHouse
cLoki: Like Loki but for ClickHousecLoki: Like Loki but for ClickHouse
cLoki: Like Loki but for ClickHouse
 
Elastic Stack Introduction
Elastic Stack IntroductionElastic Stack Introduction
Elastic Stack Introduction
 
Building and deploying microservices with event sourcing, CQRS and Docker (Be...
Building and deploying microservices with event sourcing, CQRS and Docker (Be...Building and deploying microservices with event sourcing, CQRS and Docker (Be...
Building and deploying microservices with event sourcing, CQRS and Docker (Be...
 
Introduction to Tekton
Introduction to TektonIntroduction to Tekton
Introduction to Tekton
 

Viewers also liked

Viewers also liked (6)

Event sourcing with Eventuate
Event sourcing with EventuateEvent sourcing with Eventuate
Event sourcing with Eventuate
 
Moving Beyond Lambda Architectures with Apache Kudu
Moving Beyond Lambda Architectures with Apache KuduMoving Beyond Lambda Architectures with Apache Kudu
Moving Beyond Lambda Architectures with Apache Kudu
 
Akka persistence == event sourcing in 30 minutes
Akka persistence == event sourcing in 30 minutesAkka persistence == event sourcing in 30 minutes
Akka persistence == event sourcing in 30 minutes
 
codecentric AG: CQRS and Event Sourcing Applications with Cassandra
codecentric AG: CQRS and Event Sourcing Applications with Cassandracodecentric AG: CQRS and Event Sourcing Applications with Cassandra
codecentric AG: CQRS and Event Sourcing Applications with Cassandra
 
Developing microservices with aggregates (SpringOne platform, #s1p)
Developing microservices with aggregates (SpringOne platform, #s1p)Developing microservices with aggregates (SpringOne platform, #s1p)
Developing microservices with aggregates (SpringOne platform, #s1p)
 
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
 

Similar to Going Serverless with CQRS on AWS

AWS Lambda and Serverless framework: lessons learned while building a serverl...
AWS Lambda and Serverless framework: lessons learned while building a serverl...AWS Lambda and Serverless framework: lessons learned while building a serverl...
AWS Lambda and Serverless framework: lessons learned while building a serverl...
Luciano Mammino
 

Similar to Going Serverless with CQRS on AWS (20)

BUILDING Serverless apps with MongoDB AtLAS, AWS Lambda and Step Functions
BUILDING Serverless apps with MongoDB AtLAS, AWS Lambda and Step FunctionsBUILDING Serverless apps with MongoDB AtLAS, AWS Lambda and Step Functions
BUILDING Serverless apps with MongoDB AtLAS, AWS Lambda and Step Functions
 
AWS Lambda, Step Functions & MongoDB Atlas Tutorial
AWS Lambda, Step Functions & MongoDB Atlas TutorialAWS Lambda, Step Functions & MongoDB Atlas Tutorial
AWS Lambda, Step Functions & MongoDB Atlas Tutorial
 
Serverless Design Patterns
Serverless Design PatternsServerless Design Patterns
Serverless Design Patterns
 
Cqrs and event sourcing in azure
Cqrs and event sourcing in azureCqrs and event sourcing in azure
Cqrs and event sourcing in azure
 
Serverless Architecture Patterns
Serverless Architecture PatternsServerless Architecture Patterns
Serverless Architecture Patterns
 
serverless_architecture_patterns_london_loft.pdf
serverless_architecture_patterns_london_loft.pdfserverless_architecture_patterns_london_loft.pdf
serverless_architecture_patterns_london_loft.pdf
 
Serveless design patterns
Serveless design patternsServeless design patterns
Serveless design patterns
 
Top conf serverlezz
Top conf   serverlezzTop conf   serverlezz
Top conf serverlezz
 
Serverless Design Patterns (London Dev Community)
Serverless Design Patterns (London Dev Community)Serverless Design Patterns (London Dev Community)
Serverless Design Patterns (London Dev Community)
 
Serverless Architectural Patterns & Best Practices
Serverless Architectural Patterns & Best PracticesServerless Architectural Patterns & Best Practices
Serverless Architectural Patterns & Best Practices
 
AWS Lambda and Serverless framework: lessons learned while building a serverl...
AWS Lambda and Serverless framework: lessons learned while building a serverl...AWS Lambda and Serverless framework: lessons learned while building a serverl...
AWS Lambda and Serverless framework: lessons learned while building a serverl...
 
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...
 
How to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless EditionHow to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless Edition
 
AWS Startup Insights Singapore
AWS Startup Insights SingaporeAWS Startup Insights Singapore
AWS Startup Insights Singapore
 
AWS Startup Insights Kuala Lumpur
AWS Startup Insights Kuala LumpurAWS Startup Insights Kuala Lumpur
AWS Startup Insights Kuala Lumpur
 
How to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless EditionHow to Build a Big Data Application: Serverless Edition
How to Build a Big Data Application: Serverless Edition
 
Trends and development practices in Serverless architectures
Trends and development practices in Serverless architecturesTrends and development practices in Serverless architectures
Trends and development practices in Serverless architectures
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Deploying large-scale, serverless and asynchronous systems - without integrat...
Deploying large-scale, serverless and asynchronous systems - without integrat...Deploying large-scale, serverless and asynchronous systems - without integrat...
Deploying large-scale, serverless and asynchronous systems - without integrat...
 
DevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureDevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless Architecture
 

Recently uploaded

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 

Going Serverless with CQRS on AWS

Editor's Notes

  1. Pay only for the compute time you consume
  2. A serverless platform for building event-based microservices
  3. horizontal scaling is completely automatic, elastic, and managed by the provider‘
  4. horizontal scaling is completely automatic, elastic, and managed by the provider‘
  5. horizontal scaling is completely automatic, elastic, and managed by the provider‘
  6. horizontal scaling is completely automatic, elastic, and managed by the provider‘
  7. horizontal scaling is completely automatic, elastic, and managed by the provider‘
  8. horizontal scaling is completely automatic, elastic, and managed by the provider‘
  9. horizontal scaling is completely automatic, elastic, and managed by the provider‘
  10. Event is something that happened in the past
  11. Event is something that happened in the past
  12. Event is something that happened in the past
  13. // CQS (Command-Query Separation) // Bertrand Meyer devised the CQS principle // It states that every method should either be a command that performs an action, or a // query that returns data to the caller, but not both. In other words, asking a question // should not change the answer. More formally, methods should return a value only if they // are referentially transparent and hence possess no side effects. //
  14. // CQS (Command-Query Separation) // Bertrand Meyer devised the CQS principle // It states that every method should either be a command that performs an action, or a // query that returns data to the caller, but not both. In other words, asking a question // should not change the answer. More formally, methods should return a value only if they // are referentially transparent and hence possess no side effects. //
  15. // CQS (Command-Query Separation) // Bertrand Meyer devised the CQS principle // It states that every method should either be a command that performs an action, or a // query that returns data to the caller, but not both. In other words, asking a question // should not change the answer. More formally, methods should return a value only if they // are referentially transparent and hence possess no side effects. //
  16. // CQS (Command-Query Separation) // Bertrand Meyer devised the CQS principle // It states that every method should either be a command that performs an action, or a // query that returns data to the caller, but not both. In other words, asking a question // should not change the answer. More formally, methods should return a value only if they // are referentially transparent and hence possess no side effects. //
  17. Lambdas cannot use functional/integration tests because internal methods cannot be called from external systems;
  18. Lambdas cannot use functional/integration tests because internal methods cannot be called from external systems;
  19. Lambdas cannot use functional/integration tests because internal methods cannot be called from external systems;
  20. Lambdas cannot use functional/integration tests because internal methods cannot be called from external systems;
  21. Lambdas cannot use functional/integration tests because internal methods cannot be called from external systems;
  22. Lambdas cannot use functional/integration tests because internal methods cannot be called from external systems;
  23. Lambdas cannot use functional/integration tests because internal methods cannot be called from external systems;
  24. Lambdas cannot use functional/integration tests because internal methods cannot be called from external systems;
  25. Lambdas cannot use functional/integration tests because internal methods cannot be called from external systems;
  26. Lambdas cannot use functional/integration tests because internal methods cannot be called from external systems;