Achieving API Awesomeness

API Days Zürich 2017 [http://www.apidays.io/events/zurich-2017]

Erik Wilde , API Academy, CA Technologies
September 26, 2017

Creative Commons License [http://creativecommons.org/licenses/by/3.0/]

This work is licensed under a CC
Attribution 3.0 Unported License
[http://creativecommons.org/licenses/by/3.0/]

Contents Erik Wilde : Achieving API Awesomeness

Contents

Introduction

Outline (Introduction)

  1. Introduction [3]
  2. Awesome APIs [6]
  3. Interface ≠ Implementation [4]
  4. Example: API Change Management [3]
  5. Conclusions [2]
Introduction Erik Wilde : Achieving API Awesomeness

(3) About Me



Introduction Erik Wilde : Achieving API Awesomeness

(4) API Academy [http://www.apiacademy.co/]

API Academy

Introduction Erik Wilde : Achieving API Awesomeness

(5) Microservice Architecture

Microservice Architecture: Aligning Principles, Practices, and Culture

Awesome APIs

Outline (Awesome APIs)

  1. Introduction [3]
  2. Awesome APIs [6]
  3. Interface ≠ Implementation [4]
  4. Example: API Change Management [3]
  5. Conclusions [2]
Awesome APIs Erik Wilde : Achieving API Awesomeness

(7) API Excellence

Digital McKinsey: "What it really takes to capture the value of APIs" by Keerthi Iyengar, Somesh Khanna, Srinivas Ramadath, and Daniel Stephens; September 2017

Awesome APIs Erik Wilde : Achieving API Awesomeness

(8) Excellence as a Service (EaaS)



Awesome APIs Erik Wilde : Achieving API Awesomeness

(9) Web Culture: Webby Service Design

Webby Amazon

Awesome APIs Erik Wilde : Achieving API Awesomeness

(10) APIs and API Landscapes



Awesome APIs Erik Wilde : Achieving API Awesomeness

(11) API Stylebook: Error Format

API Stylebook: Error Format

Awesome APIs Erik Wilde : Achieving API Awesomeness

(12) Excellent API Management → Awesome APIs

  1. Easy to design → Design Scope and Vocabulary
  2. Easy to implement → Useful Components
  3. Easy to discover → Rich Description
  4. Easy to use → Rich Documentation
  5. Easy to control → Connective Fabric Instrumentation
  6. Easy to combine → Coherent Designs
  7. Easy to change → Open Design
  8. Easy to withdraw → Lifecycle Thinking


Interface ≠ Implementation

Outline (Interface ≠ Implementation)

  1. Introduction [3]
  2. Awesome APIs [6]
  3. Interface ≠ Implementation [4]
  4. Example: API Change Management [3]
  5. Conclusions [2]
Interface ≠ Implementation Erik Wilde : Achieving API Awesomeness

(14) Design and Constraints

Design depends largely on constraints. [http://www.markwunsch.com/eames] (Charles Eames [https://en.wikipedia.org/wiki/Charles_and_Ray_Eames])


Interface ≠ Implementation Erik Wilde : Achieving API Awesomeness

(15) APIs are Interfaces

There is no "Microservice API"

Interface ≠ Implementation Erik Wilde : Achieving API Awesomeness

(16) Changing Culture



Interface ≠ Implementation Erik Wilde : Achieving API Awesomeness

(17) A Microservices Landscape

By Lachlan Donald from Melbourne, Australia (Sharpest tool in the shed) [CC BY 2.0 (http://creativecommons.org/licenses/by/2.0)], via Wikimedia Commons

Example: API Change Management

Outline (Example: API Change Management)

  1. Introduction [3]
  2. Awesome APIs [6]
  3. Interface ≠ Implementation [4]
  4. Example: API Change Management [3]
  5. Conclusions [2]
Example: API Change Management Erik Wilde : Achieving API Awesomeness

(19) API Change Management in API Strategy



Example: API Change Management Erik Wilde : Achieving API Awesomeness

(20) HTTP Sunset: An Even Simpler Example



Example: API Change Management Erik Wilde : Achieving API Awesomeness

(21) Capability Sedimentation

Capability Sedimentation

Conclusions

Outline (Conclusions)

  1. Introduction [3]
  2. Awesome APIs [6]
  3. Interface ≠ Implementation [4]
  4. Example: API Change Management [3]
  5. Conclusions [2]
Conclusions Erik Wilde : Achieving API Awesomeness

(23) DevOps Your APIs!



Conclusions Erik Wilde : Achieving API Awesomeness

(24) Thanks! Q&A

What's Next?

September 26, 2017 API Days Zürich 2017 [http://www.apidays.io/events/zurich-2017]