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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Noah Kantrowitz
July 20, 2014
Technology
0
56
Building Composable Services
Noah Kantrowitz
July 20, 2014
Tweet
Share
More Decks by Noah Kantrowitz
See All by Noah Kantrowitz
The Long Hello World
coderanger
0
17
The Long Hello World (with notes)
coderanger
0
56
What Python Can Learn From Other Languages
coderanger
0
79
What Python Can Learn From Other Languages (with notes)
coderanger
0
190
Swiss Army Django: Small Footprint ETL (with notes) - DjangoCon US
coderanger
0
300
Swiss Army Django: Small Footprint ETL - DjangoCon US
coderanger
0
79
How to look at space: PyCon AU
coderanger
0
130
Swiss Army Django: Small Footprint ETL
coderanger
0
110
Swiss Army Django: Small Footprint ETL (with notes)
coderanger
0
98
Other Decks in Technology
See All in Technology
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
67k
無ければ作る! バイブコーディングで作ったものを一気に紹介
tatsuya1970
0
110
3分でわかる!新機能 AWS Transform custom
sato4mi
1
320
AIとともに歩む情報セキュリティ / Information Security with AI
kanny
4
3.1k
Kiro IDEのドキュメントを全部読んだので地味だけどちょっと嬉しい機能を紹介する
khmoryz
0
130
Kubecon NA 2025: DRA 関連の Recap と社内 GPU 基盤での課題
kevin_namba
0
120
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
41k
いよいよ仕事を奪われそうな波が来たぜ
kazzpapa3
3
360
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
1.8k
Tebiki Engineering Team Deck
tebiki
0
23k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
10k
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
1.7k
Featured
See All Featured
Building the Perfect Custom Keyboard
takai
2
680
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Technical Leadership for Architectural Decision Making
baasie
1
230
The Invisible Side of Design
smashingmag
302
51k
Crafting Experiences
bethany
1
46
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
70
30 Presentation Tips
portentint
PRO
1
210
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
52
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
920
A Tale of Four Properties
chriscoyier
162
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
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?