Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Scale-Oriented Architecture with Microservices
Search
John Sheehan
February 10, 2015
Technology
2
350
Scale-Oriented Architecture with Microservices
A look into how we've built Runscope using a microservice architecture.
John Sheehan
February 10, 2015
Tweet
Share
More Decks by John Sheehan
See All by John Sheehan
My Favorite API Tools (Other than Runscope)
johnsheehan
0
170
Crafting a Great Webhooks Experience
johnsheehan
2
530
Glue 2015: Microservices - More than just a buzzword.
johnsheehan
2
740
Crafting a Great Webhooks Experience
johnsheehan
0
190
The rise of distributed applications.
johnsheehan
2
470
Zen and the Art of API Maintenance
johnsheehan
2
2.5k
Building API integrations you can live with.
johnsheehan
0
130
Free API debugging and testing tools you should know about.
johnsheehan
5
850
Modern Tools for Modern Applications
johnsheehan
1
200
Other Decks in Technology
See All in Technology
普段使ってるClaude Skillsの紹介(by Notebooklm)
zerebom
8
2.1k
特別捜査官等研修会
nomizone
0
560
2025年のデザインシステムとAI 活用を振り返る
leveragestech
0
190
[2025-12-12]あの日僕が見た胡蝶の夢 〜人の夢は終わらねェ AIによるパフォーマンスチューニングのすゝめ〜
tosite
0
170
SREが取り組むデプロイ高速化 ─ Docker Buildを最適化した話
capytan
0
140
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
2025-12-18_AI駆動開発推進プロジェクト運営について / AIDD-Promotion project management
yayoi_dd
0
150
AI時代のワークフロー設計〜Durable Functions / Step Functions / Strands Agents を添えて〜
yakumo
3
2.1k
20251218_AIを活用した開発生産性向上の全社的な取り組みの進め方について / How to proceed with company-wide initiatives to improve development productivity using AI
yayoi_dd
0
650
半年で、AIゼロ知識から AI中心開発組織の変革担当に至るまで
rfdnxbro
0
140
Kiro を用いたペアプロのススメ
taikis
4
1.8k
マイクロサービスへの5年間 ぶっちゃけ何をしてどうなったか
joker1007
19
7.6k
Featured
See All Featured
Making Projects Easy
brettharned
120
6.5k
Accessibility Awareness
sabderemane
0
24
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
2
2.8k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
290
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
0
63
Google's AI Overviews - The New Search
badams
0
870
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Thoughts on Productivity
jonyablonski
73
5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
120
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
400
Un-Boring Meetings
codingconduct
0
160
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!