Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Resilient and Adaptable Systems with Cloud Native APIs

Resilient and Adaptable Systems with Cloud Native APIs

You may have heard about cloud native applications and the patterns and infrastructure required to run them, but what about your APIs? What is a cloud native API?

As we move to cloud native systems, the APIs are the glue that binds them together. API clients can be very diverse, from the desktop to mobile to IoT.

In this talk, we describe what a cloud native API is and discuss some patterns and protocols that help connect clients and APIs. Some of the patterns we discuss include API gateways, API discoverability, distributed APIs, and adaptability. We demo some tools, protocols, and projects that you can use to implement Cloud Native APIs, such as RSocket.

Olga Maciaszek-Sharma

September 01, 2021
Tweet

More Decks by Olga Maciaszek-Sharma

Other Decks in Technology

Transcript

  1. Spencer Gibb @spencerbgibb Olga Maciaszek-Sharma @olga_maciaszek Resilient and Adaptable Systems

    with Cloud Native APIs Copyright © 2020 VMware, Inc. or its affiliates. 1
  2. Cover w/ Image Agenda • What is a Cloud-Native API?

    • Protocols • Gateways • Architecture • Demo • Q+A 2
  3. Spring Cloud Function @SpringBootApplication public class Application { [...] @Bean

    public Function<String, String> uppercase() { return value -> value.toUpperCase(); }} 21
  4. ' 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
  5. 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
  6. Spring Cloud Gateway Spring Cloud Gateway Service 1 Service 2

    Service 3 Service 4 Mobile App Web App 60
  7. RSocket Broker RSocket Broker Service 1 Service 3 Service 2

    Service 3 RSocket Broker RSocket Broker Service 1 Service 2 64
  8. POST Service ID and RSocket endpoint from URI byte[] Tags

    passed as headers Interaction mode from URI or default WellKnownKey 68
  9. Legacy Service + RSocket ecosystem Legacy HTTP Service RSocket Broker

    RSocket Service RSocket Service RSocket Service RSocket Service 76
  10. Legacy Service + RSocket ecosystem Legacy HTTP Service RSocket Broker

    RSocket Service RSocket Service RSocket Service RSocket Service HTTP RSocket Bridge 77
  11. Demo Flow HTTP Loan Service RSocket Broker RSocket Verification Service

    Gateway HTTP RSocket Bridge Verification Request Verification Response 79