SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Patterns
For
API Centric
Architecture
Daniel Cerecedo
@dcerecedo
Byteflair
StatelessStateless
Byteflair
StatelessStateless
Client/Server
Byteflair
StatelessStateless
It's all about CLIENT STATE,
not about the
global state of the system
Byteflair
StatelessStateless
Client requests provide
ALL the context that
the Server needs to
Determine Client state
Byteflair
StatelessStateless
The state of the client is part of the payload
Byteflair
StatelessStateless
Stateless servers
are core to
HORIZONTAL SCALING
Byteflair
Byteflair
CommonContractCommonContract
Exchange protocol
Message format
Byteflair
CommonContractCommonContract
Exchange protocol
Message format
Coupling
Byteflair
CommonContractCommonContract
Byteflair
Byteflair
OrchestrationOrchestration
2
1
3
Byteflair
OrchestrationOrchestration
2
1
3
Byteflair
Mediation RouterMediation Router
Byteflair
Mediation RouterMediation Router
Intelligently ROUTES and
TRANSFORMS messages, and
handles endpoint ERRORS
Byteflair
Mediation RouterMediation Router
✔
Load Balancer
Specify a group of components among which to load balance requests
✔
Dead Letter
Declare error conditions, retry policies and where to deliver the message on failure
✔
Content Based Routing
Route a message to different endpoints based of its contents
✔
Dynamic Router
Route a message to different endpoints based on the state of the system
✔
Normalizer
Transform messages from heterogeneous formats into a common format
Byteflair
Mediation RouterMediation Router
Byteflair
Mediation RouterMediation Router
Byteflair
Byteflair
Message BrokerMessage Broker
A Message Broker supports
ALL communication models:
✔
Publish/Subscribe
✔
Sync RPC
✔
Async RPC
Byteflair
Message BrokerMessage Broker
A Message Broker
GUARANTEES the delivery
of a message
Byteflair
Byteflair
Service RegistryService Registry
Netflix Eureka
Byteflair
Service RegistryService Registry
Byteflair
Byteflair
Load BalancerLoad Balancer
Netflix Ribbon
Byteflair
Byteflair
Circuit BrakerCircuit Braker
Netflix Hystrix
Byteflair
Service DiscoveryService Discovery
Byteflair
Service DiscoveryService Discovery
Discovery client automatically resolvesservice names through the service registry
Byteflair
Service DiscoveryService Discovery
Client load balancer caches service
instance locations to support service
resolution in case the registry failure
Byteflair
Service DiscoveryService Discovery
Client load balancer selects a serviceinstance among all available
Byteflair
Circuit BreakerCircuit Breaker
If we are unable to service a request we
can shortcircuit and fallback graciously
Byteflair
Stateless
Service Discovery
Load Balancer
Circuit Braker
Micro Services

Byteflair
Micro ServicesMicro Services
MywayMyway
Byteflair
Micro ServicesMicro Services
MywayMyway
Byteflair
ContainerizationContainerization
Byteflair
ContainerizationContainerization
Strict separation between
build, release and run.
Releases are APPEND ONLY
Byteflair
ContainerizationContainerization
Infrastructure is IMMUTABLE
Byteflair
ContainerizationContainerization
Services are exported
via PORT BINDING
Byteflair
ReferencesReferences
Spring Cloud
Using cloud components with spring, specially Netflix OSS
http://projects.spring.io/spring-cloud/
Flux Capacitor
Java-based, cloud-native, reference architecture using many Netflix Open Source projects
https://github.com/cfregly/fluxcapacitor
12 Factor APP
Methodology for building software-as-a-service apps
http://12factor.net/
Shipyard
Composable docker management
http://shipyard-project.com/
?ThanksThanks
MerciMerci
GraciasGracias
http://byteflair.com
Daniel Cerecedo
@dcerecedo

Weitere ähnliche Inhalte

Ähnlich wie API Centric Patterns

BizTalk Custom Adapters Toronto Code Camp Presentation
BizTalk Custom Adapters  Toronto Code Camp PresentationBizTalk Custom Adapters  Toronto Code Camp Presentation
BizTalk Custom Adapters Toronto Code Camp PresentationMoustafaRefaat
 
Big datadc skyfall_preso_v2
Big datadc skyfall_preso_v2Big datadc skyfall_preso_v2
Big datadc skyfall_preso_v2abramsm
 
Chapter 16 : inter-vlan routing
Chapter 16 : inter-vlan routingChapter 16 : inter-vlan routing
Chapter 16 : inter-vlan routingteknetir
 
Examen final ccna2
Examen final ccna2Examen final ccna2
Examen final ccna2Juli Yaret
 
Chapter 05 - Inter-VLAN Routing
Chapter 05 - Inter-VLAN RoutingChapter 05 - Inter-VLAN Routing
Chapter 05 - Inter-VLAN RoutingYaser Rahmati
 
KPUCC-Rs instructor ppt_chapter5_final
KPUCC-Rs instructor ppt_chapter5_finalKPUCC-Rs instructor ppt_chapter5_final
KPUCC-Rs instructor ppt_chapter5_finalFisal Anwari
 
CCNAv5 - S2: Chapter5 Inter Vlan Routing
CCNAv5 - S2: Chapter5 Inter Vlan RoutingCCNAv5 - S2: Chapter5 Inter Vlan Routing
CCNAv5 - S2: Chapter5 Inter Vlan RoutingVuz Dở Hơi
 
VMware vSphere Networking deep dive
VMware vSphere Networking deep diveVMware vSphere Networking deep dive
VMware vSphere Networking deep diveVepsun Technologies
 
VMware vSphere Networking deep dive
VMware vSphere Networking deep diveVMware vSphere Networking deep dive
VMware vSphere Networking deep diveSanjeev Kumar
 
Exploration lan switching_chapter4
Exploration lan switching_chapter4Exploration lan switching_chapter4
Exploration lan switching_chapter4robertoxe
 
Exploration lan switching_chapter4
Exploration lan switching_chapter4Exploration lan switching_chapter4
Exploration lan switching_chapter4robertoxe
 
Eyeball AnyConnect™ Gateway Administration Guide
Eyeball AnyConnect™ Gateway Administration GuideEyeball AnyConnect™ Gateway Administration Guide
Eyeball AnyConnect™ Gateway Administration GuideEyeball Networks
 
Blockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventBlockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventAraf Karsh Hamid
 

Ähnlich wie API Centric Patterns (20)

BizTalk Custom Adapters Toronto Code Camp Presentation
BizTalk Custom Adapters  Toronto Code Camp PresentationBizTalk Custom Adapters  Toronto Code Camp Presentation
BizTalk Custom Adapters Toronto Code Camp Presentation
 
11 atm
11 atm11 atm
11 atm
 
ENCOR_Capitulo 5.pptx
ENCOR_Capitulo 5.pptxENCOR_Capitulo 5.pptx
ENCOR_Capitulo 5.pptx
 
Big datadc skyfall_preso_v2
Big datadc skyfall_preso_v2Big datadc skyfall_preso_v2
Big datadc skyfall_preso_v2
 
Introduction to Diameter Protocol - Part1
Introduction to Diameter Protocol - Part1Introduction to Diameter Protocol - Part1
Introduction to Diameter Protocol - Part1
 
Chapter 16 : inter-vlan routing
Chapter 16 : inter-vlan routingChapter 16 : inter-vlan routing
Chapter 16 : inter-vlan routing
 
Honey process manager
Honey   process  managerHoney   process  manager
Honey process manager
 
Bless icnp2017
Bless icnp2017Bless icnp2017
Bless icnp2017
 
SOA patterns
SOA patterns SOA patterns
SOA patterns
 
Examen final ccna2
Examen final ccna2Examen final ccna2
Examen final ccna2
 
Chapter 05 - Inter-VLAN Routing
Chapter 05 - Inter-VLAN RoutingChapter 05 - Inter-VLAN Routing
Chapter 05 - Inter-VLAN Routing
 
KPUCC-Rs instructor ppt_chapter5_final
KPUCC-Rs instructor ppt_chapter5_finalKPUCC-Rs instructor ppt_chapter5_final
KPUCC-Rs instructor ppt_chapter5_final
 
CCNAv5 - S2: Chapter5 Inter Vlan Routing
CCNAv5 - S2: Chapter5 Inter Vlan RoutingCCNAv5 - S2: Chapter5 Inter Vlan Routing
CCNAv5 - S2: Chapter5 Inter Vlan Routing
 
VMware vSphere Networking deep dive
VMware vSphere Networking deep diveVMware vSphere Networking deep dive
VMware vSphere Networking deep dive
 
VMware vSphere Networking deep dive
VMware vSphere Networking deep diveVMware vSphere Networking deep dive
VMware vSphere Networking deep dive
 
VTP
VTPVTP
VTP
 
Exploration lan switching_chapter4
Exploration lan switching_chapter4Exploration lan switching_chapter4
Exploration lan switching_chapter4
 
Exploration lan switching_chapter4
Exploration lan switching_chapter4Exploration lan switching_chapter4
Exploration lan switching_chapter4
 
Eyeball AnyConnect™ Gateway Administration Guide
Eyeball AnyConnect™ Gateway Administration GuideEyeball AnyConnect™ Gateway Administration Guide
Eyeball AnyConnect™ Gateway Administration Guide
 
Blockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - ClaventBlockchain HyperLedger Fabric Internals - Clavent
Blockchain HyperLedger Fabric Internals - Clavent
 

Mehr von Daniel Cerecedo

From Legacy to the Cloud and Beyond
From Legacy to the Cloud and BeyondFrom Legacy to the Cloud and Beyond
From Legacy to the Cloud and BeyondDaniel Cerecedo
 
Drone Continuous Integration
Drone Continuous IntegrationDrone Continuous Integration
Drone Continuous IntegrationDaniel Cerecedo
 
Introducción a Story Mapping & más
Introducción a Story Mapping & másIntroducción a Story Mapping & más
Introducción a Story Mapping & másDaniel Cerecedo
 
IT para Product Managers
IT para Product ManagersIT para Product Managers
IT para Product ManagersDaniel Cerecedo
 
Battelfield REST, API Development from the trenches
Battelfield REST, API Development from the trenchesBattelfield REST, API Development from the trenches
Battelfield REST, API Development from the trenchesDaniel Cerecedo
 

Mehr von Daniel Cerecedo (8)

From Legacy to the Cloud and Beyond
From Legacy to the Cloud and BeyondFrom Legacy to the Cloud and Beyond
From Legacy to the Cloud and Beyond
 
Drone Continuous Integration
Drone Continuous IntegrationDrone Continuous Integration
Drone Continuous Integration
 
Introducción a Story Mapping & más
Introducción a Story Mapping & másIntroducción a Story Mapping & más
Introducción a Story Mapping & más
 
Todo sobre mis APIs
Todo sobre mis APIsTodo sobre mis APIs
Todo sobre mis APIs
 
Skyrocketing Web APIs
Skyrocketing Web APIsSkyrocketing Web APIs
Skyrocketing Web APIs
 
IT para Product Managers
IT para Product ManagersIT para Product Managers
IT para Product Managers
 
Battelfield REST, API Development from the trenches
Battelfield REST, API Development from the trenchesBattelfield REST, API Development from the trenches
Battelfield REST, API Development from the trenches
 
API Centric
API CentricAPI Centric
API Centric
 

Kürzlich hochgeladen

2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITmanoharjgpsolutions
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...kalichargn70th171
 
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxUnderstanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxSasikiranMarri
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxAS Design & AST.
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxRTS corp
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfkalichargn70th171
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 

Kürzlich hochgeladen (20)

2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
Best Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh ITBest Angular 17 Classroom & Online training - Naresh IT
Best Angular 17 Classroom & Online training - Naresh IT
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
The Ultimate Guide to Performance Testing in Low-Code, No-Code Environments (...
 
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptxUnderstanding Plagiarism: Causes, Consequences and Prevention.pptx
Understanding Plagiarism: Causes, Consequences and Prevention.pptx
 
Mastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptxMastering Project Planning with Microsoft Project 2016.pptx
Mastering Project Planning with Microsoft Project 2016.pptx
 
Advantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptxAdvantages of Cargo Cloud Solutions.pptx
Advantages of Cargo Cloud Solutions.pptx
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdfPros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
Pros and Cons of Selenium In Automation Testing_ A Comprehensive Assessment.pdf
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 

API Centric Patterns