SlideShare a Scribd company logo
Spencer Gibb @spencerbgibb
Olga Maciaszek-Sharma @olga_maciaszek
Resilient and Adaptable Systems
with Cloud Native APIs
Copyright © 2020 VMware, Inc. or its affiliates.
1
Cover w/ Image
Agenda
● What is a Cloud-Native API?
● Protocols
● Gateways
● Architecture
● Demo
● Q+A
2
What is a Cloud-Native API?
3
The API is the product
https://techcrunch.com/2019/09/06/apis-are-the-next-big-saas-wave/
API First
4
IoT devices
API First: The API is the product
WWW
Mobile Apps Web apps
5
API First: The API is the product
6
API First: The API is the product
Streaming Shopping Shipping
7
Systems Driven by the API
8
Systems Driven by the API
Apps Instances &
Networks
Load
Balancer
9
Systems Driven by the API
Resilience Fault
Tolerance
Rate
Limiting
10
The API is greater than the sum of its parts
11
Serverless
12
Server-side architecture run in
stateless, event-triggered, ephemeral
compute containers.*
* https://martinfowler.com/articles/serverless.html
13
Backend as a Service
14
Function as a Service
15
Event-Driven
16
Infrastructure management handled by
cloud providers
17
Automatic scaling
Built-in high availability
Pay-for-use billing model
18
Emphasis on short startup and low
memory footprint
19
Higher system complexity
Complex monitoring and tracing
Risk of vendor locks
Last 10% trap
20
Spring Cloud Function
@SpringBootApplication
public class Application {
[...]
@Bean
public Function<String, String> uppercase() {
return value -> value.toUpperCase();
}}
21
Tanzu Application Platform
22
Efficiency/Speed
23
Responsiveness is important
Optimize for availability and speed
24
Protocols
25
Infrastructure is Important.
Scaling and Resiliency
26
Spring Ecosystem
allows focus on core business.
Speed to market matters.
27
Evolving
28
Intra-service communication as part of
functionalities’ implementation
29
APIs within systems
30
Backward compatibility
Addition only
Tolerant consumers
Deferred updates
31
Consumer-Driven Contracts
Collaborative
Scenario-based
Integration testing
Backwards compatibility testing
32
'Spring Cloud Contract
request {
method 'PUT'
url '/fraudcheck'
body([
"client.id": $(regex('[0-9]{10}')),
loanAmount : 99999
])
headers {
contentType('application/json')
}
}
response {
status OK()
body([
fraudCheckStatus : "FRAUD",
"rejection.reason": "Amount too high"
])
headers {
contentType('application/json')
}
}
33
Protocols
34
HTTP
35
Resource-oriented
36
Simple and straightforward
37
Client-Server/ Request-Response
Synchronous
Head-of-line blocking
38
Text-based
The internet is running in debug mode*
* http://java-is-the-new-c.blogspot.com/2014/10/why-protocols-are-messy-concept.html
39
HTTP/2
Binary
Multiplexed
Headers compression
Server Push
40
Upcoming: HTTP/3
QUIC-based
41
Messaging
42
Rabbitmq & Kafka
offer distributed message brokers
and streaming semantics
43
Topics & Queues
44
Durable or Ephemeral
45
Messaging allows separation of
concerns at the API level
46
Event Sourcing
Command Query Responsibility
Segregation (CQRS)
https://martinfowler.com/eaaDev/EventSourcing.html
https://martinfowler.com/bliki/CQRS.html
47
RSocket
48
Reactive Streams semantics on
protocol level
49
Message-driven
Asynchronous
50
Fire-and-Forget
Request/Response
Request/Stream
Channel
51
Flow Control
Backpressure
Leasing
52
Binary
53
TCP
WebSockets
Aeron
Upcoming: HTTP/3 (QUIC)
54
Gateways
55
Discoverability
56
Changing topology
57
Service Registration and Discovery
Service A
Service Registry
Service A
Service A
1. Register
Service B
2. Query for service A instances
3. Connect
58
Spring Cloud Gateway
59
Spring Cloud Gateway
Spring Cloud
Gateway
Service 1
Service 2
Service 3
Service 4
Mobile App
Web App
60
Spring Cloud Gateway
Load Balancing
Fault Tolerance
Rate Limiting
Security
61
RSocket Broker
62
RSocket Broker
Load Balancing
Fault Tolerance
Security
Service Discovery
63
RSocket Broker
RSocket
Broker
Service 1
Service 3
Service 2
Service 3
RSocket
Broker
RSocket
Broker
Service 1
Service 2
64
RSocket 💖 HTTP
65
RSocketHttpBridge
66
http POST
host:port/serviceId/rsocketEndpointId
< valid.json
67
POST
Service ID and RSocket endpoint from URI
byte[]
Tags passed as headers
Interaction mode from URI or default
WellKnownKey
68
Architecture
69
Greenfield
70
Allows builders to choose
the right tool for the job
71
Constraints are:
budget, personnel, time to market,
functional requirements.
72
Freedom of choice
73
Legacy/Heritage
74
Modernising architecture by areas/
components
75
Legacy Service + RSocket ecosystem
Legacy HTTP
Service
RSocket
Broker
RSocket Service
RSocket Service
RSocket Service
RSocket Service
76
Legacy Service + RSocket ecosystem
Legacy HTTP
Service
RSocket
Broker
RSocket Service
RSocket Service
RSocket Service
RSocket Service
HTTP RSocket
Bridge
77
Demo
78
Demo Flow
HTTP Loan Service RSocket Broker
RSocket
Verification
Service
Gateway
HTTP RSocket
Bridge
Verification Request
Verification Response
79
Resources
● https://github.com/OlgaMaciaszek/spring-one-2021-rsocket-http-sample
● https://github.com/rsocket-routing/rsocket-routing-broker
● https://github.com/spring-projects-experimental/spring-native
● https://spring.io/projects/spring-cloud-function
● https://spring.io/projects/spring-cloud-contract
● https://spring.io/projects/spring-cloud-gateway
● https://rsocket.io/
80
Thank you
@olga_maciaszek
@spencerbgibb
© 2020 Spring. A VMware-backed project.
81

More Related Content

What's hot (20)

PDF
Fundamental Spring Boot: Keep it Simple, Get it Right, Be Productive and Have...
VMware Tanzu
 
PDF
Shrebo Case Study
VMware Tanzu
 
PDF
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
VMware Tanzu
 
PPTX
Bulletproof Microservices with Spring and Kubernetes
VMware Tanzu
 
PDF
Introducing Spring Framework 5.3
VMware Tanzu
 
PDF
VMware Tanzu Application Service as an Integration Platform
VMware Tanzu
 
PDF
Flux is incubating + the road ahead
LibbySchulze
 
PDF
Spring Boot Whirlwind Tour
VMware Tanzu
 
PDF
Spring Data JDBC: Beyond the Obvious
VMware Tanzu
 
PDF
Resilient Microservices with Spring Cloud
VMware Tanzu
 
PDF
Debugging Complex Issues in Web Applications
VMware Tanzu
 
PDF
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Toni Jara
 
PDF
Introduction to Spring Cloud
VMware Tanzu
 
PDF
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
VMware Tanzu
 
PDF
Spring GraphQL
VMware Tanzu
 
PDF
Spring Boot Loves K8s
VMware Tanzu
 
PDF
Observability Enhancements in Steeltoe
VMware Tanzu
 
PDF
Introducing Spring Cloud Gateway and API Hub for VMware Tanzu
VMware Tanzu
 
PDF
Developers Are Users, Too
VMware Tanzu
 
PDF
Spring Cloud Function: Where We Were, Where We Are, and Where We’re Going
VMware Tanzu
 
Fundamental Spring Boot: Keep it Simple, Get it Right, Be Productive and Have...
VMware Tanzu
 
Shrebo Case Study
VMware Tanzu
 
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
VMware Tanzu
 
Bulletproof Microservices with Spring and Kubernetes
VMware Tanzu
 
Introducing Spring Framework 5.3
VMware Tanzu
 
VMware Tanzu Application Service as an Integration Platform
VMware Tanzu
 
Flux is incubating + the road ahead
LibbySchulze
 
Spring Boot Whirlwind Tour
VMware Tanzu
 
Spring Data JDBC: Beyond the Obvious
VMware Tanzu
 
Resilient Microservices with Spring Cloud
VMware Tanzu
 
Debugging Complex Issues in Web Applications
VMware Tanzu
 
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Toni Jara
 
Introduction to Spring Cloud
VMware Tanzu
 
“Sh*^%# on Fire, Yo!”: A True Story Inspired by Real Events
VMware Tanzu
 
Spring GraphQL
VMware Tanzu
 
Spring Boot Loves K8s
VMware Tanzu
 
Observability Enhancements in Steeltoe
VMware Tanzu
 
Introducing Spring Cloud Gateway and API Hub for VMware Tanzu
VMware Tanzu
 
Developers Are Users, Too
VMware Tanzu
 
Spring Cloud Function: Where We Were, Where We Are, and Where We’re Going
VMware Tanzu
 

Similar to Resilient and Adaptable Systems with Cloud Native APIs (20)

PPTX
Enterprise Application Architectures by Dr. Indika Kumara
Thejan Wijesinghe
 
PPTX
How do async ap is survive in a rest world
Red Hat
 
PDF
apidays Paris 2019 - How Do Async APIs Survive in a Rest World? by Luca Ferra...
apidays
 
PDF
apidays LIVE Paris - Building APIs in a Cloud Native era by Nuwan Dias
apidays
 
PDF
Building APIs in a Cloud Native Era
Nuwan Dias
 
PDF
09-01-services-slides.pdf for educations
katariraju71
 
PDF
Restful风格ž„web服务架构
Benjamin Tan
 
PDF
Cloud Native API Design and Management
AllBits BVBA (freelancer)
 
PDF
What are restful web services?
Aparna Sharma
 
PDF
REST APIs
Arthur De Magalhaes
 
PPTX
APIs at the Edge
Red Hat
 
PDF
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
WSO2
 
PDF
5 Pillars of Building Enterprise0grade APIs
WSO2
 
PPTX
The Right Kind of API – How To Choose Appropriate API Protocols and Data Form...
Nordic APIs
 
PPTX
Introduction to Web Services
Jeffrey Anderson
 
PDF
Facebook & Twitter API
Fabrice Delhoste
 
PPTX
Intro to Microservices Architecture
Peter Nijem
 
PPTX
Kubernetes Ingress to Service Mesh (and beyond!)
Christian Posta
 
PDF
Spring Cloud Gateway - Nate Schutta
VMware Tanzu
 
PDF
Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...
WSO2
 
Enterprise Application Architectures by Dr. Indika Kumara
Thejan Wijesinghe
 
How do async ap is survive in a rest world
Red Hat
 
apidays Paris 2019 - How Do Async APIs Survive in a Rest World? by Luca Ferra...
apidays
 
apidays LIVE Paris - Building APIs in a Cloud Native era by Nuwan Dias
apidays
 
Building APIs in a Cloud Native Era
Nuwan Dias
 
09-01-services-slides.pdf for educations
katariraju71
 
Restful风格ž„web服务架构
Benjamin Tan
 
Cloud Native API Design and Management
AllBits BVBA (freelancer)
 
What are restful web services?
Aparna Sharma
 
APIs at the Edge
Red Hat
 
[WSO2Con EU 2017] Building Next Generation Banking Middleware at ING: The Rol...
WSO2
 
5 Pillars of Building Enterprise0grade APIs
WSO2
 
The Right Kind of API – How To Choose Appropriate API Protocols and Data Form...
Nordic APIs
 
Introduction to Web Services
Jeffrey Anderson
 
Facebook & Twitter API
Fabrice Delhoste
 
Intro to Microservices Architecture
Peter Nijem
 
Kubernetes Ingress to Service Mesh (and beyond!)
Christian Posta
 
Spring Cloud Gateway - Nate Schutta
VMware Tanzu
 
Apply API Governance to RESTful Service APIs using WSO2 Governance Registry a...
WSO2
 
Ad

More from VMware Tanzu (20)

PDF
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
PDF
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
PDF
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
PPTX
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
PDF
Spring Update | July 2023
VMware Tanzu
 
PPTX
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
PPTX
Building Cloud Ready Apps
VMware Tanzu
 
PDF
Spring Boot 3 And Beyond
VMware Tanzu
 
PDF
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
PPTX
tanzu_developer_connect.pptx
VMware Tanzu
 
PDF
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
PDF
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
PDF
Virtual Developer Connect Workshop - English
VMware Tanzu
 
PDF
Tanzu Developer Connect - French
VMware Tanzu
 
PDF
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
PDF
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
PDF
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
PDF
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 
Spring into AI presented by Dan Vega 5/14
VMware Tanzu
 
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu
 
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu
 
Spring Update | July 2023
VMware Tanzu
 
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu
 
Building Cloud Ready Apps
VMware Tanzu
 
Spring Boot 3 And Beyond
VMware Tanzu
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu
 
tanzu_developer_connect.pptx
VMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu
 
Tanzu Developer Connect Workshop - English
VMware Tanzu
 
Virtual Developer Connect Workshop - English
VMware Tanzu
 
Tanzu Developer Connect - French
VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
VMware Tanzu
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu
 
Ad

Recently uploaded (20)

PDF
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
PPTX
PowerISO Crack 2025 – Free Download Full Version with Serial Key [Latest](1)....
HyperPc soft
 
PDF
Salesforce CRM Services.VALiNTRY360
VALiNTRY360
 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PDF
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
PPTX
Quality on Autopilot: Scaling Testing in Uyuni
Oscar Barrios Torrero
 
PDF
LPS25 - Operationalizing MLOps in GEP - Terradue.pdf
terradue
 
PDF
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
PDF
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
PPTX
Perfecting XM Cloud for Multisite Setup.pptx
Ahmed Okour
 
PPTX
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
PPTX
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
 
PPTX
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
 
PPTX
WYSIWYG Web Builder Crack 2025 – Free Download Full Version with License Key
HyperPc soft
 
PPTX
Writing Better Code - Helping Developers make Decisions.pptx
Lorraine Steyn
 
PDF
Laboratory Workflows Digitalized and live in 90 days with Scifeon´s SAPPA P...
info969686
 
PDF
GridView,Recycler view, API, SQLITE& NetworkRequest.pdf
Nabin Dhakal
 
PDF
Capcut Pro Crack For PC Latest Version {Fully Unlocked} 2025
hashhshs786
 
PPTX
Human Resources Information System (HRIS)
Amity University, Patna
 
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
PowerISO Crack 2025 – Free Download Full Version with Serial Key [Latest](1)....
HyperPc soft
 
Salesforce CRM Services.VALiNTRY360
VALiNTRY360
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
Quality on Autopilot: Scaling Testing in Uyuni
Oscar Barrios Torrero
 
LPS25 - Operationalizing MLOps in GEP - Terradue.pdf
terradue
 
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
Perfecting XM Cloud for Multisite Setup.pptx
Ahmed Okour
 
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
 
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
 
WYSIWYG Web Builder Crack 2025 – Free Download Full Version with License Key
HyperPc soft
 
Writing Better Code - Helping Developers make Decisions.pptx
Lorraine Steyn
 
Laboratory Workflows Digitalized and live in 90 days with Scifeon´s SAPPA P...
info969686
 
GridView,Recycler view, API, SQLITE& NetworkRequest.pdf
Nabin Dhakal
 
Capcut Pro Crack For PC Latest Version {Fully Unlocked} 2025
hashhshs786
 
Human Resources Information System (HRIS)
Amity University, Patna
 

Resilient and Adaptable Systems with Cloud Native APIs