Contenairization of APIs to improve Developer Experience

Post on 08-May-2015

748 views 0 download

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

Containerization of APIs to improve

Developer ExperienceMake the API economy Bigger

@medjawii

Mashup for fun & profit

20TH CENTURY SUPPLY CHAIN

21TH CENTURY SUPPLY CHAIN

From Industry Supply chain

management to

Data Supply chain management

Phoenicians : 3000 BC

November 14th, 1913

November 14th, 1913

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

1934 : Malcom McLean creates

McLean Trucks, Co

1939-1945

“Give me Liberty or give me Death”

1950’

Shipping costs

$$$

- 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

“As sexy as a tin can”Marc Levinson

1955 : Malcolm Mc Lean sells McLean Trucks and creates

Waterman Corp.

1956 : price comparison

$5.86

$0.16

1956 : price per ton shipped

Shipping data and services : Containers for APIs ?

API

Classical products distribution

Web service distributed via an API

API

Classical products distribution

Web service distributed via an API

1) Developers portals are a DX bug

API discovery

API documentation

API Authorization

http endpoint

integration

APIkey registration

Developer Experience

Programming costs

$$$

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

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

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

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

Why?

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

- an API is an API +

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

2) http calls are “aliens” in code

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

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

v1.0

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

What are the potential containers of APIs?

- Rest APIs abstraction- Objects - Components- Linux Containers

api.container.com/resource/{service_provider}

apis.google.maps()

apis.facebook.getFriends()

apis.twitter.auth()

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.

http calls

Javascript API

Developer

Not all languages are represented into SDK

There are 2nd class Developers

Not all languages are represented into SDK...

There are 2nd class Developers

(no troll)

WSDLWADLSwaggerBlueprintRAMLJavascript wrappersconf.json

API endpoint description

WSDLWADLSwaggerBlueprintRAMLJavascript wrappersconf.json

We could generate SDK out of these API description

models for all languages

API endpoint description

Bonus : Code complete

Widgets Components

Linux Containers