contenairization of apis to improve developer experience
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
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://stackoverflow.com/questions/2138527/php-curl-http-post-sample-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