Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Scale-Oriented Architecture with Microservices
Search
John Sheehan
February 10, 2015
Technology
380
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Scale-Oriented Architecture with Microservices
A look into how we've built Runscope using a microservice architecture.
John Sheehan
February 10, 2015
More Decks by John Sheehan
See All by John Sheehan
My Favorite API Tools (Other than Runscope)
johnsheehan
0
200
Crafting a Great Webhooks Experience
johnsheehan
2
560
Glue 2015: Microservices - More than just a buzzword.
johnsheehan
2
780
Crafting a Great Webhooks Experience
johnsheehan
0
220
The rise of distributed applications.
johnsheehan
2
500
Zen and the Art of API Maintenance
johnsheehan
2
2.5k
Building API integrations you can live with.
johnsheehan
0
160
Free API debugging and testing tools you should know about.
johnsheehan
5
880
Modern Tools for Modern Applications
johnsheehan
1
210
Other Decks in Technology
See All in Technology
beyond jj: config & tools ecosystem
indirect
0
5.9k
サーバーレスをどこまで使う? WebRTC対戦ゲームで選んだVPSとの共存設計
kaidouji85
0
350
絵ではじめるKubernetesセキュリティ
aoi1
4
700
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
2.9k
AIエージェントの一手は 誰も見ていない - Falco拡張OSS「Prempti」とeBPFで サーバーレス実行基盤を二層防御する
keitah
0
490
AIによるクリエイティブ生成を行う上での試行錯誤
plaidtech
PRO
0
180
アクセスキーこわい やめかたと漏らさない工夫
sassssan68
1
650
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
540
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
33
31k
AI de Idea
kawaguti
PRO
2
130
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
11
5.1k
[Kiro Meetup #7] Kiro Crew Dive Deep
konippi
0
260
Featured
See All Featured
Heart Work Chapter 1 - Part 1
lfama
PRO
10
36k
Making the Leap to Tech Lead
cromwellryan
135
10k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
770
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8k
Google's AI Overviews - The New Search
badams
0
1.6k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
Thoughts on Productivity
jonyablonski
76
5.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
The Limits of Empathy - UXLibs8
cassininazir
1
690
Transcript
Scale-oriented Architecture with APIs John Sheehan Co-founder, CEO @Runscope
Scale-oriented Architecture with APIs MICROSERVICES
API DEBUGGING API MONITORING FOR TEAMS
30,000+ developers use Runscope
MICROSERVICES at Runscope
MICROSERVICES = SOA + DevOps
If you don't invest in INFRASTRUCTURE don't invest in MICROSERVICES
In the beginning...
runscope.com Runscope URLs Identity Request Vault api.runscope.com Eventador Calculon Courier
Mission Control Passageway go-proxy Warp Pipe go-radar Events Auth Service File Cabinet Script Processor Atlas Archivist Prometheus Billing Scorekeeper
Today 40+ internal services 9 engineers
How micro should services be?
MICROSERVICES GOALS
Scaling the Stack GOAL #1
Independent Deployability
None
None
None
None
7,789 Deployments in 2014 31+ Per work day
Service-level Isolation
Independent Scalability
Network Resiliency
Scaling the Team GOAL #2
Network Mindset
Isolate Breakage
Human Modularity
Uniform Interface
Developer Experience
Smart Client
• Service discovery • service://identity/... • Retry failed GETs •
Run HTTP requests asynchronously • Log with Runscope Traffic Inspector Smart Client
url = "https://ec2-23-212-199-23.us-west-2.amazonaws.com" resp = requests.get(url) if resp.ok: return resp.json()
else: # retry? return None def get_user(id): def main(): user = get_user(id) print user["name"]
class Identity def get_user(id): url = "service://identity/users/" + id resp
= smart_client.get(url) if resp.ok: return User(resp.json()) return AnonymousUser() from Identity import get_user def main(): user = get_user(id) print user.name Auto-locate service Smart retries
Smart Service
• Built-in healthcheck/heartbeat endpoints • Automatic, realm-aware service registry •
Common logging and metrics framework • Simplified dependency management Smart Service
Testing & Monitoring
API Testing API Monitoring Functionality Availability Performance Correctness In Development
In Production "Transactions" "Endpoints"
Runscope Radar Functionality Availability Performance Correctness Any Environment API Testing
& Monitoring Transactions & Endpoints
Try Runscope, free. runscope.com Stop by our table for your
free t-shirt!