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
Building Composable Services
Search
Noah Kantrowitz
July 20, 2014
Technology
57
0
Share
Building Composable Services
Noah Kantrowitz
July 20, 2014
More Decks by Noah Kantrowitz
See All by Noah Kantrowitz
The Long Hello World
coderanger
0
24
The Long Hello World (with notes)
coderanger
0
86
What Python Can Learn From Other Languages
coderanger
0
87
What Python Can Learn From Other Languages (with notes)
coderanger
0
210
Swiss Army Django: Small Footprint ETL (with notes) - DjangoCon US
coderanger
0
340
Swiss Army Django: Small Footprint ETL - DjangoCon US
coderanger
0
87
How to look at space: PyCon AU
coderanger
0
150
Swiss Army Django: Small Footprint ETL
coderanger
0
120
Swiss Army Django: Small Footprint ETL (with notes)
coderanger
0
100
Other Decks in Technology
See All in Technology
AI時代のガードレールとしてのAPIガバナンス
nagix
0
340
Chasing Real-Time Observability for CRuby
whitegreen
0
460
目的ファーストのハーネス設計 ~ハーネスの変更容易性を高めるための優先順位~
gotalab555
9
3.4k
Agents CLI と Gemini Enterprise Agent Platform で マルチエージェント開発が楽しくなる!
kaz1437
0
190
260422_Sansan_Tech_Talk__関西_vol.3_データ活用のリアル__矢田__.pdf
sansantech
PRO
0
140
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
180
VespaのParent Childを用いたフィードパフォーマンスの改善
taking
0
150
生成AI時代のドキュメントに対する期待の整理と実践から得た学び / Rethinking Documentation for LLM: Lessons from Practice
bitkey
PRO
1
120
AIが書いたコードを信じられない問題 〜レビュー負荷を下げるために変えたこと〜 / The AI Code Trust Gap: Reducing the Review Burden
bitkey
PRO
8
1.4k
独断と偏見で試してみる、 シングル or マルチエージェント どっちがいいの?
shichijoyuhi
1
210
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
480
『生成AI時代のクレデンシャルとパーミッション設計 — Claude Code を起点に』の執筆企画
takuros
1
1.6k
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
0
320
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
220
Testing 201, or: Great Expectations
jmmastey
46
8.1k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
sira's awesome portfolio website redesign presentation
elsirapls
0
230
Become a Pro
speakerdeck
PRO
31
5.9k
ラッコキーワード サービス紹介資料
rakko
1
3.1M
Crafting Experiences
bethany
1
130
Navigating Team Friction
lara
192
16k
Transcript
Building Composable Services Noah Kantrowitz
What? Why? How? Perils? Press Start
What? World 1-1
What is a Function?
f(x, y) = z
What is Idempotence?
f(x) = f(f(x))
What is Composable?
f(x) g(x) f(g(x))
req_user(x) user_id(x) user_id(req_user(x))
post('http://login') get('http://search')
Why? World 1-2
Availability
Scaling
Testing
Logistics
How? World 1-3
Frameworks Storage Rich Data Discovery Resilience Containers Level Up Select
a Skill
µ-frameworks
Flask (Python) Sinatra (Ruby) Express (JavaScript)
ZeroMQ nanomsg ProtoBufs Cap'nProto
Data Storage (aka state)
AP Database
Cache is the enemy
Rich Data {id: me, cart: http...}
Hypermedia APIs
Service Discovery
Self-Organization
DNS nslookup('login')
ZooKeeper CP Database
Etcd Serf Consul Archaius
Resilience
Timeouts Idempotent Retries
post('chpw', nonce: 314)
Any service can be down
Async Messaging Queues
AMQP Kafka
Containers
Less RAM Less Problems
LXC Jails Zones Docker/Mesos
Security Isolation
Immutable Deployment
Logical Boundaries
Perils? World 1-4
Cascade Failures
Poor Visibility
Health & Metrics Central Logging Dashboards
Complex Deployments
Minimalist Self-organizing Fault-tolerant
Thank You
Noah Kantrowitz @kantrn coderanger.net Questions?