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
Monolithic to Microservices @ Moip
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Rodrigo Saito
November 11, 2015
Programming
75
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Monolithic to Microservices @ Moip
Presented @ API Experience
www.apiexperience.com.br
Rodrigo Saito
November 11, 2015
Other Decks in Programming
See All in Programming
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
4
3.5k
コードで差別化できない時代の ソフトウェアエンジニアリング / Software Engineering in an Era Where Code Doesn’t Differentiate
kishida
2
180
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
1.2k
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
640
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
2
880
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
190
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
290
S3 TablesのIcebergデータに、AIエージェントからアクセスしてみた / 20261016developersio2026joetsu-accessing-iceberg-in-s3tables-via-agent
kasacchiful
PRO
0
150
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
220
The Rails Doctrine Decade
koic
2
590
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
500
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
150
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Color Theory Basics | Prateek | Gurzu
gurzu
1
490
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
950
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
750
Unsuck your backbone
ammeep
672
58k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
600
Building Adaptive Systems
keathley
44
3.2k
Test your architecture with Archunit
thirion
2
2.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
4 Signs Your Business is Dying
shpigford
187
23k
Transcript
MONOLITHIC TO MICROSERVICES
None
Um pouco sobre os nossos últimos anos: + 300 parceiros
integrados + 100k clientes + R$ 1 bi / ano + 200 colaboradoradores + 8 anos de operação
None
None
V1
V2
MONOLITHIC VS MICROSERVICES
MOIP V1
None
None
LEGACY CODE
None
DIFFERENT TEAMS DEPLOY SYNCHRONIZATION
MOIP V2 FIRST PHASE
‣ REST APIS USING V1 CODEBASE ‣ NEW FACADE TO
LEGACY CODE ‣ RE-USE V1 FEATURES ‣ FAST TO DELIVER
None
None
HARD TO MAINTAIN HARD TO HANDLE ERRORS
500 ERRORS
NOT FAST TO DELIVER
SLOW RESPONSE TIMES
MOIP V2 SECOND PHASE
‣ SAME DATABASE ‣ NEW CODE ‣ UNIT / INTEGRATION
TESTS ‣ EASIER TO MAINTAIN ‣ BETTER RESPONSE TIMES
None
None
PERSISTING COLUMNS THAT WE HAVE NO IDEA ABOUT THE MEANING
V1 DATA <——> V2 DATA
MOIP V2 THIRD PHASE
‣ DATABASE FOR EACH SERVICE ‣ NEW CODE ‣ UNIT
/ INTEGRATION TESTS ‣ SYNC V2 <-> V1
None
None
None
None
SYNC DATA BETWEEN SERVICES IS VERY HARD
CONSISTENCY
MONITORING
NO DEVOPS
BUT…
‣ SCALABILITY ‣ FASTER DEPLOYS ‣ RESILIENCY ‣ EASIER TO
MAINTAIN
COMMUNICATION
SYNCHRONOUS VS ASYNCHRONOUS
REST API AMQP
SYNCHRONOUS ‣ LATENCY ‣ TIMEOUT ‣ CASCADING ERRORS ‣ SERVICE
DOWN
NETFLIX STACK
EVENT DRIVEN ARCHITECTURE ‣ SERVICE NOTIFY EVENTS ‣ SERVICE SUBSCRIBE
TO EVENTS ‣ HEADERS / JSON BODY
None
None
None
CONSISTENCY
DISTRIBUTED TRANSACTIONS WITHOUT TRANSACTIONS
None
HARD TO CHECK OVER DIFFERENT DATABASES
None
INFRASTRUCTURE
‣ DEPLOY ‣ INFRASTRUCTURE AS CODE ‣ DEVELOPER DEPLOY TO
PROD ‣ PLATFORM ‣ SERVICE DISCOVERY
MONITORING
INFRASTRUCTURE MONITORING ‣ AUTOMATION ‣ DASHBOARDS ‣ SERVER LOG AGGREGATION
BUSINESS MONITORING ‣ BUSINESS METRICS ‣ DASHBOARDS ‣ APPLICATION LOG
AGGREGATION
LESSONS LEARNED
‣ MICROSERVICE ONLY IF YOU NEED IT ‣ MICROSERVICE NOT
NANOSERVICE ‣ AUTOMATE INFRASTRUCTURE ‣ METRICS, METRICS AND METRICS
‣ TEST FAILURE SCENARIOS ‣ INTERNAL LATENCY ‣ USE SERVICE
DISCOVERY
MOIP V2 FUTURE
‣ CONNECTION CACHING ‣ CACHE HEADERS ‣ DOCKER CONTAINERS ‣
KEY/VALUE STORE CONFIGURATION ‣ SERVICE DISCOVERY ‣ FACEBOOK PRESTO
THANK YOU !!! Rodrigo Saito @rodrigosaito