SlideShare a Scribd company logo
1 of 28
Download to read offline
Confidential │ ©2020 VMware, Inc.
API First or Events
First: Is it a Binary
Choice?
Madhav Sathe
Cloud Applications Architect
@madhav_sathe
Last Updated:
September 2020
Rohit Kelapure
Solution Architect VMware
@rkela
APIs or Events ? What Came First ?
https://miro.com/app/board/o9J_koawt4w=/
Confidential │ ©2020 VMware, Inc. 2
APIs and Events - The fundamental difference?
Consumer
API
Do something for
me
APIs Events
Producer
Something
happened
Consumer
I’m interested in
it
Pub/Sub
Service Mesh and/or API Gateway
Confidential │ ©2020 VMware, Inc. 3
Your Digital Assets
New Business Channels
Internal
Developers
Partner
Developers
Customer
Developers
ERP, CRM
API Gateway “By 2023, over 50% of B2B transactions
will be performed through real-time APIs
versus traditional approaches.”
- Gartner, Use APIs to Modernize EDI for B2B
Ecosystem Integration, 11 June 2019
✓ Unlock new revenue streams
✓ Enable super infrastructure
✓ Adoption predicts financial
performance
Monetization through APIs
Future growth engine
Business Imperative - APIs
ConsumptionExposure
Confidential │ ©2020 VMware, Inc. 4
● Predictive analytics
● Fraud detection
● Real-time personalization
● IoT
● Easier to extend
● Autonomy to evolve
independently
● Independence allows
much better agility
● Serverless
● FaaS
Business Imperative - Events
Digital Experience → New
Economic Opportunities
Malleable Systems →
Reduced Time to Market
New Paradigms → Ride the
Cloud Wave
“By 2025, nearly 30 percent of data generated will be real-time” - IDC
Confidential │ ©2020 VMware, Inc. 5
Event Maturity Model
Inspired By Martin Fowler
6Confidential │ ©2020 VMware, Inc.
Heuristics
Choose Your Own Adventure
Confidential │ ©2020 VMware, Inc. 7
8Confidential │ ©2020 VMware, Inc.
“Successful software always gets
changed”
Fred Brooks
Confidential │ ©2020 VMware, Inc. 9
Monolith
Evolution of Architecture
Customer
Module
Order
Module
Customer Order
Confidential │ ©2020 VMware, Inc. 10
Microservices with tight coupling
Evolution of Architecture
Customer
Service
Order
Service
Customer Order
A P I A P I
Confidential │ ©2020 VMware, Inc. 11
Microservices with loose but temporal coupling
Evolution of Architecture
Customer
Service
Order
Service
Customer
A P I A P I
Order
Confidential │ ©2020 VMware, Inc. 12
Decoupled microservices with thick events
Evolution of Architecture
Customer
Service
Order
Service
Customer
A P I A P I
Order
Customer Events With
State
Order Events With State
Order Query
View
Customer
Query View
Confidential │ ©2020 VMware, Inc. 13
● API’s externally observed behavior can not
change unless it is backward compatible
● A good API practitioner will have sufficient
tests to ensure backward compatibility
● Spring Cloud Contracts can be included in
CI
● Use events with encoding standards that
support schemas such as Avro
● Use schema registry to ensure
compatibility
● Confluent’s schema registry maven plugin
can be used in CI
API & API Contracts Treat Event Schemas as API Contracts
Managing Evolution Without Breaking Things
Contracts & Compatibility
Confidential │ ©2020 VMware, Inc. 14
Design Considerations for Events Driven
Event broker
● Delivery guarantees
● Message ordering
Events
● Coupling due to event schema
● Message duplication
State
● Sagas to handle eventual consistency
● Idempotency in operations
Complete
decoupling
comes with a
cost
Confidential │ ©2020 VMware, Inc. 15
API & Events Math
API Events
Confidential │ ©2020 VMware, Inc. 16
Amundsen API Maturity Model
API First Architecture
Ease Of Consumption
Product
Cetricness
Confidential │ ©2020 VMware, Inc. 17
Patterns To Manage Uncertainty in Event Driven Architectures
Reference Architectures
Confidential │ ©2020 VMware, Inc. 18
Docket Based Choreography
Handling Uncertainty with APIs and Events
@shaunanderson
Confidential │ ©2020 VMware, Inc. 19
Events Based Stateful Streaming
Programming Models with Events
@sina sujoodi
Confidential │ ©2020 VMware, Inc. 20
Exploit The Best Of Both Worlds
Bringing It Together
Start with APIs and API Gateways
Immediate Impact
Incremental Feature development
Continue to decompose monoliths into a
mesh of microservices
Data Driven Strangler
Model the System as Events
Model Business Domain
Completely Decoupled Microservices
with Event Based Architecture and use
APIs to drive value
End Goal
OPERATIONALIZE SEAMS EVENT DOMAIN MODEL
Confidential │ ©2020 VMware, Inc.
Thank You
Confidential │ ©2020 VMware, Inc. 22
Tradeoffs and Functional choices
Role of APIs and Events in the Design of A Complex System
Confidential │ ©2020 VMware, Inc. 23
❖ Business
➢ Unlock new business channels by exposing data and services
➢ Montezing services
❖ Access
➢ Access across firewalls
➢ Endpoints in DMZ
➢ Abstract infrastructure and platform operations
➢ Platform & language neutral access to microservices
❖ Modernizing legacy
➢ Extending life of legacy with minimal disruption
➢ Anti-corruption layer
❖ Modern apps
➢ Backend for Frontend
➢ Temporal coupling is required
➢ Standards such as Service Mesh make it easy to implement zero-touch security
When To Use APIs
Confidential │ ©2020 VMware, Inc. 24
● Loosely Coupled Architecture
○ Temporal decoupling of microservices
○ Independent evolution of microservices
○ Extend architectures - Plug and play new modules
● Enables new Paradigms
○ Serverless microservices
● Data Modernization
○ Change data capture
○ Streaming & data transformation
○ Near real-time analytics
○ Modernizing ETLs
● Scaleable Business Processes
○ Implementing sagas
○ Notifications
When To Use Events
Confidential │ ©2020 VMware, Inc. 25
● Temporal coupling
● Needs extensive testing to ensure
backward compatibility
●
APIs Events
Challenges with each approach
Confidential │ ©2020 VMware, Inc. 26
Decoupled microservices with thin events
Evolution of Architecture
Customer
Service
Order
Service
Customer
A P I A P I
Order
Customer Events
Order Events
Confidential │ ©2020 VMware, Inc. 27
API Maturity Model Comparison
https://medium.com/good-api/api-maturity-fb25560151a3
Confidential │ ©2020 VMware, Inc. 28
Business Imperative - APIs & Events
Path To App Modernization
Reuse across multiple types of applications
and integrations
Enable Super Infrastructure - Forcing Function
for Value
Inclusive to humans & machines
Adoption helps predict financial performance
Make a system Malleable
Easier to extend
Greater autonomy to act independently
Independence allows much better agility
New paradigms - FaaS & Serverless
API First Business Events First Business

More Related Content

What's hot

What's hot (20)

Running Spring, .NET, and IBM Watson Voice on PCF 2.0
Running Spring, .NET, and IBM Watson Voice on PCF 2.0Running Spring, .NET, and IBM Watson Voice on PCF 2.0
Running Spring, .NET, and IBM Watson Voice on PCF 2.0
 
How datadog was born in and grew with the cloud
How datadog was born in and grew with the cloud How datadog was born in and grew with the cloud
How datadog was born in and grew with the cloud
 
How Zalando integrates Kubernetes with AWS
How Zalando integrates Kubernetes with AWSHow Zalando integrates Kubernetes with AWS
How Zalando integrates Kubernetes with AWS
 
Getting to the Next Level with Eclipse Concierge - Jan Rellermeyer + Tim Verb...
Getting to the Next Level with Eclipse Concierge - Jan Rellermeyer + Tim Verb...Getting to the Next Level with Eclipse Concierge - Jan Rellermeyer + Tim Verb...
Getting to the Next Level with Eclipse Concierge - Jan Rellermeyer + Tim Verb...
 
SWIFTly, Go Cloud!! - Swift@IBM
SWIFTly, Go Cloud!! - Swift@IBMSWIFTly, Go Cloud!! - Swift@IBM
SWIFTly, Go Cloud!! - Swift@IBM
 
"The Cloud Native Enterprise is Coming"
"The Cloud Native Enterprise is Coming" "The Cloud Native Enterprise is Coming"
"The Cloud Native Enterprise is Coming"
 
What Keeps Amazon Web Services Cloud On Top?
What Keeps Amazon Web Services Cloud On Top?What Keeps Amazon Web Services Cloud On Top?
What Keeps Amazon Web Services Cloud On Top?
 
Bringing swift to cloud
Bringing swift to cloudBringing swift to cloud
Bringing swift to cloud
 
Extending AEM Communities
Extending AEM CommunitiesExtending AEM Communities
Extending AEM Communities
 
Cloud Native API Management : Microservices to APIs in Kubernetes
Cloud Native API Management : Microservices to APIs in KubernetesCloud Native API Management : Microservices to APIs in Kubernetes
Cloud Native API Management : Microservices to APIs in Kubernetes
 
Azure Functions VS AWS Lambda: overview and comparison
Azure Functions VS AWS Lambda: overview and comparisonAzure Functions VS AWS Lambda: overview and comparison
Azure Functions VS AWS Lambda: overview and comparison
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure Functions
 
Enabling Remote Employees with Horizon VDI and Avi Networks
Enabling Remote Employees with Horizon VDI and Avi NetworksEnabling Remote Employees with Horizon VDI and Avi Networks
Enabling Remote Employees with Horizon VDI and Avi Networks
 
Publishing containerized micro services with Azure API management
Publishing containerized micro services with Azure API managementPublishing containerized micro services with Azure API management
Publishing containerized micro services with Azure API management
 
Moving from AWS to Atlas - Our Motivation and Journey from Self-Hosted to Man...
Moving from AWS to Atlas - Our Motivation and Journey from Self-Hosted to Man...Moving from AWS to Atlas - Our Motivation and Journey from Self-Hosted to Man...
Moving from AWS to Atlas - Our Motivation and Journey from Self-Hosted to Man...
 
Leading Edge of Modern Web Apps on Azure - Menaka - CCDays
Leading Edge of Modern Web Apps on Azure - Menaka - CCDaysLeading Edge of Modern Web Apps on Azure - Menaka - CCDays
Leading Edge of Modern Web Apps on Azure - Menaka - CCDays
 
Building Serverless Machine Learning models in the Cloud
Building Serverless Machine Learning models in the CloudBuilding Serverless Machine Learning models in the Cloud
Building Serverless Machine Learning models in the Cloud
 
Introduction to Google Cloud Platform (GCP) | Google Cloud Tutorial for Begin...
Introduction to Google Cloud Platform (GCP) | Google Cloud Tutorial for Begin...Introduction to Google Cloud Platform (GCP) | Google Cloud Tutorial for Begin...
Introduction to Google Cloud Platform (GCP) | Google Cloud Tutorial for Begin...
 
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...
 
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
CREATING REAL TIME DASHBOARD WITH BLAZOR, AZURE FUNCTION COSMOS DB AN AZURE S...
 

Similar to API First or Events First: Is it a Binary Choice?

Similar to API First or Events First: Is it a Binary Choice? (20)

OPS Executive insights Webinar - Tanzu Slides
OPS Executive insights Webinar - Tanzu SlidesOPS Executive insights Webinar - Tanzu Slides
OPS Executive insights Webinar - Tanzu Slides
 
Crafting a New Enterprise App Platform with Cloud Foundry, Kubernetes, Istio,...
Crafting a New Enterprise App Platform with Cloud Foundry, Kubernetes, Istio,...Crafting a New Enterprise App Platform with Cloud Foundry, Kubernetes, Istio,...
Crafting a New Enterprise App Platform with Cloud Foundry, Kubernetes, Istio,...
 
Securing Kubernetes Clusters with NGINX Plus Ingress Controller & NAP
Securing Kubernetes Clusters with NGINX Plus Ingress Controller & NAPSecuring Kubernetes Clusters with NGINX Plus Ingress Controller & NAP
Securing Kubernetes Clusters with NGINX Plus Ingress Controller & NAP
 
CNCF On-Demand Webinar_ LitmusChaos Project Updates.pdf
CNCF On-Demand Webinar_ LitmusChaos Project Updates.pdfCNCF On-Demand Webinar_ LitmusChaos Project Updates.pdf
CNCF On-Demand Webinar_ LitmusChaos Project Updates.pdf
 
What's New in API Connect & DataPower Gateway in 1H 2018
What's New in API Connect & DataPower Gateway in 1H 2018What's New in API Connect & DataPower Gateway in 1H 2018
What's New in API Connect & DataPower Gateway in 1H 2018
 
What's new in API Connect and DataPower - 2019
What's new in API Connect and DataPower - 2019What's new in API Connect and DataPower - 2019
What's new in API Connect and DataPower - 2019
 
Automate and simplify multi cloud complexity with f5 and hashi corp
Automate and simplify multi cloud complexity with f5 and hashi corpAutomate and simplify multi cloud complexity with f5 and hashi corp
Automate and simplify multi cloud complexity with f5 and hashi corp
 
From Pivotal to VMware Tanzu: What you need to know
From Pivotal to VMware Tanzu: What you need to knowFrom Pivotal to VMware Tanzu: What you need to know
From Pivotal to VMware Tanzu: What you need to know
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
apidays LIVE JAKARTA - Take control of your microservices with App Mesh by Ak...
apidays LIVE JAKARTA - Take control of your microservices with App Mesh by Ak...apidays LIVE JAKARTA - Take control of your microservices with App Mesh by Ak...
apidays LIVE JAKARTA - Take control of your microservices with App Mesh by Ak...
 
Design - Start Your API Journey Today
Design - Start Your API Journey TodayDesign - Start Your API Journey Today
Design - Start Your API Journey Today
 
Building Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and TektonBuilding Event-Driven Workflows with Knative and Tekton
Building Event-Driven Workflows with Knative and Tekton
 
The HANA Cloud Platform
The HANA Cloud PlatformThe HANA Cloud Platform
The HANA Cloud Platform
 
HANA Cloud Platform Overview
HANA Cloud Platform OverviewHANA Cloud Platform Overview
HANA Cloud Platform Overview
 
The long way from Monolith to Microservices
The long way from Monolith to MicroservicesThe long way from Monolith to Microservices
The long way from Monolith to Microservices
 
Accelerate Your Digital Transformation: How to Achieve Business Agility with ...
Accelerate Your Digital Transformation: How to Achieve Business Agility with ...Accelerate Your Digital Transformation: How to Achieve Business Agility with ...
Accelerate Your Digital Transformation: How to Achieve Business Agility with ...
 
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamicsMonitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
Monitoring Cloud Native Apps on Pivotal Cloud Foundry with AppDynamics
 
Check Point and Accenture Webinar
Check Point and Accenture Webinar Check Point and Accenture Webinar
Check Point and Accenture Webinar
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
 
Making App Security and Delivery Ridiculously Easy
Making App Security and Delivery Ridiculously EasyMaking App Security and Delivery Ridiculously Easy
Making App Security and Delivery Ridiculously Easy
 

More from VMware Tanzu

More from VMware Tanzu (20)

What AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
 

Recently uploaded

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+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
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%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
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%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 Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
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
 
%+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...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
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...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 

API First or Events First: Is it a Binary Choice?

  • 1. Confidential │ ©2020 VMware, Inc. API First or Events First: Is it a Binary Choice? Madhav Sathe Cloud Applications Architect @madhav_sathe Last Updated: September 2020 Rohit Kelapure Solution Architect VMware @rkela APIs or Events ? What Came First ? https://miro.com/app/board/o9J_koawt4w=/
  • 2. Confidential │ ©2020 VMware, Inc. 2 APIs and Events - The fundamental difference? Consumer API Do something for me APIs Events Producer Something happened Consumer I’m interested in it Pub/Sub Service Mesh and/or API Gateway
  • 3. Confidential │ ©2020 VMware, Inc. 3 Your Digital Assets New Business Channels Internal Developers Partner Developers Customer Developers ERP, CRM API Gateway “By 2023, over 50% of B2B transactions will be performed through real-time APIs versus traditional approaches.” - Gartner, Use APIs to Modernize EDI for B2B Ecosystem Integration, 11 June 2019 ✓ Unlock new revenue streams ✓ Enable super infrastructure ✓ Adoption predicts financial performance Monetization through APIs Future growth engine Business Imperative - APIs ConsumptionExposure
  • 4. Confidential │ ©2020 VMware, Inc. 4 ● Predictive analytics ● Fraud detection ● Real-time personalization ● IoT ● Easier to extend ● Autonomy to evolve independently ● Independence allows much better agility ● Serverless ● FaaS Business Imperative - Events Digital Experience → New Economic Opportunities Malleable Systems → Reduced Time to Market New Paradigms → Ride the Cloud Wave “By 2025, nearly 30 percent of data generated will be real-time” - IDC
  • 5. Confidential │ ©2020 VMware, Inc. 5 Event Maturity Model Inspired By Martin Fowler
  • 6. 6Confidential │ ©2020 VMware, Inc. Heuristics Choose Your Own Adventure
  • 7. Confidential │ ©2020 VMware, Inc. 7
  • 8. 8Confidential │ ©2020 VMware, Inc. “Successful software always gets changed” Fred Brooks
  • 9. Confidential │ ©2020 VMware, Inc. 9 Monolith Evolution of Architecture Customer Module Order Module Customer Order
  • 10. Confidential │ ©2020 VMware, Inc. 10 Microservices with tight coupling Evolution of Architecture Customer Service Order Service Customer Order A P I A P I
  • 11. Confidential │ ©2020 VMware, Inc. 11 Microservices with loose but temporal coupling Evolution of Architecture Customer Service Order Service Customer A P I A P I Order
  • 12. Confidential │ ©2020 VMware, Inc. 12 Decoupled microservices with thick events Evolution of Architecture Customer Service Order Service Customer A P I A P I Order Customer Events With State Order Events With State Order Query View Customer Query View
  • 13. Confidential │ ©2020 VMware, Inc. 13 ● API’s externally observed behavior can not change unless it is backward compatible ● A good API practitioner will have sufficient tests to ensure backward compatibility ● Spring Cloud Contracts can be included in CI ● Use events with encoding standards that support schemas such as Avro ● Use schema registry to ensure compatibility ● Confluent’s schema registry maven plugin can be used in CI API & API Contracts Treat Event Schemas as API Contracts Managing Evolution Without Breaking Things Contracts & Compatibility
  • 14. Confidential │ ©2020 VMware, Inc. 14 Design Considerations for Events Driven Event broker ● Delivery guarantees ● Message ordering Events ● Coupling due to event schema ● Message duplication State ● Sagas to handle eventual consistency ● Idempotency in operations Complete decoupling comes with a cost
  • 15. Confidential │ ©2020 VMware, Inc. 15 API & Events Math API Events
  • 16. Confidential │ ©2020 VMware, Inc. 16 Amundsen API Maturity Model API First Architecture Ease Of Consumption Product Cetricness
  • 17. Confidential │ ©2020 VMware, Inc. 17 Patterns To Manage Uncertainty in Event Driven Architectures Reference Architectures
  • 18. Confidential │ ©2020 VMware, Inc. 18 Docket Based Choreography Handling Uncertainty with APIs and Events @shaunanderson
  • 19. Confidential │ ©2020 VMware, Inc. 19 Events Based Stateful Streaming Programming Models with Events @sina sujoodi
  • 20. Confidential │ ©2020 VMware, Inc. 20 Exploit The Best Of Both Worlds Bringing It Together Start with APIs and API Gateways Immediate Impact Incremental Feature development Continue to decompose monoliths into a mesh of microservices Data Driven Strangler Model the System as Events Model Business Domain Completely Decoupled Microservices with Event Based Architecture and use APIs to drive value End Goal OPERATIONALIZE SEAMS EVENT DOMAIN MODEL
  • 21. Confidential │ ©2020 VMware, Inc. Thank You
  • 22. Confidential │ ©2020 VMware, Inc. 22 Tradeoffs and Functional choices Role of APIs and Events in the Design of A Complex System
  • 23. Confidential │ ©2020 VMware, Inc. 23 ❖ Business ➢ Unlock new business channels by exposing data and services ➢ Montezing services ❖ Access ➢ Access across firewalls ➢ Endpoints in DMZ ➢ Abstract infrastructure and platform operations ➢ Platform & language neutral access to microservices ❖ Modernizing legacy ➢ Extending life of legacy with minimal disruption ➢ Anti-corruption layer ❖ Modern apps ➢ Backend for Frontend ➢ Temporal coupling is required ➢ Standards such as Service Mesh make it easy to implement zero-touch security When To Use APIs
  • 24. Confidential │ ©2020 VMware, Inc. 24 ● Loosely Coupled Architecture ○ Temporal decoupling of microservices ○ Independent evolution of microservices ○ Extend architectures - Plug and play new modules ● Enables new Paradigms ○ Serverless microservices ● Data Modernization ○ Change data capture ○ Streaming & data transformation ○ Near real-time analytics ○ Modernizing ETLs ● Scaleable Business Processes ○ Implementing sagas ○ Notifications When To Use Events
  • 25. Confidential │ ©2020 VMware, Inc. 25 ● Temporal coupling ● Needs extensive testing to ensure backward compatibility ● APIs Events Challenges with each approach
  • 26. Confidential │ ©2020 VMware, Inc. 26 Decoupled microservices with thin events Evolution of Architecture Customer Service Order Service Customer A P I A P I Order Customer Events Order Events
  • 27. Confidential │ ©2020 VMware, Inc. 27 API Maturity Model Comparison https://medium.com/good-api/api-maturity-fb25560151a3
  • 28. Confidential │ ©2020 VMware, Inc. 28 Business Imperative - APIs & Events Path To App Modernization Reuse across multiple types of applications and integrations Enable Super Infrastructure - Forcing Function for Value Inclusive to humans & machines Adoption helps predict financial performance Make a system Malleable Easier to extend Greater autonomy to act independently Independence allows much better agility New paradigms - FaaS & Serverless API First Business Events First Business