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

VMware Developer-Ready Transformation
VMware Developer-Ready TransformationVMware Developer-Ready Transformation
VMware Developer-Ready TransformationVMware Tanzu
 
DevOps KPIs as a Service: Daimler’s Solution
DevOps KPIs as a Service: Daimler’s SolutionDevOps KPIs as a Service: Daimler’s Solution
DevOps KPIs as a Service: Daimler’s SolutionVMware Tanzu
 
Enterprise Application Migration
Enterprise Application MigrationEnterprise Application Migration
Enterprise Application MigrationVMware Tanzu
 
James Watters Kafka Summit NYC 2019 Keynote
James Watters Kafka Summit NYC 2019 KeynoteJames Watters Kafka Summit NYC 2019 Keynote
James Watters Kafka Summit NYC 2019 KeynoteJames Watters
 
DevOps automation for Container based App Delivery
DevOps automation for Container based App DeliveryDevOps automation for Container based App Delivery
DevOps automation for Container based App DeliveryWaveMaker, Inc.
 
CF Push for Beginners
CF Push for BeginnersCF Push for Beginners
CF Push for BeginnersVMware Tanzu
 
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...VMware Tanzu
 
Leveraging Standard Buildpacks to Migrate Not-So-Standard Apps
Leveraging Standard Buildpacks to Migrate Not-So-Standard AppsLeveraging Standard Buildpacks to Migrate Not-So-Standard Apps
Leveraging Standard Buildpacks to Migrate Not-So-Standard AppsVMware Tanzu
 
Reimagining Customer Experiences Utilizing Pivotal Cloud Foundry
Reimagining Customer Experiences Utilizing Pivotal Cloud FoundryReimagining Customer Experiences Utilizing Pivotal Cloud Foundry
Reimagining Customer Experiences Utilizing Pivotal Cloud FoundryVMware Tanzu
 
PKS: The What and How of Enterprise-Grade Kubernetes
PKS: The What and How of Enterprise-Grade KubernetesPKS: The What and How of Enterprise-Grade Kubernetes
PKS: The What and How of Enterprise-Grade KubernetesVMware Tanzu
 
Pivotal Cloud Foundry 1.10: First Look - Windows at Scale, Network Isolation
Pivotal Cloud Foundry 1.10: First Look - Windows at Scale, Network IsolationPivotal Cloud Foundry 1.10: First Look - Windows at Scale, Network Isolation
Pivotal Cloud Foundry 1.10: First Look - Windows at Scale, Network IsolationVMware Tanzu
 
Deep Dive into Pivotal Cloud Foundry 2.0
Deep Dive into Pivotal Cloud Foundry 2.0Deep Dive into Pivotal Cloud Foundry 2.0
Deep Dive into Pivotal Cloud Foundry 2.0VMware Tanzu
 
Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)
Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)
Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)VMware Tanzu
 
Legacy application modernization with microsoft azure
Legacy application modernization with microsoft azureLegacy application modernization with microsoft azure
Legacy application modernization with microsoft azureOptiSol Business Solutions
 
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real EventsVMware Tanzu
 
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed ServiceCloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed ServiceVMware Tanzu
 
Cloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CDCloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CDVMware Tanzu
 
What's new in Pivotal Cloud Foundry 1.6
What's new in Pivotal Cloud Foundry 1.6What's new in Pivotal Cloud Foundry 1.6
What's new in Pivotal Cloud Foundry 1.6dektlong
 
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...VMware Tanzu
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolithAgile integration: Decomposing the monolith
Agile integration: Decomposing the monolithJudy Breedlove
 

What's hot (20)

VMware Developer-Ready Transformation
VMware Developer-Ready TransformationVMware Developer-Ready Transformation
VMware Developer-Ready Transformation
 
DevOps KPIs as a Service: Daimler’s Solution
DevOps KPIs as a Service: Daimler’s SolutionDevOps KPIs as a Service: Daimler’s Solution
DevOps KPIs as a Service: Daimler’s Solution
 
Enterprise Application Migration
Enterprise Application MigrationEnterprise Application Migration
Enterprise Application Migration
 
James Watters Kafka Summit NYC 2019 Keynote
James Watters Kafka Summit NYC 2019 KeynoteJames Watters Kafka Summit NYC 2019 Keynote
James Watters Kafka Summit NYC 2019 Keynote
 
DevOps automation for Container based App Delivery
DevOps automation for Container based App DeliveryDevOps automation for Container based App Delivery
DevOps automation for Container based App Delivery
 
CF Push for Beginners
CF Push for BeginnersCF Push for Beginners
CF Push for Beginners
 
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
Concourse, Spinnaker, Cloud Foundry, Oh My! Creating Sophisticated Deployment...
 
Leveraging Standard Buildpacks to Migrate Not-So-Standard Apps
Leveraging Standard Buildpacks to Migrate Not-So-Standard AppsLeveraging Standard Buildpacks to Migrate Not-So-Standard Apps
Leveraging Standard Buildpacks to Migrate Not-So-Standard Apps
 
Reimagining Customer Experiences Utilizing Pivotal Cloud Foundry
Reimagining Customer Experiences Utilizing Pivotal Cloud FoundryReimagining Customer Experiences Utilizing Pivotal Cloud Foundry
Reimagining Customer Experiences Utilizing Pivotal Cloud Foundry
 
PKS: The What and How of Enterprise-Grade Kubernetes
PKS: The What and How of Enterprise-Grade KubernetesPKS: The What and How of Enterprise-Grade Kubernetes
PKS: The What and How of Enterprise-Grade Kubernetes
 
Pivotal Cloud Foundry 1.10: First Look - Windows at Scale, Network Isolation
Pivotal Cloud Foundry 1.10: First Look - Windows at Scale, Network IsolationPivotal Cloud Foundry 1.10: First Look - Windows at Scale, Network Isolation
Pivotal Cloud Foundry 1.10: First Look - Windows at Scale, Network Isolation
 
Deep Dive into Pivotal Cloud Foundry 2.0
Deep Dive into Pivotal Cloud Foundry 2.0Deep Dive into Pivotal Cloud Foundry 2.0
Deep Dive into Pivotal Cloud Foundry 2.0
 
Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)
Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)
Unlock your VMWare Investment with Pivotal Cloud Foundry (VMworld 2014)
 
Legacy application modernization with microsoft azure
Legacy application modernization with microsoft azureLegacy application modernization with microsoft azure
Legacy application modernization with microsoft azure
 
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
 
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed ServiceCloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
Cloud-Native Patterns and the Benefits of MySQL as a Platform Managed Service
 
Cloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CDCloud-Native Operations with Kubernetes and CI/CD
Cloud-Native Operations with Kubernetes and CI/CD
 
What's new in Pivotal Cloud Foundry 1.6
What's new in Pivotal Cloud Foundry 1.6What's new in Pivotal Cloud Foundry 1.6
What's new in Pivotal Cloud Foundry 1.6
 
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...Moderniser le legacy JEE avec les containers et les microservices: patterns a...
Moderniser le legacy JEE avec les containers et les microservices: patterns a...
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolithAgile integration: Decomposing the monolith
Agile integration: Decomposing the monolith
 

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

OPS Executive insights Webinar - Tanzu Slides
OPS Executive insights Webinar - Tanzu SlidesOPS Executive insights Webinar - Tanzu Slides
OPS Executive insights Webinar - Tanzu SlidesVMware Tanzu
 
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 & NAPOlivia LaMar
 
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.pdfLibbySchulze
 
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 2018IBM API Connect
 
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 - 2019IBM DataPower Gateway
 
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 corpMitchell Pronschinske
 
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 knowVMware Tanzu
 
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 ChoreoWSO2
 
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...apidays
 
Design - Start Your API Journey Today
Design - Start Your API Journey TodayDesign - Start Your API Journey Today
Design - Start Your API Journey TodayLaurenWendler
 
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 TektonLeon Stigter
 
HANA Cloud Platform Overview
HANA Cloud Platform OverviewHANA Cloud Platform Overview
HANA Cloud Platform OverviewVictor Ionescu
 
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 MicroservicesIgor Miniailo
 
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 ...XebiaLabs
 
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 AppDynamicsNima Badiey
 
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 insightsconfluent
 
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 EasyCristian Garcia G.
 
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0WSO2
 

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
 
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
 
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
 

More from Rohit Kelapure

Migrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMixMigrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMixRohit Kelapure
 
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...Liberty Buildpack: Designed for Extension - Integrating your services in Blue...
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...Rohit Kelapure
 
A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix Rohit Kelapure
 
Liberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_steLiberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_steRohit Kelapure
 
Dynacache in WebSphere Portal Server
Dynacache in WebSphere Portal ServerDynacache in WebSphere Portal Server
Dynacache in WebSphere Portal ServerRohit Kelapure
 
Classloader leak detection in websphere application server
Classloader leak detection in websphere application serverClassloader leak detection in websphere application server
Classloader leak detection in websphere application serverRohit Kelapure
 
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-finalRohit Kelapure
 
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-finalRohit Kelapure
 
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-finalRohit Kelapure
 
Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshopRohit Kelapure
 
Performance tuningtoolkitintroduction
Performance tuningtoolkitintroductionPerformance tuningtoolkitintroduction
Performance tuningtoolkitintroductionRohit Kelapure
 
IBM Health Center Details
IBM Health Center DetailsIBM Health Center Details
IBM Health Center DetailsRohit Kelapure
 
Java EE vs Spring Framework
Java  EE vs Spring Framework Java  EE vs Spring Framework
Java EE vs Spring Framework Rohit Kelapure
 
Debugging java deployments_2
Debugging java deployments_2Debugging java deployments_2
Debugging java deployments_2Rohit Kelapure
 
Caching technology comparison
Caching technology comparisonCaching technology comparison
Caching technology comparisonRohit Kelapure
 
SIBus Tuning for production WebSphere Application Server
SIBus Tuning for production WebSphere Application Server SIBus Tuning for production WebSphere Application Server
SIBus Tuning for production WebSphere Application Server Rohit Kelapure
 
First Failure Data Capture for your enterprise application with WebSphere App...
First Failure Data Capture for your enterprise application with WebSphere App...First Failure Data Capture for your enterprise application with WebSphere App...
First Failure Data Capture for your enterprise application with WebSphere App...Rohit Kelapure
 
Caching technology comparison
Caching technology comparisonCaching technology comparison
Caching technology comparisonRohit Kelapure
 
Caching technology comparison
Caching technology comparisonCaching technology comparison
Caching technology comparisonRohit Kelapure
 

More from Rohit Kelapure (20)

Migrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMixMigrate Heroku & OpenShift Applications to IBM BlueMix
Migrate Heroku & OpenShift Applications to IBM BlueMix
 
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...Liberty Buildpack: Designed for Extension - Integrating your services in Blue...
Liberty Buildpack: Designed for Extension - Integrating your services in Blue...
 
A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix A Deep Dive into the Liberty Buildpack on IBM BlueMix
A Deep Dive into the Liberty Buildpack on IBM BlueMix
 
Liberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_steLiberty dynacache ffw_iea_ste
Liberty dynacache ffw_iea_ste
 
1812 icap-v1.3 0430
1812 icap-v1.3 04301812 icap-v1.3 0430
1812 icap-v1.3 0430
 
Dynacache in WebSphere Portal Server
Dynacache in WebSphere Portal ServerDynacache in WebSphere Portal Server
Dynacache in WebSphere Portal Server
 
Classloader leak detection in websphere application server
Classloader leak detection in websphere application serverClassloader leak detection in websphere application server
Classloader leak detection in websphere application server
 
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
 
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
2012 04-06-v2-tdp-1163-java e-evsspringshootout-final
 
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final2012 04-09-v2-tdp-1167-cdi-bestpractices-final
2012 04-09-v2-tdp-1167-cdi-bestpractices-final
 
Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshop
 
Performance tuningtoolkitintroduction
Performance tuningtoolkitintroductionPerformance tuningtoolkitintroduction
Performance tuningtoolkitintroduction
 
IBM Health Center Details
IBM Health Center DetailsIBM Health Center Details
IBM Health Center Details
 
Java EE vs Spring Framework
Java  EE vs Spring Framework Java  EE vs Spring Framework
Java EE vs Spring Framework
 
Debugging java deployments_2
Debugging java deployments_2Debugging java deployments_2
Debugging java deployments_2
 
Caching technology comparison
Caching technology comparisonCaching technology comparison
Caching technology comparison
 
SIBus Tuning for production WebSphere Application Server
SIBus Tuning for production WebSphere Application Server SIBus Tuning for production WebSphere Application Server
SIBus Tuning for production WebSphere Application Server
 
First Failure Data Capture for your enterprise application with WebSphere App...
First Failure Data Capture for your enterprise application with WebSphere App...First Failure Data Capture for your enterprise application with WebSphere App...
First Failure Data Capture for your enterprise application with WebSphere App...
 
Caching technology comparison
Caching technology comparisonCaching technology comparison
Caching technology comparison
 
Caching technology comparison
Caching technology comparisonCaching technology comparison
Caching technology comparison
 

Recently uploaded

What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 

Recently uploaded (20)

What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 

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