Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How to build a Unified API

Simon Wood
October 25, 2013

How to build a Unified API

Presentation on APIs at FOWA 2013

Simon Wood

October 25, 2013
Tweet

More Decks by Simon Wood

Other Decks in Programming

Transcript

  1. @hpoom Over 40m visits and 500k bookings in the last

    5 years Give £20m revenue to hotels each year
  2. Because of APIs I can tell you... Yesterday I walked

    6191 steps FitBit API The music I listen to most is Radiohead Last.fm API It is currently 13ºC in New York Yahoo Weather API The Brewery is located at lat: 51.520475 lon: -0.091471 Google Maps API @hpoom
  3. The Future is mobile The Future is social The Future

    is cloud The Future is APIs @hpoom
  4. What I am going to cover The Problem Solutions -

    Good and Bad Considerations Technology How you can do this too @hpoom
  5. Source: Strangeloop Networks Case Study Amazon 100 milliseconds revenue 1%

    Mozilla 2.2 seconds downloads 60m per year @hpoom
  6. Unified API Website Mobile App Affiliates Smart TV Hotels Tickets

    Transport Food Multiple consumers of data Multiple sources of data @hpoom
  7. Website Application Layer Unified API Product API Content API Price

    & Availability Name Star Rating Facilities @hpoom
  8. Website Application Layer Unified API Product API Content API Hotels

    Tickets Transport Legacy New Affiliate @hpoom
  9. PUBLIC SERVICE ANNOUNCEMENT @hpoom This is THE correct way to

    write numeric dates 2013-10-25 Source XKCD - http://bit.ly/iso-date
  10. Unified API Website Mobile App Affiliates Smart TV Hotels Tickets

    Transport Food Async Total request time is only as slow as the slowest provider 1.2s 0.8s 1.1s 0.6s @hpoom
  11. Unified API Website Mobile App Affiliates Smart TV Hotels Tickets

    Transport Food Cache Cache Cache Cache Cache If we hit the top cache respond in 0.04s @hpoom
  12. In summary Solutions Unified API Standard Payloads Micro Services Proxy

    Cache & Async Hierarchical Problems Multi Data Sources Multi Consumers Decouple Hide Legacy Speed Scaleability @hpoom
  13. Consume your own APIs @hpoom uses to build Source Zach

    Holman - http://bit.ly/githubdogfood uses to build
  14. @hpoom “You wouldn't really think that an online bookstore needs

    to be an extensible, programmable platform. Would you?” Steve Yegge Source Steve Yegge - http://bit.ly/yegge