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

The Path of Good API

Z
January 30, 2018

The Path of Good API

10 things I learned about APIs in 7 years.

The deck used during my presentations at API Days Paris, January 2018

Z

January 30, 2018
Tweet

More Decks by Z

Other Decks in Technology

Transcript

  1. THE PATH OF GOOD API Zdenek “Z” Nemec 10 Things

    I Learned about APIs in 7 Years goodapi.co
  2. 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
  3. 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
  4. This is the same rhetorics from REST evangelists towards SOAP

    as we see today from GraphQL towards REST goodapi.co
  5. TWO WAVES goodapi.co Two Groups of Customers CUSTOMER SPECIFIC APIS

    GENERIC APIS VS. many mid- or small size customers few large established customers
  6. THE NEW (SECOND WAVE) TYPE OF CUSTOMERS IS IGNORED OR

    UNDERSERVED BY INCUMBENTS goodapi.co
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. INCUMBENTS HEAVILY INVESTED IN FIRST WAVE goodapi.co SOAP, EDI, FTP,

    ESB, “private clouds” but also processes and trained experts.
  13. 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
  14. 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
  15. 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
  16. CANONICAL DATA MODEL IS ANTI PATTERN IN MICROSERVICES AND FAAS

    WORLD goodapi.co Use concern separation, bounded context, DDD techniques
  17. A CONSISTENT, PREDICTABLE WAY TO QUERY DATA AND EXERCISE ACTIONS

    REGARDLESS OF THE APPLICATION DOMAIN AND PROVIDER goodapi.co
  18. 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
  19. This is what Amazon (Alexa skills), Google (Home skills) &

    VIV are doing... DATABASE OF KNOWLEDGE AND SERVICES WITH UNIFORM INTERFACE goodapi.co
  20. 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
  21. 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 -