Slide 1

Slide 1 text

@MICROCKSIO #KAFKASUMMIT Speed-up Kafka delivery with AsyncAPI & Microcks Hugo Guerrero / @hguerreroo

Slide 2

Slide 2 text

@MICROCKSIO #KAFKASUMMIT Hugo Guerrero Mexican @ MA, USA @hguerreroo Event-Driven APIs Specialist Open Source Advocate History, Travel & Food Enthusiast

Slide 3

Slide 3 text

Events everywhere. Why the raise of events-driven API ? Photo by Carol Jeng on Unsplash #KAFKASUMMIT @MICROCKSIO

Slide 4

Slide 4 text

@MICROCKSIO #KAFKASUMMIT Because of distributed systems ! icons by Made x Made from the Noun Project TRADITIONAL REQUEST/RESPONSE API INVOLVE STRONG UPTIME COUPLING.

Slide 5

Slide 5 text

#KAFKASUMMIT @MICROCKSIO Kafkaesque Situation ENDPOINT DOCUMENTATION ? DATA FORMAT AND VALIDATION ? INFRASTRUCTURE ACCESS ? PUBLISHERS & CONSUMERS COMPLIANCE ? EVENTS AVAILABILITY ? MIS-UNDERSTANDING SLOW TIME TO MARKET, POOR QUALITY

Slide 6

Slide 6 text

#SOLACE SE icons by Made x Made from the Noun Project @MICROCKSIO HOW TO AVOID STRONG BUILD-TIME COUPLING ? Project Planning Architecture

Slide 7

Slide 7 text

@MICROCKSIO #KAFKASUMMIT Event-Driven Secret-Weapon An open source initiative that seeks to improve the current state of Event-Driven Architectures. Created to describe Event-driven APIs using MQTT, AMQP, Apache Kafka, ... “Sister” specification to OpenAPI: same base syntax, use JSON Schema or Avro underhood.

Slide 8

Slide 8 text

@MICROCKSIO #KAFKASUMMIT AsyncAPI Anatomy Info: metadata and documentation for this asynchronous API: version, title, description, contact and licensing terms Servers: list of brokers with binding details (URLs and security protocols) Channel Item: destination that will be used by the API to publish or consume events. Destination may be mapped to a topic, queue, address name depending on the protocol binding. Operation: whether the application using the AsyncAPI should subscribe or produce messages. Holds its own descriptive metadata Message: the content-type and structure of message headers and payload. May reference schemas of different types (AsyncAPI, JSON, Avro). May contain examples! Components: Common definitions (schemas, traits, messages) like in OpenAPI v3

Slide 9

Slide 9 text

@MICROCKSIO #KAFKASUMMIT Introducing Microcks Open source Kubernetes-native tool for API Mocking and Testing. It provides an enterprise-grade solution to speed up, secure and scale your API strategy for the digital era. Microcks references any types of APIs or microservices contracts and examples.

Slide 10

Slide 10 text

@MICROCKSIO #KAFKASUMMIT Microcks Use-cases API Provider API Provider API Consumer Turn specification into live mocks ! Ensure your implementation is compliant with contract

Slide 11

Slide 11 text

#APIDAYS PARIS 2020 @MICROCKSIO Magic Demo Time Photo by Unsplash

Slide 12

Slide 12 text

@MICROCKSIO #KAFKASUMMIT All Kafka Every N sec. user-signedup-api-0. 1.1-user-signedup Microcks connected broker (mocking topic generated by Microcks) Microcks connected schema registry Any Schema Registry Listen events during test Any Kafka broker user-registration (real application topic) Azure Event Hubs

Slide 13

Slide 13 text

icons by Made x Made from the Noun Project #SOLACE SE @MICROCKSIO EASE COLLABORATION REUSE EXISTING ASSETS CONSISTENT APPROACH REST, ASYNC, SOAP WS Microcks Benefits RUNS EVERYWHERE KUBERNETES IS RUNNING ON THE CLOUD OR ON-PREMISES ACCELERATE FEEDBACKS AND REDUCE TIME TO MARKET SIMULATE ENDPOINTS VALIDATE CONTINUOUSLY

Slide 14

Slide 14 text

@MICROCKSIO #KAFKASUMMIT More Resources Apache Kafka Mocking and Testing https://microcks.io/blog/apache-kafka-mocking-testing/ Continuous Testing - OpenAPI & AsyncAPI Together https://microcks.io/blog/continuous-testing-all-your-apis/ How Microcks Can Speed-Up Your AsyncAPI Adoption - Part 1 & 2 https://www.asyncapi.com/blog/microcks-asyncapi-part1 https://www.asyncapi.com/blog/microcks-asyncapi-part2 Join the community on Zulip https://microcksio.zulipchat.com

Slide 15

Slide 15 text

@MICROCKSIO #KAFKASUMMIT We Need You! Try Microcks (microcks.io) ! Come chatting on Gitter gitter.im/microcks Follow us on Twitter @microcksio, Distribute & if you like it. It’s a 100% Open Source. And if you love it, contribute !

Slide 16

Slide 16 text

@MICROCKSIO #KAFKASUMMIT THANK YOU ! Hugo Guerrero @hguerreroo https://www.youtube.com/user/hguerreroo https://hellokube.dev https://developers.redhat.com/author/hugo-guerrero