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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Felipe Talavera
October 17, 2014
Programming
87
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
4 years building services at peerTransfer
Felipe Talavera
October 17, 2014
More Decks by Felipe Talavera
See All by Felipe Talavera
web development with ruby
felipetalavera
0
140
infrastructure at peertransfer
felipetalavera
3
320
ruby + rails
felipetalavera
5
580
Other Decks in Programming
See All in Programming
メールのエイリアス機能を履き違えない
isshinfunada
0
250
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.1k
今さら聞けない .NET CLI
htkym
0
210
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
1
800
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
1
270
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
360
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
120
PyConJP2026_wat_Python × Signal Processing: How to Draw Pictures with Sound Using Spectrogram Art
wat
0
280
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
500
夏だ!祭りだ!祭りとはドメインモデリングでは?
ryugen04
0
370
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
2
430
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
370
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
470
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Git: the NoSQL Database
bkeepers
PRO
432
67k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
400
Fireside Chat
paigeccino
42
4k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.2k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
680
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
490
The untapped power of vector embeddings
frankvandijk
2
1.8k
Rails Girls Zürich Keynote
gr2m
96
14k
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!