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
Learning to Share APIs
Search
Scott Feinberg
April 14, 2016
Programming
0
55
Learning to Share APIs
Originally Presented at O'Reilly Software Architecture Conf 4/13/2016
Scott Feinberg
April 14, 2016
Tweet
Share
More Decks by Scott Feinberg
See All by Scott Feinberg
Building API Tooling that Doesn't Suck
scottefein
0
540
Other Decks in Programming
See All in Programming
AI時代の認知負荷との向き合い方
optfit
0
160
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
Best-Practices-for-Cortex-Analyst-and-AI-Agent
ryotaroikeda
1
110
Basic Architectures
denyspoltorak
0
680
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
470
dchart: charts from deck markup
ajstarks
3
990
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
100
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
740
Architectural Extensions
denyspoltorak
0
290
Patterns of Patterns
denyspoltorak
0
1.4k
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
76
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
180
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.6k
Navigating Team Friction
lara
192
16k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
780
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
Designing Experiences People Love
moore
144
24k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
140
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
730
The Invisible Side of Design
smashingmag
302
51k
Designing for Performance
lara
610
70k
Transcript
Sanely Sharing APIs
Scott Feinberg
Our Agenda Today
APIs Cause Problems
APIs Divide Us
Friction Across Teams Information Silos Duplication of Effort
The Cause?
We Don’t Know How to Share Our APIs
Team A Team B
Team C Team D
Let’s learn to share
What makes for easy sharing?
If you do all these things I’m about to talk
about...
Pick a Spec Format
What is a Spec?
OpenAPI/Swagger
Other Options
Want to see some specs?
Making Specs
Generate your specs
Generate your specs by proxy
Updating Spec during CI Builds
Why do you need specs?
None
None
None
Generate Good Documentation
Generate Integration Tests
How should your system talk to my system?
Canonical Protocols + Schemas
Pick a Protocol
Standardize Your Schema
Canonical Authentication
Design an Authentication Schema
Ways to Authenticate
Proxy-Based Authentication Proxy Lookup Key `dontshareme` User = Bob api.nytimes.com/svc/service_a/kittens/1?api-key=dontshareme
Service A service_a.consul/kittens/1 header:{User=Bob}
Available Proxy or “API Gateway”
So what should I do?
Your Sharing Checklist
The new process for creating an API...
None
None
New York Times Developer APIs
NYT Developer API Program
Announcing Today... (or when I get around to it)
The New (Open Source) Stack
What can people do w/NYT APIs?
None
Fin
Questions?