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
Effective API Governance: Lessons Learnt
Search
Alvaro Navarro
October 10, 2019
Programming
3.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Effective API Governance: Lessons Learnt
Talk delivered at API the Docs Amsterdam 2019
Alvaro Navarro
October 10, 2019
More Decks by Alvaro Navarro
See All by Alvaro Navarro
Design Your APIs Before Laying the First Brick
alnacle
0
33
No More Post-its: Boost your login security with APIs
alnacle
0
140
Baking a great DX
alnacle
0
160
Designing APIs Like You'd Design Your House
alnacle
0
180
Build your first Spotify App
alnacle
0
53
How to use your API Gateway as Developer Relations Tool
alnacle
0
85
Building awesome SDKs for your APIs: Best Practices
alnacle
0
100
DevRel as Professional Career
alnacle
0
220
Building a partnership that scales through APIs
alnacle
0
130
Other Decks in Programming
See All in Programming
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
130
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
200
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
200
共通化で考えるべきは、実装より公開する型だった
codeegg
0
220
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.4k
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.4k
Contextとはなにか
chiroruxx
1
390
自作OSでスライド発表する
uyuki234
1
3.8k
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
120
関数型プログラミングのメリットって何だろう?
wanko_it
0
170
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
140
1B+ /day規模のログを管理する技術
broadleaf
0
130
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Scaling GitHub
holman
464
140k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
4 Signs Your Business is Dying
shpigford
187
22k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
410
A Soul's Torment
seathinner
6
3.1k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
610
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.5k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
490
Utilizing Notion as your number one productivity tool
mfonobong
4
390
Transcript
© 2016 Amadeus IT Group and its affiliates and subsidiaries
Effective API Governance Lessons Learnt Alvaro Navarro Amsterdam, 10th October 2019
Once upon a time
Trip Purpose Prediction API Once upon a time
Once upon a time Returns the forecast purpose of a
trip Business or Leisure based on a search criteria.
GET /flights/predictions/purpose Once upon a time
origin : MAD destination : AMS departure : 20191012 return
: 20191015 Once upon a time
{ "result": { "prediction" : "BUSINESS", "probability": 0.751 } }
Once upon a time
Accept: application/vnd.amadeus.v1.full+json Once upon a time
Once upon a time
You need your API validated by the API Governance Board!
Once upon a time
Once upon a time
Once upon a time
Once upon a time
Once upon a time
Once upon a time
Hello World @alnacle
Motivation More than 20 years working with APIs ◦ EDIFACT
◦ SOAP/XML ◦ REST/JSON ◦ Protobuf ◦ GraphQL
Motivation Many people designing and implementing APIs
Motivation Difficult to reuse across backends
Motivation We need to regulate this!
What is the API Governance?
What is the API Governance? Community of API Designers and
Developers
What is the API Governance? Owners of guidelines, data dictionaries
and processes
What is the API Governance? Support
In Amadeus we introduced the HAPPY principle
What is the API Governance? Homogeneous
What is the API Governance? Homogeneous Active
What is the API Governance? Homogeneous Active Pragmatic
What is the API Governance? Homogeneous Active Pragmatic Positive
What is the API Governance? Homogeneous Active Pragmatic Positive Young
Why API Governance?
Why API Governance? As API Producer
Why API Governance? Design Guidelines and Standardization
Why API Governance? Design Guidelines and Standardization ❏ Errors ❏
Endpoint/parameters naming ❏ Improvements ❏ Data Dictionaries ❏ Versioning
Why API Governance? Using URLs http://api.amadeus.com/v1/flight-search http://api.amadeus.com/2018/flight-search http://api.amadeus.com/2018/02/flight-search Using HTTP
Header Accept: application/vnd.amadeus.v1 Accept-Version: 1 Using a Query parameter $ curl http://api.amadeus.com/flight-search?version=1
Why API Governance? As API Consumer
Why API Governance? Better API integration and consistency
Why API Governance? import amadeus client = amadeus.Client() response =
client.shopping.flight_destinations.get(origin = 'AMS', maxPrice = '500')
How do we make it work?
How do we make it work? Technical discussions: Decision Logs
How do we make it work? API submissions: Review Cards
How do we make it work?
How do we make it work? Under Construction In Progress
Pending Validated Review Process ( 1 week ) 1 to 4 weeks ❏ Validated Review Card ❏ Documentation ❏ Swagger Designer
Lessons Learnt
Lessons Learnt Tools are your friends! ◦ Designing ◦ Documenting
◦ Testing
Lessons Learnt Be an advocate and spread the word!
Lessons Learnt It's not a control entity ! Democratic approach
when designing APIs
Lessons Learnt It is a place to speak and share
knowledge
Thanks! developers.amadeus.com