SlideShare a Scribd company logo
Cloud Native
Patterns Using
AWS
Practical Examples
What means to be “Cloud Native”
Cloud Native architectures take advantage of what Cloud has to
offer empowering organisations to build and run scalable applications
in modern, dynamic environments such as public, private, and hybrid
clouds (CNCF Definition).
$ > ”It means to be designed for the cloud from day one.”
Cloud Native characteristics
- We should be able to create, destroy and recreate at any time (i.e. disposable
infrastructure)
- We should be able to deploy, update, replace and scale it individually (i.e. bounded
isolated components)
- We should be able to run it in multiples regions (i.e. scales globally)
- It should be able easy to design, redesign or make experimentations (i.e.
disposable architecture)
- A single team should be able to architect, provision the infrastructure, implement and
monitor a component (i.e. self-sufficient full-stack teams)
- Deployments are decoupled from releases (i.e. it drives a cultural change)
Foundation patterns - FP
- FP1: One Database per component
- FP2: Event Streaming
- FP3: Event Sourcing
- FP4: Data Lake
- FP5: Trilateral API
Boundary patterns - BP
- BP1: API Gateway
- BP2: Command Query Responsibility Segregation
- BP3: Backend for Frontend
- BP4: External Service Gateway
Control patterns - CP
- CP1: Event collaboration
- CP2: Event orchestration
AWS Building Blocks
- Route 53
- API Gateway
- AWS Lambda
- RDS
- Kinesis
- S3
- Elastic Search
- Elasticache
- SNS
FP1: One Database per component
• Database type matching the component’s
needs (polyglot persistence)
• Database is not shared between components
• Change data capture (CDC) triggering intra-
component processing
• Some cloud DB offer cross-region replication
FP2: Event Streaming
• Enable inter-component asynchronous
message-driven communication
• Multiples streams for different purposes:
• Log stream
• Back-office stream
• Front-office stream
FP3: Event Sourcing
• Changes in state of domain entities results in
atomic immutable domain-event
• We should be able to recreate the state from
the event history
• Upstream components don’t know/care
about the downstream components.
• Downstream components don’t know/care
who/how the event was generated
FP4: Data Lake
• All events are collected, stored and indexed
in raw format
• High durability supporting auditing,
searching, replay, and analytics
• All streamed event eventually run into the
Data Lake
FP5: Trilateral API
• Teams should document and publish the
Trilateral API of each component
• Any change must be backwards compatible
• Tests must ensure no breaking changes
• Pub/Sub streams for asynchronous inter-
component communication
• Command/query for synchronous
communication with the external world
BP1: API Gateway
• Exposes the component to the external world
• Decouples business concerns from cross-
cutting concerns like subscriptions, quotas,
security, DDoS, DNS routing (treated by
other components/services)
BP2: Command Query Responsibility Segregation
• Command and queries have different
requirements (cpu / memory / throughput)
• Each component has it own database but it is
blocked from generate join queries
• CQRS consumes state change events from
upstream components and maintain
materialised views that support queries used
within the component
BP3: Backend for Frontend
• The Front-end is a product that can touches
the backend
• Dedicated self-sufficient backend
components supports user-focused features
• GraphQL to support multiple device formats
in a single BFF
• Teams have the full control over their feature
across the full-stack
BP4: External Service Gateway
• Integrates with external systems
• Bridge between different systems or regions
• Decouples business concerns from cross-
cutting concerns like subscriptions, quotas,
security, external service authentication,…)
CP1: Event collaboration
• Domain events triggers downstream
commands
• A reactive chain of collaboration across
multiples components
CP2: Event Orchestration
• The inners of the event define the next step
in the chain
• Mediators can control how the collaboration
between components going to work
• It makes possible to build complex process
rules like workflows
References
Thank you!

More Related Content

PPT
Smart note taker
PPT
Smart note taker
PPTX
Smart note taker technology
DOCX
The eyegaze communication system
DOC
SMART NOTE TAKER REPORT
PPTX
Smart Quill
PPTX
5 pen technology ppt
PPT
Smart note taker
Smart note taker
Smart note taker
Smart note taker technology
The eyegaze communication system
SMART NOTE TAKER REPORT
Smart Quill
5 pen technology ppt
Smart note taker

What's hot (7)

PPTX
Bionic eye
PPTX
Plastic solar cell
PDF
Thiết kế máy cắt vải trong dây chuyền sản xuất lốp ôtô.pdf
PDF
Luận văn: Chế tạo mô hình hệ thống cân bằng bóng - đĩa, HAY
PDF
Robot Scara - Tính Toán Động Học & Điều Khiển
DOCX
ĐIỀU KHIỂN ĐỘNG CƠ DC KHÔNG CHỔI QUÉT BẰNG PHƯƠNG PHÁP FOC
PPTX
Google glass glasses presentation ppt
Bionic eye
Plastic solar cell
Thiết kế máy cắt vải trong dây chuyền sản xuất lốp ôtô.pdf
Luận văn: Chế tạo mô hình hệ thống cân bằng bóng - đĩa, HAY
Robot Scara - Tính Toán Động Học & Điều Khiển
ĐIỀU KHIỂN ĐỘNG CƠ DC KHÔNG CHỔI QUÉT BẰNG PHƯƠNG PHÁP FOC
Google glass glasses presentation ppt
Ad

Similar to Cloud Native Patterns Using AWS - Practical Examples (20)

PPTX
Cloud computing
PDF
NECOS - Concertation Meeting EUBrasilCloudFORUM
PPTX
Building cloud native data microservice
PDF
NECOS Objectives
PPSX
Microservices Architecture - Cloud Native Apps
PPTX
Distributed Clouds and Software Defined Networking
PDF
NECOS Industrial Workshop Technical highlights by Prof. Alex Galis (Universit...
PPTX
Monitoring docker container and dockerized applications
PPTX
Monitoring docker-container-and-dockerized-applications
PPTX
Monitoring-Docker-Container-and-Dockerized-Applications
PDF
Open shift and docker - october,2014
PPTX
PPTX
Monitoring docker containers and dockerized applications
PDF
Public Cloud Workshop
PDF
Cloud Foundry Technical Overview
PPTX
Cloud Computer and Computing Fundamentals.pptx
PPT
Cluster Computing Seminar.
PPTX
Microx - A Unix like kernel for Embedded Systems written from scratch.
PPTX
Exchange 2013 Haute disponibilité et tolérance aux sinistres (Session 1/2 pre...
PPTX
Painless Cache Allocation in Cloud
Cloud computing
NECOS - Concertation Meeting EUBrasilCloudFORUM
Building cloud native data microservice
NECOS Objectives
Microservices Architecture - Cloud Native Apps
Distributed Clouds and Software Defined Networking
NECOS Industrial Workshop Technical highlights by Prof. Alex Galis (Universit...
Monitoring docker container and dockerized applications
Monitoring docker-container-and-dockerized-applications
Monitoring-Docker-Container-and-Dockerized-Applications
Open shift and docker - october,2014
Monitoring docker containers and dockerized applications
Public Cloud Workshop
Cloud Foundry Technical Overview
Cloud Computer and Computing Fundamentals.pptx
Cluster Computing Seminar.
Microx - A Unix like kernel for Embedded Systems written from scratch.
Exchange 2013 Haute disponibilité et tolérance aux sinistres (Session 1/2 pre...
Painless Cache Allocation in Cloud
Ad

More from Anderson Carvalho (6)

PDF
Modern infrastructure as code
PDF
Cloud Native Patterns Using AWS
PPTX
Microservices
PPTX
O auth2 e open id connect
PPTX
Amazon web services (aws) main developer services
PPTX
Terraform infrastructure as code for mere mortals
Modern infrastructure as code
Cloud Native Patterns Using AWS
Microservices
O auth2 e open id connect
Amazon web services (aws) main developer services
Terraform infrastructure as code for mere mortals

Recently uploaded (20)

PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
cuic standard and advanced reporting.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Cloud computing and distributed systems.
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPT
Teaching material agriculture food technology
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation theory and applications.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
Understanding_Digital_Forensics_Presentation.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
cuic standard and advanced reporting.pdf
The AUB Centre for AI in Media Proposal.docx
Unlocking AI with Model Context Protocol (MCP)
Cloud computing and distributed systems.
Digital-Transformation-Roadmap-for-Companies.pptx
Spectral efficient network and resource selection model in 5G networks
CIFDAQ's Market Insight: SEC Turns Pro Crypto
MYSQL Presentation for SQL database connectivity
Building Integrated photovoltaic BIPV_UPV.pdf
Teaching material agriculture food technology
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation theory and applications.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Advanced methodologies resolving dimensionality complications for autism neur...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Reach Out and Touch Someone: Haptics and Empathic Computing

Cloud Native Patterns Using AWS - Practical Examples

  • 2. What means to be “Cloud Native” Cloud Native architectures take advantage of what Cloud has to offer empowering organisations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds (CNCF Definition). $ > ”It means to be designed for the cloud from day one.”
  • 3. Cloud Native characteristics - We should be able to create, destroy and recreate at any time (i.e. disposable infrastructure) - We should be able to deploy, update, replace and scale it individually (i.e. bounded isolated components) - We should be able to run it in multiples regions (i.e. scales globally) - It should be able easy to design, redesign or make experimentations (i.e. disposable architecture) - A single team should be able to architect, provision the infrastructure, implement and monitor a component (i.e. self-sufficient full-stack teams) - Deployments are decoupled from releases (i.e. it drives a cultural change)
  • 4. Foundation patterns - FP - FP1: One Database per component - FP2: Event Streaming - FP3: Event Sourcing - FP4: Data Lake - FP5: Trilateral API
  • 5. Boundary patterns - BP - BP1: API Gateway - BP2: Command Query Responsibility Segregation - BP3: Backend for Frontend - BP4: External Service Gateway
  • 6. Control patterns - CP - CP1: Event collaboration - CP2: Event orchestration
  • 7. AWS Building Blocks - Route 53 - API Gateway - AWS Lambda - RDS - Kinesis - S3 - Elastic Search - Elasticache - SNS
  • 8. FP1: One Database per component • Database type matching the component’s needs (polyglot persistence) • Database is not shared between components • Change data capture (CDC) triggering intra- component processing • Some cloud DB offer cross-region replication
  • 9. FP2: Event Streaming • Enable inter-component asynchronous message-driven communication • Multiples streams for different purposes: • Log stream • Back-office stream • Front-office stream
  • 10. FP3: Event Sourcing • Changes in state of domain entities results in atomic immutable domain-event • We should be able to recreate the state from the event history • Upstream components don’t know/care about the downstream components. • Downstream components don’t know/care who/how the event was generated
  • 11. FP4: Data Lake • All events are collected, stored and indexed in raw format • High durability supporting auditing, searching, replay, and analytics • All streamed event eventually run into the Data Lake
  • 12. FP5: Trilateral API • Teams should document and publish the Trilateral API of each component • Any change must be backwards compatible • Tests must ensure no breaking changes • Pub/Sub streams for asynchronous inter- component communication • Command/query for synchronous communication with the external world
  • 13. BP1: API Gateway • Exposes the component to the external world • Decouples business concerns from cross- cutting concerns like subscriptions, quotas, security, DDoS, DNS routing (treated by other components/services)
  • 14. BP2: Command Query Responsibility Segregation • Command and queries have different requirements (cpu / memory / throughput) • Each component has it own database but it is blocked from generate join queries • CQRS consumes state change events from upstream components and maintain materialised views that support queries used within the component
  • 15. BP3: Backend for Frontend • The Front-end is a product that can touches the backend • Dedicated self-sufficient backend components supports user-focused features • GraphQL to support multiple device formats in a single BFF • Teams have the full control over their feature across the full-stack
  • 16. BP4: External Service Gateway • Integrates with external systems • Bridge between different systems or regions • Decouples business concerns from cross- cutting concerns like subscriptions, quotas, security, external service authentication,…)
  • 17. CP1: Event collaboration • Domain events triggers downstream commands • A reactive chain of collaboration across multiples components
  • 18. CP2: Event Orchestration • The inners of the event define the next step in the chain • Mediators can control how the collaboration between components going to work • It makes possible to build complex process rules like workflows