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
Designing APIs Like You'd Design Your House
Search
Alvaro Navarro
January 20, 2023
Technology
0
100
Designing APIs Like You'd Design Your House
Alvaro Navarro
January 20, 2023
Tweet
Share
More Decks by Alvaro Navarro
See All by Alvaro Navarro
Baking a great DX
alnacle
0
110
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
67
DevRel as Professional Career
alnacle
0
150
Effective API Governance: Lessons Learnt
alnacle
0
3k
Building a partnership that scales through APIs
alnacle
0
98
The Journey of an OpenAPI platform
alnacle
0
110
Delivering great Developer Experience with Apigee
alnacle
0
110
Other Decks in Technology
See All in Technology
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
2
750
20240418_Google ColabにLLMが搭載されたようなのでPython x データ分析の勉強方法を考えてみる
doradora09
0
120
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
150
コンテナセキュリティの基本と脅威への対策
kyohmizu
3
740
VS CodeでAWSを操作しよう
smt7174
7
1.6k
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
230
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
330
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.4k
Tableau事例紹介 / Tableau Case Study of Eureka
kazuya_araki_tokyo
1
180
Cracking the KubeCon CfP
inductor
2
200
テストプロセスで大事にしていること #jasstnano
makky_tyuyan
0
160
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.6k
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
43
9.7k
In The Pink: A Labor of Love
frogandcode
138
21k
Visualization
eitanlees
135
14k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Bash Introduction
62gerente
604
210k
Thoughts on Productivity
jonyablonski
57
3.8k
The Invisible Customer
myddelton
114
12k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
990
Designing Experiences People Love
moore
136
23k
Building Better People: How to give real-time feedback that sticks.
wjessup
354
18k
Transcript
Designing APIs Like You'd Design Your House Alvaro Navarro 19/01/2023
In 2022 I made a mistake
What if…
…we renovate the kitchen?
None
None
None
None
None
None
None
None
None
None
None
None
What happened? • Wrong design • Customers don't speak the
same language • Release v2 is going to cost money
Alvaro Navarro Developer Advocate @alnacle
Foundation of a sane and healthy API culture Photo by
Dose Juice on Unsplash
API Guidelines
Easy-to-consume references and instructions for all of the important information
that a team will need to create or work with APIs API Guidelines
None
API Governance
What is an API Governance? • Owners of the guidelines,
data dictionaries and processes
What is an API Governance? Example: Track Schema
What is an API Governance? • Owners of the guidelines,
data dictionaries and processes • Technical discussions
What is an API Governance? Example: Versioning Using URLs http://api.spotify.com/v1/albums
http://api.spotify.com/2022/albums http://v1.api.spotify.com/albums HTTP Header Accept: application/vnd.spotify.v1 Accept-Version: 1 Query parameter GET /albums?version=1
What is an API Governance? • Owners of the guidelines,
data dictionaries and processes • Technical discussions • API design review
What is an API Governance? Submitted by: awesome_api_designer Reviewers: reviewer_1,
reviewer_2, reviewer_3 • Define the Use Case of the API • Flow (how to use the API) • Data Dictionary • URI • Examples • OpenAPI Spec
Why do we need an API Governance?
Why API Governance? As API Producer - Guidelines owners -
Standardization: - Errors - Endpoints / parameters naming - Improvements - Data dictionaries - Security - Versioning
Why API Governance? As API Producer - Guidelines owners -
Standardization: - Errors - Endpoints / parameters naming - Improvements - Data dictionaries - Security - Versioning As API Consumer - API consistency - Better API integration
Why API Governance? As API Producer - Guidelines owners -
Standardization: - Errors - Endpoints / parameters naming - Improvements - Data dictionaries - Security - Versioning Low participation could create a bottleneck! As API Consumer - API consistency - Better API integration
API Lifecycle Photo by Brett Jordan on Unsplash
API Lifecycle Idea - Quick wins - Demands from customers
- Innovation trends - Competitors' offering - Business goals
API Lifecycle Idea API Design/ Validation Validated by management and
legal
Design-first approach Design
Design-first approach Design Mocks
Design-first approach Design Mocks Feedback
Design-first approach Design Mocks Feedback
API Lifecycle Idea Development Testing - Beta tester program API
Design/ Validation
API Lifecycle Idea Development Testing Release Promotion API Design/ Validation
API Lifecycle Idea Development Testing Release Promotion Monitor Feedback API
Design/ Validation
API Lifecycle Idea Development Testing Release Promotion Monitor Feedback New
version? API Design/ Validation
API Lifecycle Idea Development Testing Release Promotion Monitor Feedback Decommission
API Design/ Validation New version?
API Lifecycle Breaking vs. non-breaking changes Once released, your API
should be considered a contract and cannot be broken without a new version release
API Lifecycle v1 Obsolete supported Obsolete unsupported deprecated v2 Obsolete
supported Obsolete unsupported deprecated v3 5 months? 5 months?
API Lifecycle v1 Obsolete supported Obsolete unsupported deprecated v2 Obsolete
supported Obsolete unsupported deprecated v3 Migration period: support, comms, tutorials, etc. 5 months 5 months
API Lifecycle v1 Obsolete supported Obsolete unsupported deprecated v2 Obsolete
supported Obsolete unsupported deprecated v3 Migration period: specific comms, implement redirects, add "warnings" to the payload 5 months 5 months
Recap Photo by Júnior Ferreira on Unsplash
Recap • Before delivering top-quality APIs, we need establish guidelines,
tools and processes • API specification is a contract • Always embrace API design-first approach
Resources
Resources
Resources https://apideveloperweekly.com/ https://nordicapis.com/newsletter/ Newsletters: https://apievangelist.com/ https://apihandyman.io/ Blogs:
developer.spotify.com @spotifyplatform Thank you!