Slide 1

Slide 1 text

THE PATH OF GOOD API Zdenek “Z” Nemec 10 Things I Learned about APIs in 7 Years goodapi.co

Slide 2

Slide 2 text

I help businesses to build their APIs Zdenek “Z” Nemec @zdne zdne1 goodapi.co

Slide 3

Slide 3 text

https://goodapi.co INDEPENDENT API CONSULTING

Slide 4

Slide 4 text

THE PATH OF GOOD API No.10 No.1 No.2 No.3 No.4 No.5 No.6 No.7 No.8 No.9 goodapi.co Predom inant API Styles Digital Transform ation M anagem ent W ho Serves Custom ers Product Ow ner Challenges Architecture Tools are the lim its Data M odel Future

Slide 5

Slide 5 text

WORLD RUNS ON SOAP, EDI OR FTP goodapi.co No.1

Slide 6

Slide 6 text

– Pingdom Blog, October 2010 “REST in Peace SOAP” goodapi.co

Slide 7

Slide 7 text

IN REALITY, MOST OF THE SERVICES YOU HAVE USED TO GET TO THIS CONFERENCE ARE UTILIZING SOME OTHER TYPES OF APIS BUT REST goodapi.co

Slide 8

Slide 8 text

This is the same rhetorics from REST evangelists towards SOAP as we see today from GraphQL towards REST goodapi.co

Slide 9

Slide 9 text

THERE WERE TWO WAVES OF API DIGITAL TRANSFORMATION goodapi.co No.2 Two Groups of Customers

Slide 10

Slide 10 text

1. LARGE ORGANIZATIONS EMBRACING IT 2. UBIQUITOUS INTERNET AND SOFTWARE DEVELOPMENT goodapi.co

Slide 11

Slide 11 text

FIRST WAVE goodapi.co Fulfilled by SOAP, EDI, FTP, ESB, etc.

Slide 12

Slide 12 text

SECOND WAVE goodapi.co

Slide 13

Slide 13 text

TWO WAVES goodapi.co Two Groups of Customers CUSTOMER SPECIFIC APIS GENERIC APIS VS. many mid- or small size customers few large established customers

Slide 14

Slide 14 text

THE NEW (SECOND WAVE) TYPE OF CUSTOMERS IS IGNORED OR UNDERSERVED BY INCUMBENTS goodapi.co

Slide 15

Slide 15 text

YOU CAN CONVINCE MANAGEMENT ABOUT THE IMPORTANCE OF APIS No.3 goodapi.co

Slide 16

Slide 16 text

IF YOU DON’T DO IT, SOMEBODY ELSE WILL SERVE YOUR CUSTOMERS No.4 goodapi.co

Slide 17

Slide 17 text

Incumbent Existing Customer Existing Customer Existing Customer goodapi.co FIRST WAVE

Slide 18

Slide 18 text

Incumbent Existing Customer Existing Customer Existing Customer 3rd party New Type of Customer ignored at the start Second Wave of Customers goodapi.co SECOND WAVE

Slide 19

Slide 19 text

Incumbent Existing Customer Existing Customer Existing Customer 3rd party New Type of Customer New Type of Customer New Type of Customer goodapi.co SECOND WAVE

Slide 20

Slide 20 text

Incumbent Existing Customer Existing Customer Existing Customer 3rd party New Type of Customer New Type of Customer New Type of Customer goodapi.co SECOND WAVE TAKING OVER FIRST WAVE CUSTOMERS

Slide 21

Slide 21 text

Existing Customer Existing Customer Existing Customer 3rd party New Type of Customer New Type of Customer New Type of Customer goodapi.co Incumbent Incumbent Incumbent UNIFORM INTERFACE Uniform Interface

Slide 22

Slide 22 text

Website “Providers” Client Client Client Client Client Client goodapi.co ARE YOUR CUSTOMERS YOURS?

Slide 23

Slide 23 text

THE WAY OUT goodapi.co

Slide 24

Slide 24 text

API PRODUCT OWNER IS KEY TO SUCCESS No.5 goodapi.co

Slide 25

Slide 25 text

YOU DON’T HAVE TO HAVE EXPENSIVE API PROGRAM, JUST GET SOMEBODY WHO CARES ABOUT YOUR APIS AND WILL BE RESPONSIBLE FOR THEM goodapi.co

Slide 26

Slide 26 text

API-FIRST IS STILL A MAJOR CHANGE FOR MANY COMPANIES goodapi.co

Slide 27

Slide 27 text

SOMETIMES YOU HAVE TO BOIL THE OCEAN No.6 goodapi.co

Slide 28

Slide 28 text

INCUMBENTS HEAVILY INVESTED IN FIRST WAVE goodapi.co SOAP, EDI, FTP, ESB, “private clouds” but also processes and trained experts.

Slide 29

Slide 29 text

CUSTOMERS FROM THE FIRST WAVE OFTEN DO NOT UNDERSTAND THE SECOND WAVE goodapi.co

Slide 30

Slide 30 text

HOT POTATOES • API First, product owner present • Generation of API documentation from code • Building your own platform (cloud vs. own infrastructure) • Abuse of HTTP because first-wave customers “don’t get it” • Hypermedia • Versioning • Applying existing architecture and styles goodapi.co

Slide 31

Slide 31 text

OFTEN, A WRONG API STYLE IS USED The Right Architectural Style No.7 goodapi.co

Slide 32

Slide 32 text

PICK THE RIGHT ARCHITECTURAL STYLE Don’t jump on REST or GraphQL just because its #trending sometimes, sending a file is the right way to go goodapi.co

Slide 33

Slide 33 text

SIMPLICITY, TRENDS AND SPEED TODAY WINS OVER LONGEVITY AND SPEED TOMORROW goodapi.co

Slide 34

Slide 34 text

PREVENT UNINFORMED DECISIONS goodapi.co

Slide 35

Slide 35 text

TOOLS ARE OUR LIMITS No.8 goodapi.co

Slide 36

Slide 36 text

TOOLS ARE OUR LIMITS • Existing investments (tools, infrastructure & processes) • Bloated API Management Tools • Limiting API description formats • Data modeling from the past • Tooling for structured data goodapi.co

Slide 37

Slide 37 text

CANONICAL DATA MODEL DOESN’T WORK No.9 goodapi.co

Slide 38

Slide 38 text

CANONICAL DATA MODEL IS ANTI PATTERN IN MICROSERVICES AND FAAS WORLD goodapi.co Use concern separation, bounded context, DDD techniques

Slide 39

Slide 39 text

UNIFORM INTERFACE IS THE FUTURE No.10 goodapi.co

Slide 40

Slide 40 text

goodapi.co ENGINEERING PRINCIPLE OF GENERALITY 1957 2017

Slide 41

Slide 41 text

A CONSISTENT, PREDICTABLE WAY TO QUERY DATA AND EXERCISE ACTIONS REGARDLESS OF THE APPLICATION DOMAIN AND PROVIDER goodapi.co

Slide 42

Slide 42 text

WHY IS UI THE FUTURE? • Simplifies architecture • Improves visibility of interactions • Decouple components, enables evolution • Improves interoperability, reduces cost of integration • Reduces costs and time to market • Enables autonomous service discovery • ENABLES FOR GENERAL AI • Automatic clients • Autonomous clients goodapi.co

Slide 43

Slide 43 text

UNIVERSE OF CAPABILITIES goodapi.co

Slide 44

Slide 44 text

This is what Amazon (Alexa skills), Google (Home skills) & VIV are doing... DATABASE OF KNOWLEDGE AND SERVICES WITH UNIFORM INTERFACE goodapi.co

Slide 45

Slide 45 text

PATH TO UI • Platforms like StdLib / Algorithmia • Architectural Styles (REST, GraphQL) • Structured Data (JSON-LD) • AI Databases (Grakn.ai) • Or we leave it up to Amazon and Google to become the 3rd party, intermediaries, to the universe. goodapi.co

Slide 46

Slide 46 text

Do you want to provide a uniform interface or leave it to third-party vendors to do it? goodapi.co BUILDING YOUR NEXT API Client Client Client Client Client Provider Provider Client Client Structured Data & Architecural Style Client Client Client Provider Provider Provider - OR -

Slide 47

Slide 47 text

GOOD API Independent API Consulting https://goodapi.co