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
4 years building services at peerTransfer
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Felipe Talavera
October 17, 2014
Programming
1
68
4 years building services at peerTransfer
Felipe Talavera
October 17, 2014
Tweet
Share
More Decks by Felipe Talavera
See All by Felipe Talavera
web development with ruby
felipetalavera
0
120
infrastructure at peertransfer
felipetalavera
3
300
ruby + rails
felipetalavera
5
570
Other Decks in Programming
See All in Programming
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
160
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
430
技術検証結果の整理と解析をAIに任せよう!
keisukeikeda
0
130
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.1k
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
520
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
1k
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
2.5k
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
1
160
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
490
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
6
2.5k
Codex の「自走力」を高める
yorifuji
0
1.3k
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
300
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
340
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.4k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.9k
Making Projects Easy
brettharned
120
6.6k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
140
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
43k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The SEO identity crisis: Don't let AI make you average
varn
0
420
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
67
37k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
450
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
180
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Transcript
4 years building services Felipe Talavera
A.K.A. Services vs Monoliths
"Microservices" - yet another new term on the crowded streets
of software architecture. http://martinfowler.com/articles/microservices.html -Martin Fowler
None
1B$ process +500 schools almost 4 years
0 sinatra 1 rails 0 daemons 0 libraries 1 server
November 2010!
None
0 sinatra 2 rails 1 daemons 0 libraries 2 servers
January 2011!
HTTP REST API’s! ! Async process with a message broker
None
App per git repo! ! Apps are deployed separately !
Infra as code
Issues
Features involving multiple apps ! One rails app failure affect
the other ! Complex monitoring/acceptance needed !
dependency resolution ! version tagging and deployment! ! handling performance
degradation Manual
! Error Handling cascading, trace, storm, retry
Infra on AWS June 2012!
http://martinfowler.com/bliki/MicroservicePrerequisites.html Rapid provisioning Basic Monitoring Rapid application deployment
4 sinatra 4 rails 4 daemons 3 libraries 6 servers
June 2012!
None
None
None
10 sinatra 4 rails 8 daemons 7 libraries 21 servers
October 2014!
teams around services
Accidental complexities
API consumers Auto generated consumer, ex: ActiveResource ! Cross app
testing, consumer mock mode ! Recording traffic, VCR approach
A/B testing across apps ! Feature flagging
None
40 sinatra 3 rails 15 daemons 20 libraries 40 servers
July 2016!
! Docker containers ! Consul ! Etcd ! Terraform Our
next steps:!
Modern alternatives !
! Hystrix/RxJava Latency and Fault Tolerance for Distributed Systems Java
lib runs in JVM languages, scala, clojure, etc… from netflix http://blog.josephwilk.net/clojure/building-clojure-services-at-scale.html
! Finagle Pipes-and-Filters meets Futures model. Thrift for RPC ZooKeeper
for Service Discovery from twitter Finatra Scala lib
! Zipkin A distributed tracing system
Apache Mesos Develop and run resource-efficient distributed systems ! !
Cluster manager that simplifies the complexity of running applications on a shared pool of servers.
Learned lessons! ! What things we would do differently?
Thanks!