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
0
3.1k
Effective API Governance: Lessons Learnt
Talk delivered at API the Docs Amsterdam 2019
Alvaro Navarro
October 10, 2019
Tweet
Share
More Decks by Alvaro Navarro
See All by Alvaro Navarro
Baking a great DX
alnacle
0
120
Designing APIs Like You'd Design Your House
alnacle
0
100
Build your first Spotify App
alnacle
0
19
How to use your API Gateway as Developer Relations Tool
alnacle
0
40
Building awesome SDKs for your APIs: Best Practices
alnacle
0
84
DevRel as Professional Career
alnacle
0
160
Building a partnership that scales through APIs
alnacle
0
100
The Journey of an OpenAPI platform
alnacle
0
130
Delivering great Developer Experience with Apigee
alnacle
0
120
Other Decks in Programming
See All in Programming
コード生成を伴うLLMエージェント - 2024.07.18 Tokyo AI
smiyawaki0820
11
4.1k
HMSコンペ 11th Solution (team : kansai-kaggler)
t88
1
680
Polarsの成長: v0.14からv1.0までの変遷と今後の展望
zerebom
1
350
Rustのweb開発を助ける 便利なツール紹介
yuki0418
1
190
しくじり先生 Image Matching Challenge 2024 編
goosehaaan
0
810
今こそ始める、CDKコンストラクトライブラリ開発 ― 入門から実践まで
tmokmss
1
930
CSC307 Lecture 05
javiergs
PRO
0
210
Javaの現状2024夏 / Java current status 2024 summer
kishida
4
1.4k
さきがけから振り返るアーキテクチャ刷新 / Reflecting on the Architectural Renewal from the Vanguard
nrslib
2
780
SDCon2024: Enabling DevOps and Team Topologies thru architecture: architecting for fast flow
cer
PRO
0
780
ぼっちを避けて楽しむためのアノテコノテ / Various Tips and Tricks to Avoid Loneliness and Have Fun
nrslib
3
1.7k
AWSでゲームサーバーを運用! Amazon GameLiftのお話
iriikeita
0
200
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
357
18k
Leading Effective Engineering Teams 2024
addyosmani
3
300
Web development in the modern age
philhawksworth
203
10k
Debugging Ruby Performance
tmm1
71
11k
What's in a price? How to price your products and services
michaelherold
239
11k
Build your cross-platform service in a week with App Engine
jlugia
227
17k
Stop Working from a Prison Cell
hatefulcrawdad
266
20k
The Mythical Team-Month
searls
217
43k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
YesSQL, Process and Tooling at Scale
rocio
166
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
WebSockets: Embracing the real-time Web
robhawkes
59
7.2k
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