Upload
ca-api-management
View
11.342
Download
2
Tags:
Embed Size (px)
DESCRIPTION
We need to create more reusable APIs, fewer "snowflakes" and better machine-readable APIs and descriptions. To this end, Mike Amundsen, Principal API Architect offers his "Top Ten things we need to STOP doing."
Citation preview
Reusable APIsMike Amundsen
@mamund@Layer7 @CAInc
We need more reusable APIs
Too many "snowflake" APIsToo few generic descriptions of APIsToo often we code from "zero" every time
We can do better
Top 10 things we should STOP doing
Stop mapping semantics to protocols
Map semantics to messages instead.
Stop hiding update & query rules in human-readable documentation
Use inline hypermedia controls instead.
Stop requiring devs to be protocol gurus
Provide "accommodations" like SDKs when appropriate
Stop making everyone use the same object model
Share message models, not object models
Stop describing services as single instances
Describe services as abstract classes.
Stop baking workflow into client code
Put workflow in the message via hypermedia
Stop breaking others people's code
Take the "no breaking changes" pledge
Take the "no breaking changes" pledge
Stop making client devs re-code & re-deploy at random
Use "dark release" to allow client devs to update on their own schedule
Stop adding single points of failure
Distribute not just storage, but also execution.
Stop pretending the Web defies the laws of probability and physics
We can do better10. Map semantics to messages
9. Use inline hypermedia
8. Provide SDKs when
appropriate
7. Share messages, not objects
6. Describe services as
abstract classes
5. Put workflow in messages
4. Take the "no breaking
changes" pledge
3. Use "dark release"
2. Distribute storage and
execution
1. Obey the laws of
probability and physics
None of this is complicatedSome of it is hard.
Let's talk aboutReusable APIs
Mike Amundsen@mamund
@Layer7 @CAIncg.mamund.com/top10stop