Whiskey,
Tango,
Foxtrot:
Understanding
API Usage


Clay Loveless
Chief Architect, Mashery
@claylo

OSCON
July 22 2010
APIs Gone Wild
If You Build It ... Itʼll Turn On You Someday
APIs Gone Wild
If You Build It ... Itʼll Turn On You Someday

                                          GET
Overview
 What...
Multiple Points of Failure
APIs Can Mean Exponential New Failure Opportunities
Multiple Points of Failure
 APIs Can Mean Exponential New Failure Opportunities




Backend Systems
• DB Servers/Caches
• ...
Multiple Points of Failure
 APIs Can Mean Exponential New Failure Opportunities




Backend Systems        Interconnection...
Multiple Points of Failure
 APIs Can Mean Exponential New Failure Opportunities




Backend Systems        Interconnection...
Multiple Points of Failure
 APIs Can Mean Exponential New Failure Opportunities




Backend Systems        Interconnection...
The Retry Effect
    “Try Again in a Few Moments” = Right Now

                                      Successful   Concurre...
The Five Tips
Tip 1: Test It All
Seriously, Test It All
Tip 1: Test It All
Seriously, Test It All

Unit Tests Are Just the Beginning
If you donʼt have them yet, start
elsewhere
Tip 1: Test It All
Seriously, Test It All

Unit Tests Are Just the Beginning
If you donʼt have them yet, start
elsewhere

...
Tip 1: Test It All
Seriously, Test It All

Unit Tests Are Just the Beginning
If you donʼt have them yet, start
elsewhere

...
Tip 1: Test It All
Seriously, Test It All

Unit Tests Are Just the Beginning
If you donʼt have them yet, start
elsewhere

...
Tip 2: Plan for Future Versions
The Sun Will Come Up Tomorrow
Tip 2: Plan for Future Versions
The Sun Will Come Up Tomorrow

Versions. Whoʼda thunk it?
Yes, versioning is useful beyond...
Tip 2: Plan for Future Versions
The Sun Will Come Up Tomorrow

Versions. Whoʼda thunk it?
Yes, versioning is useful beyond...
Tip 2: Plan for Future Versions
The Sun Will Come Up Tomorrow

Versions. Whoʼda thunk it?
Yes, versioning is useful beyond...
Tip 3: Embrace Standards When Practical
APIs Are Better When Predictable
Tip 3: Embrace Standards When Practical
APIs Are Better When Predictable

Standard Approaches Mean Tools
Itʼs easier to mo...
Tip 3: Embrace Standards When Practical
APIs Are Better When Predictable

Standard Approaches Mean Tools
Itʼs easier to mo...
Tip 3: Embrace Standards When Practical
APIs Are Better When Predictable

Standard Approaches Mean Tools
Itʼs easier to mo...
Tip 4: Monitor Everything & Be Honest
Slow Status Dashboards Suck More Than No Dashboard
Tip 4: Monitor Everything & Be Honest
Slow Status Dashboards Suck More Than No Dashboard

Test It All, All the Time
Better...
Tip 4: Monitor Everything & Be Honest
Slow Status Dashboards Suck More Than No Dashboard

Test It All, All the Time
Better...
Tip 4: Monitor Everything & Be Honest
Slow Status Dashboards Suck More Than No Dashboard

Test It All, All the Time
Better...
Tip 4: Monitor Everything & Be Honest
Slow Status Dashboards Suck More Than No Dashboard

Test It All, All the Time
Better...
Tip 5: Fail Well
Donʼt Ice Me, Bro
Tip 5: Fail Well
Donʼt Ice Me, Bro

Well-formed Errors Win Friends
Developers are more tolerant of
failure if you anticipa...
Tip 5: Fail Well
Donʼt Ice Me, Bro

Well-formed Errors Win Friends
Developers are more tolerant of
failure if you anticipa...
Tip 5: Fail Well
Donʼt Ice Me, Bro

Well-formed Errors Win Friends
Developers are more tolerant of
failure if you anticipa...
The Shameless Plug
Tip 6: Use an API Management Service
Like ... Mashery!
Tip 6: Use an API Management Service
Like ... Mashery!
Tip 6: Use an API Management Service
Like ... Mashery!

Managed API Service FTW
Use a service with active monitoring and
a...
Tip 6: Use an API Management Service
Like ... Mashery!

Managed API Service FTW
Use a service with active monitoring and
a...
Tip 6: Use an API Management Service
Like ... Mashery!

Managed API Service FTW
Use a service with active monitoring and
a...
Did I Mention the Free Beer?
Free beer as in FREE BEER.

OSCON API Hour
7-9pm TONIGHT @ The EastBurn



1800 East Burnside...
Upcoming SlideShare
Loading in...5
×

Whiskey, Tango, Foxtrot: Understanding API Usage

2,849

Published on

Launch an API that can survive! Learn about unexpected load recovery techniques, analytic best practices and testing approaches to make sure your API runs smoothly & thrives with these tips from the trenches. Clay Loveless is Mashery's Chief Architect, the leading API management solution provider. With over 100 high-volume API customers, Mashery manages a broad range of enterprise API deployments.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,849
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
























  • APIs Gone Wild

    API traffic just isn’t the same as website traffic. Yes, it’s HTTP, but the similarities stop there.
    - Lots of POSTs/PUTs/DELETEs
    - Nearly every call triggers a dynamic operation

    IN THE NEXT HALF HOUR, WE’LL COVER
    WHAT HAPPENS AND 5 TIPS TO STAY AHEAD OF IT

  • APIs Gone Wild

    API traffic just isn’t the same as website traffic. Yes, it’s HTTP, but the similarities stop there.
    - Lots of POSTs/PUTs/DELETEs
    - Nearly every call triggers a dynamic operation

    IN THE NEXT HALF HOUR, WE’LL COVER
    WHAT HAPPENS AND 5 TIPS TO STAY AHEAD OF IT

  • APIs Gone Wild

    API traffic just isn’t the same as website traffic. Yes, it’s HTTP, but the similarities stop there.
    - Lots of POSTs/PUTs/DELETEs
    - Nearly every call triggers a dynamic operation

    IN THE NEXT HALF HOUR, WE’LL COVER
    WHAT HAPPENS AND 5 TIPS TO STAY AHEAD OF IT

  • APIs Gone Wild

    API traffic just isn’t the same as website traffic. Yes, it’s HTTP, but the similarities stop there.
    - Lots of POSTs/PUTs/DELETEs
    - Nearly every call triggers a dynamic operation

    IN THE NEXT HALF HOUR, WE’LL COVER
    WHAT HAPPENS AND 5 TIPS TO STAY AHEAD OF IT

  • APIs Gone Wild

    API traffic just isn’t the same as website traffic. Yes, it’s HTTP, but the similarities stop there.
    - Lots of POSTs/PUTs/DELETEs
    - Nearly every call triggers a dynamic operation

    IN THE NEXT HALF HOUR, WE’LL COVER
    WHAT HAPPENS AND 5 TIPS TO STAY AHEAD OF IT

  • APIs Gone Wild

    API traffic just isn’t the same as website traffic. Yes, it’s HTTP, but the similarities stop there.
    - Lots of POSTs/PUTs/DELETEs
    - Nearly every call triggers a dynamic operation

    IN THE NEXT HALF HOUR, WE’LL COVER
    WHAT HAPPENS AND 5 TIPS TO STAY AHEAD OF IT

  • APIs Gone Wild

    API traffic just isn’t the same as website traffic. Yes, it’s HTTP, but the similarities stop there.
    - Lots of POSTs/PUTs/DELETEs
    - Nearly every call triggers a dynamic operation

    IN THE NEXT HALF HOUR, WE’LL COVER
    WHAT HAPPENS AND 5 TIPS TO STAY AHEAD OF IT

  • APIs Gone Wild

    API traffic just isn’t the same as website traffic. Yes, it’s HTTP, but the similarities stop there.
    - Lots of POSTs/PUTs/DELETEs
    - Nearly every call triggers a dynamic operation

    IN THE NEXT HALF HOUR, WE’LL COVER
    WHAT HAPPENS AND 5 TIPS TO STAY AHEAD OF IT

  • APIs Gone Wild

    API traffic just isn’t the same as website traffic. Yes, it’s HTTP, but the similarities stop there.
    - Lots of POSTs/PUTs/DELETEs
    - Nearly every call triggers a dynamic operation

    IN THE NEXT HALF HOUR, WE’LL COVER
    WHAT HAPPENS AND 5 TIPS TO STAY AHEAD OF IT

  • APIs Gone Wild

    API traffic just isn’t the same as website traffic. Yes, it’s HTTP, but the similarities stop there.
    - Lots of POSTs/PUTs/DELETEs
    - Nearly every call triggers a dynamic operation

    IN THE NEXT HALF HOUR, WE’LL COVER
    WHAT HAPPENS AND 5 TIPS TO STAY AHEAD OF IT

  • APIs Gone Wild

    API traffic just isn’t the same as website traffic. Yes, it’s HTTP, but the similarities stop there.
    - Lots of POSTs/PUTs/DELETEs
    - Nearly every call triggers a dynamic operation

    IN THE NEXT HALF HOUR, WE’LL COVER
    WHAT HAPPENS AND 5 TIPS TO STAY AHEAD OF IT



































  • Transcript of "Whiskey, Tango, Foxtrot: Understanding API Usage"

    1. 1. Whiskey, Tango, Foxtrot: Understanding API Usage Clay Loveless Chief Architect, Mashery @claylo OSCON July 22 2010
    2. 2. APIs Gone Wild If You Build It ... Itʼll Turn On You Someday
    3. 3. APIs Gone Wild If You Build It ... Itʼll Turn On You Someday GET Overview What Happens When Things 200 Go Wrong? PUT 200 5 Tips to Stay Ahead GET 200 The Secret 6th Tip GET 503
    4. 4. Multiple Points of Failure APIs Can Mean Exponential New Failure Opportunities
    5. 5. Multiple Points of Failure APIs Can Mean Exponential New Failure Opportunities Backend Systems • DB Servers/Caches • Hardware failures • Power hiccups • Incomplete reboots
    6. 6. Multiple Points of Failure APIs Can Mean Exponential New Failure Opportunities Backend Systems Interconnections • DB Servers/Caches • Router failures • Hardware failures • Bad cables • Power hiccups • Severed internets • Incomplete reboots • Remote-hands fail
    7. 7. Multiple Points of Failure APIs Can Mean Exponential New Failure Opportunities Backend Systems Interconnections External Deps • DB Servers/Caches • Router failures • Fail Whales • Hardware failures • Bad cables • Unannounced • Power hiccups • Severed internets upgrades • Incomplete reboots • Remote-hands fail • Random cloud latency
    8. 8. Multiple Points of Failure APIs Can Mean Exponential New Failure Opportunities Backend Systems Interconnections External Deps • DB Servers/Caches • Router failures • Fail Whales • Hardware failures • Bad cables • Unannounced • Power hiccups • Severed internets upgrades • Incomplete reboots • Remote-hands fail • Random cloud latency
    9. 9. The Retry Effect “Try Again in a Few Moments” = Right Now Successful Concurrent 600 450 Requests 300 150 Seconds
    10. 10. The Five Tips
    11. 11. Tip 1: Test It All Seriously, Test It All
    12. 12. Tip 1: Test It All Seriously, Test It All Unit Tests Are Just the Beginning If you donʼt have them yet, start elsewhere
    13. 13. Tip 1: Test It All Seriously, Test It All Unit Tests Are Just the Beginning If you donʼt have them yet, start elsewhere Test What Users Experience End-to-End Black Box tests
    14. 14. Tip 1: Test It All Seriously, Test It All Unit Tests Are Just the Beginning If you donʼt have them yet, start elsewhere Test What Users Experience End-to-End Black Box tests Replay Your Access Logs More accurate than assumptions in unit tests
    15. 15. Tip 1: Test It All Seriously, Test It All Unit Tests Are Just the Beginning If you donʼt have them yet, start elsewhere Test What Users Experience End-to-End Black Box tests Replay Your Access Logs More accurate than assumptions in unit tests Validate Return Payloads A stack trace is not valid XML
    16. 16. Tip 2: Plan for Future Versions The Sun Will Come Up Tomorrow
    17. 17. Tip 2: Plan for Future Versions The Sun Will Come Up Tomorrow Versions. Whoʼda thunk it? Yes, versioning is useful beyond the code powering your API.
    18. 18. Tip 2: Plan for Future Versions The Sun Will Come Up Tomorrow Versions. Whoʼda thunk it? Yes, versioning is useful beyond the code powering your API. Versions Arenʼt Sexy/Semantic Do it anyway, & stand up straight.
    19. 19. Tip 2: Plan for Future Versions The Sun Will Come Up Tomorrow Versions. Whoʼda thunk it? Yes, versioning is useful beyond the code powering your API. Versions Arenʼt Sexy/Semantic Do it anyway, & stand up straight. Announce Versions Often No one likes surprises when it comes to API behavior.
    20. 20. Tip 3: Embrace Standards When Practical APIs Are Better When Predictable
    21. 21. Tip 3: Embrace Standards When Practical APIs Are Better When Predictable Standard Approaches Mean Tools Itʼs easier to monitor anomalies on non-unique snowflakes.
    22. 22. Tip 3: Embrace Standards When Practical APIs Are Better When Predictable Standard Approaches Mean Tools Itʼs easier to monitor anomalies on non-unique snowflakes. Avoid Uncomfortable Migrations No one wants an OAuthpocalypse.
    23. 23. Tip 3: Embrace Standards When Practical APIs Are Better When Predictable Standard Approaches Mean Tools Itʼs easier to monitor anomalies on non-unique snowflakes. Avoid Uncomfortable Migrations No one wants an OAuthpocalypse. Enhance Runtime Validation Standards can make it easier to detect+reject bogus calls earlier in the request pipeline.
    24. 24. Tip 4: Monitor Everything & Be Honest Slow Status Dashboards Suck More Than No Dashboard
    25. 25. Tip 4: Monitor Everything & Be Honest Slow Status Dashboards Suck More Than No Dashboard Test It All, All the Time Better if you notice before your users notice.
    26. 26. Tip 4: Monitor Everything & Be Honest Slow Status Dashboards Suck More Than No Dashboard Test It All, All the Time Better if you notice before your users notice. Trends Are Your Friends Canʼt spot trends without continuous monitoring
    27. 27. Tip 4: Monitor Everything & Be Honest Slow Status Dashboards Suck More Than No Dashboard Test It All, All the Time Better if you notice before your users notice. Trends Are Your Friends Canʼt spot trends without continuous monitoring Fess Up Fast No user wants to think theyʼre your early-warning ops team.
    28. 28. Tip 4: Monitor Everything & Be Honest Slow Status Dashboards Suck More Than No Dashboard Test It All, All the Time Better if you notice before your users notice. Trends Are Your Friends Canʼt spot trends without continuous monitoring Fess Up Fast No user wants to think theyʼre your early-warning ops team. Be Open Automatically Real-time public health instills trust.
    29. 29. Tip 5: Fail Well Donʼt Ice Me, Bro
    30. 30. Tip 5: Fail Well Donʼt Ice Me, Bro Well-formed Errors Win Friends Developers are more tolerant of failure if you anticipate the possibility.
    31. 31. Tip 5: Fail Well Donʼt Ice Me, Bro Well-formed Errors Win Friends Developers are more tolerant of failure if you anticipate the possibility. Make Monitoring Easy The more obvious the failure, the easier it is to spot.
    32. 32. Tip 5: Fail Well Donʼt Ice Me, Bro Well-formed Errors Win Friends Developers are more tolerant of failure if you anticipate the possibility. Make Monitoring Easy The more obvious the failure, the easier it is to spot. Donʼt Punish Everyone Determine who gets hurt most by failures, and screw them last (or not at all).
    33. 33. The Shameless Plug
    34. 34. Tip 6: Use an API Management Service Like ... Mashery!
    35. 35. Tip 6: Use an API Management Service Like ... Mashery!
    36. 36. Tip 6: Use an API Management Service Like ... Mashery! Managed API Service FTW Use a service with active monitoring and a support team. Let them call you first.
    37. 37. Tip 6: Use an API Management Service Like ... Mashery! Managed API Service FTW Use a service with active monitoring and a support team. Let them call you first. Reports Covering Entire Ecosystem Make sure reports & analytics cover the entire spectrum of your APIʼs usage.
    38. 38. Tip 6: Use an API Management Service Like ... Mashery! Managed API Service FTW Use a service with active monitoring and a support team. Let them call you first. Reports Covering Entire Ecosystem Make sure reports & analytics cover the entire spectrum of your APIʼs usage. Get Help Building Meaningful Community Nothing tells your developers you care like a community with a pulse.
    39. 39. Did I Mention the Free Beer? Free beer as in FREE BEER. OSCON API Hour 7-9pm TONIGHT @ The EastBurn 1800 East Burnside Street Just a 5 minute cab ride. Mmm, beeer. And vintage games. Clay Loveless Chief Architect Wear Your OSCON Badge 2-3 drinks in, youʼll be happy clay@mashery.com everyone has nametags. Twitter: @claylo

    ×