Contenairization of APIs to improve Developer Experience

59
Containerization of APIs to improve Developer Experience Make the API economy Bigger

description

APIs are not only Application Programming Iinterfaces. They define also contract between an provider and a customer/user, why we need a developer portal to define this contract, more than the interface itself. More of that Http calls are alien into the developer code, where he is now used to use objects. This talk shows how we could leverage containers abstraction for APIs to improve Developer Experience and simplify Developers Portals and http APIs integration, among the supply chain of "Code Delivery" into web or mobile apps.

Transcript of Contenairization of APIs to improve Developer Experience

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