Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How to build a Unified API
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Simon Wood
October 25, 2013
Programming
980
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How to build a Unified API
Presentation on APIs at FOWA 2013
Simon Wood
October 25, 2013
More Decks by Simon Wood
See All by Simon Wood
Managing Legacy Tech Migrations
hpoom
0
99
Killing off legacy tech the right way
hpoom
0
210
Tech's Got Talent
hpoom
1
300
Holiday Extras AWS use case
hpoom
0
210
Node.js & Microservices
hpoom
2
360
Javascript: One language to rule them all
hpoom
0
290
APIs are eating the world
hpoom
2
1k
Wake up and smell the API
hpoom
1
170
APIs from the Trenches - API Days Mediterranea 2015
hpoom
0
220
Other Decks in Programming
See All in Programming
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
7
1.4k
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
780
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
840
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
8.2k
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.7k
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
610
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
300
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
320
Inside Stream API
skrb
1
790
「なぜそう決めたのか」を残し続ける仕組み ― Notion AI カスタムエージェント × Slack連携による設計判断の自動記録 - NIKKEI Tech Talk #47
niftycorp
PRO
0
230
Featured
See All Featured
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
620
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
400
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
490
Automating Front-end Workflow
addyosmani
1370
210k
Paper Plane
katiecoart
PRO
1
52k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
380
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Claude Code のすすめ
schroneko
67
230k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
310
Transcript
How to Build a Unified API
Simon Wood @hpoom Holiday Extras Image by Barney Livingston -
Flickr
@hpoom
@hpoom Over 40m visits and 500k bookings in the last
5 years Give £20m revenue to hotels each year
@hpoom
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
The Future is mobile The Future is social The Future
is cloud @hpoom
The Future is mobile The Future is social The Future
is cloud The Future is APIs @hpoom
APIs Mobile Social Cloud @hpoom Diagram by Sam Ramji -
http://bit.ly/biz-apis
What I am going to cover The Problem Solutions -
Good and Bad Considerations Technology How you can do this too @hpoom
LET’S TALK ABOUT THE PROBLEM @hpoom
Multiple sources of data @hpoom
@hpoom
Multiple consumers of data @hpoom
Shortbreaks traffic breakdown 18 months @hpoom Desktop Tablet Mobile
@hpoom
De couple @hpoom
Hide legacy @hpoom
Speed! @hpoom
Source: Strangeloop Networks Case Study Amazon 100 milliseconds revenue 1%
Mozilla 2.2 seconds downloads 60m per year @hpoom
Scaleability @hpoom
Be efficient with resource @hpoom
SO WHAT IS THE THE SOLUTION @hpoom
The Unified Bit @hpoom
Website Application Layer Legacy Reservation System @hpoom
Website Application Layer & API Legacy Reservation System Affiliates @hpoom
Website Application Layer & API Legacy Reservation System Affiliates Hotel
System Ticket System @hpoom
Website Application Layer & API Legacy Reservation System Affiliates Hotel
System Ticket System @hpoom
Unified API Website Mobile App Affiliates Smart TV Hotels Tickets
Transport Food Multiple consumers of data Multiple sources of data @hpoom
Proxy @hpoom
Website Application Layer Legacy Reservation System @hpoom
Website Application Layer Unified API Legacy Reservation System New System
Proxy @hpoom
Hierarchical @hpoom
Website Application Layer Unified API Legacy Reservation System New System
@hpoom
Website Application Layer Unified API Product API Content API Price
& Availability Name Star Rating Facilities @hpoom
Website Application Layer Unified API Product API Content API Hotels
Tickets Transport @hpoom
Website Application Layer Unified API Product API Content API Hotels
Tickets Transport Legacy New Affiliate @hpoom
Micro-service architecture Idea by Fred George - http://bit.ly/fred-george @hpoom
Traditional Enterprise Architecture Micro Service Architecture Diagram by James Hughes
- http://bit.ly/micro-service @hpoom
Website Application Layer Unified API Content API @hpoom
Authentication @hpoom
Unified API Website Mobile App Affiliates Smart TV Hotels Tickets
Transport Food Auth Use OAuth 2.0 @hpoom
Standardise your payloads @hpoom
PUBLIC SERVICE ANNOUNCEMENT @hpoom This is THE correct way to
write numeric dates 2013-10-25 Source XKCD - http://bit.ly/iso-date
Checksum tricks @hpoom MD5 ("Checksum tricks") = 1aef67e94cf84d9c4200e24cbdc9f93d
Cache & async requests @hpoom
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
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
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
SOME CONSIDERATIONS @hpoom
Open & Commercial @hpoom
The right way to rate limit @hpoom
Unlimited pools of talent @hpoom Chris Jason, ESPN - http://bit.ly/espnapi
Debugging & Logs @hpoom
Our log data in loggly @hpoom
300k unique payloads 3GB JSON logged daily @hpoom
WHAT TECHNOLOGY? @hpoom
We use... @hpoom express web application framework for node
Yesterday’s Standard SOAP XML Today’s Standard REST JSON Keep it
simple! @hpoom
@hpoom
Language does not matter @hpoom
WHERE TO START? @hpoom
What do you hate? @hpoom
Where are you going? @hpoom
Which public APIs could you consume? @hpoom
Who needs access? @hpoom
Good docs @hpoom Pusher Blog - http://bit.ly/devapidocs
TAKE AWAYS @hpoom
Consume your own APIs @hpoom uses to build Source Zach
Holman - http://bit.ly/githubdogfood uses to build
@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
The future of web apps is Unified APIs @hpoom
Thanks http://bit.ly/unifiedapi @hpoom We’re hiring - http://bit.ly/hx-sb twitter + github
Simon Wood