reaching 1 million apis and what to do when we get there

52
Reaching 1 Million APIs and what to do when we get there Steven Willmott http://www.3scale.n

Upload: 3scale

Post on 08-May-2015

5.218 views

Category:

Technology


2 download

DESCRIPTION

Gluecon 2012 Talk on API growth and how to automate API creation as well as how to handle a world with millions of APIs.

TRANSCRIPT

Page 1: Reaching 1 Million APIs and what to do when we get there

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

6000 APIs on Programmable Web Today

Page 3: Reaching 1 Million APIs and what to do when we get there

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

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

Preliminaries

Page 6: Reaching 1 Million APIs and what to do when we get there

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

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

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

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

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

API “Mass Production”

How to reach 1 Million APIs

Page 12: Reaching 1 Million APIs and what to do when we get there

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

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

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

Impact of Mass Production

Page 16: Reaching 1 Million APIs and what to do when we get there

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

The Millionth API

Micro View

Page 18: Reaching 1 Million APIs and what to do when we get there

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

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

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

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

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

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

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

Dealing with Millions

Macro View

Page 26: Reaching 1 Million APIs and what to do when we get there

Topics

1. Discovery2. Selection3. Reuse4. Engagement5. Monitoring

Page 27: Reaching 1 Million APIs and what to do when we get there

#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

Discovery

API

Google Discovery

Format

(Also see SWAGGER, WADL)

Page 29: Reaching 1 Million APIs and what to do when we get there

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

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

#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

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

#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

(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

Reuse – Two Big Trends

? 1. Better Specifications

2. Convergence

Page 36: Reaching 1 Million APIs and what to do when we get there

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

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

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

#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

This is Nuts!

(at scale)

Page 41: Reaching 1 Million APIs and what to do when we get there

#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

#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

#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

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

Closing Thoughts

Page 46: Reaching 1 Million APIs and what to do when we get there

Todays' APIs are very special – need unique, care and attention

Page 47: Reaching 1 Million APIs and what to do when we get there

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

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

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 50: Reaching 1 Million APIs and what to do when we get there

Thank you & Q/A

[email protected]@njyx, @3scale

http://www.3scale.net/

Page 51: Reaching 1 Million APIs and what to do when we get there

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

Licenses

• Original Content:

• Included Images:

– Licensed terms determined by originator

Creative Commons Attribution-ShareAlike 3.0