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
160
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
Design Your APIs Before Laying the First Brick
alnacle
0
17
No More Post-its: Boost your login security with APIs
alnacle
0
78
Baking a great DX
alnacle
0
150
Build your first Spotify App
alnacle
0
39
How to use your API Gateway as Developer Relations Tool
alnacle
0
63
Building awesome SDKs for your APIs: Best Practices
alnacle
0
98
DevRel as Professional Career
alnacle
0
210
Effective API Governance: Lessons Learnt
alnacle
0
3.2k
Building a partnership that scales through APIs
alnacle
0
120
Other Decks in Technology
See All in Technology
ナレッジワーク IT情報系キャリア研究セッション資料(情報処理学会 第88回全国大会 )
kworkdev
PRO
0
160
身体を持ったパーソナルAIエージェントの 可能性を探る開発
yokomachi
1
100
vLLM Community Meetup Tokyo #3 オープニングトーク
jpishikawa
0
320
[JAWSDAYS2026][D8]その起票、愛が足りてますか?AWSサポートを味方につける、技術的「ラブレター」の書き方
hirosys_
3
120
Oracle Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
5
1.2k
Abuse report だけじゃない。AWS から緊急連絡が来る状況とは?昨今の攻撃や被害の事例の紹介と備えておきたい考え方について
kazzpapa3
1
460
OpenClawで回す組織運営
jacopen
3
690
NewSQL_ ストレージ分離と分散合意を用いたスケーラブルアーキテクチャ
hacomono
PRO
1
200
Shifting from MCP to Skills / ベストプラクティスの変遷を辿る
yamanoku
4
790
ナレッジワークのご紹介(第88回情報処理学会 )
kworkdev
PRO
0
180
IBM Bobを使って、PostgreSQLのToDoアプリをDb2へ変換してみよう/202603_Dojo_Bob
mayumihirano
1
310
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
8
7.2k
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.1k
Are puppies a ranking factor?
jonoalderson
1
3.1k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
250
Typedesign – Prime Four
hannesfritz
42
3k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Deep Space Network (abreviated)
tonyrice
0
88
Building Adaptive Systems
keathley
44
2.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
42k
We Are The Robots
honzajavorek
0
190
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
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!