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
Felipe Talavera
October 17, 2014
Programming
1
62
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
100
infrastructure at peertransfer
felipetalavera
3
290
ruby + rails
felipetalavera
5
550
Other Decks in Programming
See All in Programming
ベクトル検索システムの気持ち
monochromegane
31
9.9k
5年間継続して開発した自作OSSの記録
bebeji_nappa
0
180
AI Agents with JavaScript
slobodan
0
220
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
4
630
remix + cloudflare workers (DO) docker上でいい感じに開発する
yoshidatomoaki
0
130
AI時代の開発者評価について
ayumuu
0
110
ミリしらMCP勉強会
watany
4
740
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
180
Going Structural with Named Tuples
bishabosha
0
200
Code smarter, not harder - How AI Coding Tools Boost Your Productivity | Webinar 2025
danielsogl
0
120
Django for Data Science (Boston Python Meetup, March 2025)
wsvincent
0
320
PHPバージョンアップから始めるOSSコントリビュート / how2oss-contribute
dmnlk
1
1k
Featured
See All Featured
Side Projects
sachag
452
42k
How STYLIGHT went responsive
nonsquared
99
5.5k
Agile that works and the tools we love
rasmusluckow
328
21k
Producing Creativity
orderedlist
PRO
344
40k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
GraphQLとの向き合い方2022年版
quramy
46
14k
Statistics for Hackers
jakevdp
798
220k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
RailsConf 2023
tenderlove
30
1.1k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Embracing the Ebb and Flow
colly
85
4.6k
Code Reviewing Like a Champion
maltzj
522
39k
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!