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
60
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Building Composable Services
Noah Kantrowitz
July 20, 2014
More Decks by Noah Kantrowitz
See All by Noah Kantrowitz
The Long Hello World
coderanger
0
35
The Long Hello World (with notes)
coderanger
0
110
What Python Can Learn From Other Languages
coderanger
0
95
What Python Can Learn From Other Languages (with notes)
coderanger
0
240
Swiss Army Django: Small Footprint ETL (with notes) - DjangoCon US
coderanger
0
380
Swiss Army Django: Small Footprint ETL - DjangoCon US
coderanger
0
96
How to look at space: PyCon AU
coderanger
0
150
Swiss Army Django: Small Footprint ETL
coderanger
0
130
Swiss Army Django: Small Footprint ETL (with notes)
coderanger
0
110
Other Decks in Technology
See All in Technology
Mastraエージェント、どのクラウドにデプロイする?
minorun365
PRO
2
170
型は壁、Rustでもバグを直すな、表現できなくせよ
nwiizo
12
1.8k
美しいコードを書くためにF#を学んでみた話
yud0uhu
1
340
金融の未来を考える / Thinking About the Future of Finance
ks91
PRO
0
180
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
270
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
1
2.2k
記録をかんたんに、提案をパーソナルに ── AIであすけんが目指すもの
oprstchn
0
170
Claude Codeとハーネスについて考えてみる
oikon48
18
8.8k
最近評価が難しくなった
maroon8021
0
250
AWS Blocks を触ってみた/first-tach-aws-blocks
fossamagna
2
150
AIで政治は変わるのか? — 中高生と考えたAI時代の民主主義(東海高校サタデープログラム)
eitarosuda
0
400
生成AIの活用/high_school2026
okana2ki
0
110
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.6k
Become a Pro
speakerdeck
PRO
31
6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Embracing the Ebb and Flow
colly
88
5.1k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Between Models and Reality
mayunak
4
360
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
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?