![Page 1: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/1.jpg)
Reaching 1 Million APIs and what to do when we get there
Steven Willmott
http://www.3scale.net
![Page 2: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/2.jpg)
6000 APIs on Programmable Web Today
![Page 3: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/3.jpg)
1million APIs by 2017?
Probably 4-5x that number out there100% Annual Growth
![Page 4: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/4.jpg)
Topics
• Getting to 1 Million APIs• The “Millionth” API• Things we’ll need when we get there
![Page 5: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/5.jpg)
Preliminaries
![Page 6: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/6.jpg)
Took 6 years to go from 1 Web Site to 1 Million
~ approx May 1997
![Page 7: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/7.jpg)
Big Step Changes in Web Growth
Text >> CGI >> PHP >> Geocities & Co…
![Page 8: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/8.jpg)
Today’s API World is “Artisan”
Craft rather than a science
(sidenote : check out the excellent api-craft mailing list / managed by Apigee)
![Page 9: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/9.jpg)
Artisan is Good but…
• Expensive • Doesn’t scale • Fragile• Every API is Different and works in
unexpected / suprising ways
![Page 10: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/10.jpg)
To Grow, the Web Automated
APIs are starting to do
the same?
![Page 11: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/11.jpg)
API “Mass Production”
How to reach 1 Million APIs
![Page 12: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/12.jpg)
Two Key Trends in API Automation
1. Code Frameworks
2. Hosted Platform Environments
![Page 13: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/13.jpg)
1: Code Frameworks
• APIs for Free• Or by Default • Much easier to write
APIs • APIs are much more
standard
• Big Adoption Driver
JAX-RS
![Page 14: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/14.jpg)
2: Platforms
• The Web is build on platforms:
• API Platforms are emerging– Mobile backends– Infochimps– Factual– 3scale, Apigee, Mashery– …
• And web platforms are going API
![Page 15: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/15.jpg)
Impact of Mass Production
![Page 16: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/16.jpg)
No doubt we have the capacity to create as many APIs are Web sites…
Commercial pull is almost unbounded – B2B, Mobile, HTML5
are all major drivers
![Page 17: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/17.jpg)
The Millionth API
Micro View
![Page 18: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/18.jpg)
What was Millionth Web Site?
(Donald Rumsfeld might call it a known unkown)
![Page 19: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/19.jpg)
Launched in May 1997
• Belvidere, NJ• Barnes and Noble• Thousands More..
"I'm very excited for it," Mayor Linda Stettler said. "Belvidere is moving in the right direction."
http://www.belvidere-nj.us/
![Page 20: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/20.jpg)
The Millionth API?
Don’t know much about it yet but…
![Page 21: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/21.jpg)
But we can guess some things
• Niche• Probably in the United States• Probably in the “non-tech” economy • Probably powered by a platform• Probably launched by a small company or
individual
![Page 22: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/22.jpg)
Few Technical Changes are really needed…
We’re way ahead of where the Web was
![Page 23: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/23.jpg)
API Anatomy
IAAS: Cloud Deployed
PAAS: Cloud Managed
App Framework: e.g. Drupal
Code: e.g. PHP
API Pattern: e.g. REST (++)
Identity & Auth: e.g. oAuth
Data Models: Standardized
Code Libraries: Auto Generated
Meta Data: Publically Listed
![Page 24: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/24.jpg)
But most technical change will driven by dealing with the sheer number of APIs
![Page 25: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/25.jpg)
Dealing with Millions
Macro View
![Page 26: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/26.jpg)
Topics
1. Discovery2. Selection3. Reuse4. Engagement5. Monitoring
![Page 27: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/27.jpg)
#1: Discovery
• Q: Where are all the service descriptions?
• A: Not quite there yet…
![Page 28: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/28.jpg)
Discovery
API
Google Discovery
Format
(Also see SWAGGER, WADL)
![Page 29: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/29.jpg)
Discovery
API
Who Provides ItFunctionality Offered
Data Models UsedPerformance Parameters
SLAs and Guarantees
Cost and Terms…
Description must be locatable
![Page 30: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/30.jpg)
Discovery
API
• New Formats needed• But also adoption and
linking/indexing
![Page 31: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/31.jpg)
#2: Selection
• Amongst million APIs - how do you know which ones to trust?
• On the Web:– Domains– SSL– Brand Visuals– Google/Alex Rankings
API
API
API
API
API
![Page 32: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/32.jpg)
Selection
• In an API World many of these don’t work (e.g. no browser SSL root certs)
• Need: – 3rd party monitoring & ranking– Transparency by providers– “Web of Trust” for APIs
• Identity of providers just as much an issue as that of users
API
API
API
API
API
![Page 33: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/33.jpg)
#3: Reuse
?
• Today: – Semantics are HTTP, REST
Principles, MIME Data Types, Developer Intuition
– Operational Semantics baked into client code
• This is like writing a new browser for every website
![Page 34: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/34.jpg)
(we’re getting pretty good at writing them – but hey, it’s still dumb!)
Huge Barrier to Re-usability
![Page 35: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/35.jpg)
Reuse – Two Big Trends
? 1. Better Specifications
2. Convergence
![Page 36: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/36.jpg)
Reuse - Specifications
?
• More Rigid Semantics• Data Ontologies • Interlinking Ontologies• HATEOS Principles for
explorationSpec
Principle: use derivation from primitives to write / generate code
![Page 37: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/37.jpg)
Reuse - Convergence
?
• Similar Interfaces and Logical Choices
• Conventions• Already Happening• Platforms will be a huge driver• How to Foster Good
Conventions?
Principle: stick to conventions to help people use your stuff
Y
X
![Page 38: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/38.jpg)
But… – what happens if you can copyright interfaces?
Need: interface commons
![Page 39: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/39.jpg)
#4: Engagement
API
• Today: – http://developer.xyz.com/– Agree Terms– Get Credentials– Write App– Get Stuff Done
• Frankly…
![Page 40: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/40.jpg)
This is Nuts!
(at scale)
![Page 41: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/41.jpg)
#4: Engagement
API
• Need to be able to: – Be able to discover the software
you need automatically– identify yourself and the provider– engage a service contract– generate credentials – begin using the service
• All without human intervention of any sort
![Page 42: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/42.jpg)
#4: Engagement
All Contain elements Mostly Focus on Coordination
ebXML
Design By Contract
OWL-S
WSMO
BPML
Contract First
Open Grid Forum
Need a Focus on Simplified Contract Establishment
• Identity is Critical• Standard Terms are
Critical• APIs for Contracting• How to setup up API
usage with code rather than web interactions
![Page 43: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/43.jpg)
#5: Monitoring
• Quality of Service Will be Key
• Using any API introduces an outside dependency
• More complex than Web Monitoring
• Like Distributed Integration Testing
API
API
API
API
APIX
X
![Page 44: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/44.jpg)
Summary: Macro Issues
Discovery
Selection
Reuse
Engagement
Monitoring
Description FormatsDescription UsageDescription Referencing
Indicators of TrustIndicators of QualityIdentity
SpecificationsConvergence
IdentityCommon TermsSimple Protocols
TransparencyShared InfrastructureIntegration Like Testing
![Page 45: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/45.jpg)
Closing Thoughts
![Page 46: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/46.jpg)
Todays' APIs are very special – need unique, care and attention
![Page 47: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/47.jpg)
But to get further we need to Automate – and deal with scale
![Page 48: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/48.jpg)
Conclusions
• Platforms will begin to drive massive API growth
• Much of the challenge is in meta-data, discovery and engagement
• API Consumer will need just as much help as the API provider
• Need a new discipline – “Machine Interface Design”
![Page 49: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/49.jpg)
Final Thought
• Today: we focus on making it easier for developers to use our APIs
• Tomorrow: we’ll need to make it easier for machines to use our APIs
![Page 51: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/51.jpg)
Credits
• Cover Image: appelogen.be / flickr of AI WeiWei’s sunflower exhibit at the Tate Modern, License CC.
• Anatomical Heart: wikimedia / wikipedia• API-CRAFT Mailing list:
https://groups.google.com/group/api-craft
![Page 52: Reaching 1 Million APIs and what to do when we get there](https://reader031.vdocument.in/reader031/viewer/2022013100/554bb539b4c90530298b471a/html5/thumbnails/52.jpg)
Licenses
• Original Content:
• Included Images:
– Licensed terms determined by originator
Creative Commons Attribution-ShareAlike 3.0