Download - Contenairization of APIs to improve Developer Experience

Transcript
Page 1: Contenairization of APIs to improve Developer Experience

Containerization of APIs to improve

Developer ExperienceMake the API economy Bigger

Page 2: Contenairization of APIs to improve Developer Experience

@medjawii

Page 3: Contenairization of APIs to improve Developer Experience

Mashup for fun & profit

Page 4: Contenairization of APIs to improve Developer Experience

20TH CENTURY SUPPLY CHAIN

Page 5: Contenairization of APIs to improve Developer Experience

21TH CENTURY SUPPLY CHAIN

Page 6: Contenairization of APIs to improve Developer Experience

From Industry Supply chain

management to

Data Supply chain management

Page 7: Contenairization of APIs to improve Developer Experience

Phoenicians : 3000 BC

Page 8: Contenairization of APIs to improve Developer Experience

November 14th, 1913

Page 9: Contenairization of APIs to improve Developer Experience

November 14th, 1913

Page 10: Contenairization of APIs to improve Developer Experience
Page 11: Contenairization of APIs to improve Developer Experience

From 1926 to 1929, Seatrain Lines had carried railroad boxcars on its sea vessels to transport goods between New York and Cuba. #FAIL

In the mid-1930s, the Chicago Great Western Railway and then the New Haven railroad began piggy-back service limited to their own railroad. #FAIL

Page 12: Contenairization of APIs to improve Developer Experience

1934 : Malcom McLean creates

McLean Trucks, Co

Page 13: Contenairization of APIs to improve Developer Experience

1939-1945

Page 14: Contenairization of APIs to improve Developer Experience

“Give me Liberty or give me Death”

Page 15: Contenairization of APIs to improve Developer Experience

1950’

Page 16: Contenairization of APIs to improve Developer Experience

Shipping costs

$$$

Page 17: Contenairization of APIs to improve Developer Experience

- On a delivery from Chicago to Nancy, France, 48% of the shipping price is the total port cost

- 75% of the cost of port cost is due when the ship is at dock.

- shipping costs can go up to 25% of the goods value, so blocking the international trade to be not worthwhile

Page 18: Contenairization of APIs to improve Developer Experience

“As sexy as a tin can”Marc Levinson

Page 19: Contenairization of APIs to improve Developer Experience

1955 : Malcolm Mc Lean sells McLean Trucks and creates

Waterman Corp.

Page 20: Contenairization of APIs to improve Developer Experience

1956 : price comparison

Page 21: Contenairization of APIs to improve Developer Experience

$5.86

$0.16

1956 : price per ton shipped

Page 22: Contenairization of APIs to improve Developer Experience
Page 23: Contenairization of APIs to improve Developer Experience

Shipping data and services : Containers for APIs ?

Page 24: Contenairization of APIs to improve Developer Experience

API

Classical products distribution

Web service distributed via an API

Page 25: Contenairization of APIs to improve Developer Experience

API

Classical products distribution

Web service distributed via an API

Page 26: Contenairization of APIs to improve Developer Experience

1) Developers portals are a DX bug

Page 27: Contenairization of APIs to improve Developer Experience
Page 28: Contenairization of APIs to improve Developer Experience
Page 29: Contenairization of APIs to improve Developer Experience
Page 30: Contenairization of APIs to improve Developer Experience
Page 31: Contenairization of APIs to improve Developer Experience
Page 32: Contenairization of APIs to improve Developer Experience

API discovery

API documentation

API Authorization

http endpoint

integration

APIkey registration

Page 33: Contenairization of APIs to improve Developer Experience

Developer Experience

Programming costs

$$$

Page 34: Contenairization of APIs to improve Developer Experience

In a Developer Experience perspective, a developer portal is a bug, not a feature.

Page 35: Contenairization of APIs to improve Developer Experience

“As a user, this is a bug not a feature”

This is why iPhone 5s has TouchID for UX, not for security !

Page 36: Contenairization of APIs to improve Developer Experience

Developer portals are a compromise between API providers and Developers on defining a contract.

Why?

Page 37: Contenairization of APIs to improve Developer Experience

- an API is not only an Application Programming InterfaceIt is a contract.

Page 38: Contenairization of APIs to improve Developer Experience

- an API is an API +

Service + Pricing model + Terms of service + Marketing/Branding + Humans

Page 39: Contenairization of APIs to improve Developer Experience

2) http calls are “aliens” in code

Page 41: Contenairization of APIs to improve Developer Experience
Page 42: Contenairization of APIs to improve Developer Experience
Page 43: Contenairization of APIs to improve Developer Experience

http is good for interoperability and the network, not for the DX.It is also a compromise.It’s OK. 200 OK.

Page 44: Contenairization of APIs to improve Developer Experience

If we had a Dev DX magic stick, APIs should be librairies.

v1.0

Page 45: Contenairization of APIs to improve Developer Experience

If we had a Dev DX magic stick, APIs should be librairies.

Page 46: Contenairization of APIs to improve Developer Experience

What are the potential containers of APIs?

Page 47: Contenairization of APIs to improve Developer Experience

- Rest APIs abstraction- Objects - Components- Linux Containers

Page 48: Contenairization of APIs to improve Developer Experience

api.container.com/resource/{service_provider}

Page 49: Contenairization of APIs to improve Developer Experience
Page 50: Contenairization of APIs to improve Developer Experience

apis.google.maps()

apis.facebook.getFriends()

apis.twitter.auth()

Page 51: Contenairization of APIs to improve Developer Experience

We strongly recommend using the client libraries listed above for building AdWords API applications. If you would prefer to use a SOAP toolkit to directly interact with the API, read these language-specific instructions for further details.

Page 52: Contenairization of APIs to improve Developer Experience

http calls

Javascript API

Developer

Page 53: Contenairization of APIs to improve Developer Experience

Not all languages are represented into SDK

There are 2nd class Developers

Page 54: Contenairization of APIs to improve Developer Experience

Not all languages are represented into SDK...

There are 2nd class Developers

(no troll)

Page 55: Contenairization of APIs to improve Developer Experience

WSDLWADLSwaggerBlueprintRAMLJavascript wrappersconf.json

API endpoint description

Page 56: Contenairization of APIs to improve Developer Experience

WSDLWADLSwaggerBlueprintRAMLJavascript wrappersconf.json

We could generate SDK out of these API description

models for all languages

API endpoint description

Page 57: Contenairization of APIs to improve Developer Experience

Bonus : Code complete

Page 58: Contenairization of APIs to improve Developer Experience

Widgets Components

Page 59: Contenairization of APIs to improve Developer Experience

Linux Containers