Talk from the API Management Meeting, San Francisco, 9/11/2013. Covering how APIs change the way be build applications. Also covers why the API Economy will be a complex distributed system.
10. Meaning:
1
2
APIs are the key glue that make this
software remotely addressable
APIs provide a myriad of new external
building blocks to speed up and enrich
software development
3
If you do these things together special
things happen
13. Wide Diversity of APIs out there
London Transport: Open Data
Evernote: “Platformization”
Netflix: “Massive Distribution”
JCI: “Software Controlled
Buildings”
Thousands
Of Devices
15. But, What about “Inside-Out”?
How are APIs Changing Application
Development?
16. APIs are the new Libs
“In computer science, a library is a collection
of implementations of behavior, written in
terms of a language, that has a well-defined
interface by which the behavior is invoked”
Credit: Wikipedia
32. APIs Enable Separation & Focus
Model View Controller
Data Anywhere in
any form
Many Delivery
Channels
Third parties
operating on data
Distributed Applications
36. Downsides to Opening APIs…
• Security is key
• Scalability needs to be
built in
• It requires long term
support
• New type of business
interaction
• Vendors can Help
• In many cases some
of the work is
already done
37. Downsides to using external APIs…
• Latency?
• Availability?
• Security?
• SLAs?
• Cost
• Service Continuity?
• In most cases there
are no other ways
to solve the
problem
• Tools are emerging
41. Distributed Across Organizational
Boundaries
• No access to source
code
• No knowledge of Server
Environment
• Security and Access
Permissions Everywhere
• Identity Problems
• Shared Semantics are
much harder to achieve
• Unknown / Mismatched
Scale Issues
• Danger of Much Wider
Interdependencies –
Frame problem is
worse!)
42. Most of these problems are
completely unaddressed
Need to be if we are to reach 100’s of
thousands of APIs
43. Progress Today
R&D / Experimental
• Distributed Verification
• Distributed Systems
Contracts
• Semantic Web Ontologies
• Service Descriptions?
Tools
• Neustar Webmetrics
• Runscope & others
• API-Hub
• Swagger Tools
• Pingdom et. al.
Lots of Interesting Problems to be Solved!
44. Strategies to Avoid Headaches
API Provider
• Publish Specifications
• Handle Versioning Carefully
• Provision for Scale & Rate
Limit
• Code Libraries
• Buffers, Queues, Webhooks
and Asychronous Responses
• Multiple Data Centers
Tools
• Monitoring
• Caching
• Mocks for Testing
• Buffers & Queues
• Failover Services
• Graceful Failure Modes
• Assume Failure Will happen
45. These are a good Start
But the overall problem will get
harder and harder
47. Take Away’s
1
2
The World will get Software & API
Enabled
Radical impact on the Software we
write and what is possible
=>
These new systems are complex
and hard to build
The “API Economy” will be way more complex than today’s Web