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
Mastering migrations
Search
Andriy
January 21, 2023
Programming
0
64
Mastering migrations
Andriy
January 21, 2023
Tweet
Share
More Decks by Andriy
See All by Andriy
PWWA: Progressive WordPress Web App
alsoknownasdrew
0
300
WordPress Development: Fantastic tools and where to find them
alsoknownasdrew
0
260
Other Decks in Programming
See All in Programming
ふつうの技術スタックでアート作品を作ってみる
akira888
0
200
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
460
PicoRuby on Rails
makicamel
2
110
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
170
20250628_非エンジニアがバイブコーディングしてみた
ponponmikankan
0
520
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
520
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
510
今ならAmazon ECSのサービス間通信をどう選ぶか / Selection of ECS Interservice Communication 2025
tkikuc
20
3.7k
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
210
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
0
130
5つのアンチパターンから学ぶLT設計
narihara
1
130
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Speed Design
sergeychernyshev
32
1k
Side Projects
sachag
455
42k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Typedesign – Prime Four
hannesfritz
42
2.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
A Modern Web Designer's Workflow
chriscoyier
694
190k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
Mastering Migrations From Monolith to Microservices with Golden Master Testing
Mastering Migrations From Monolith to Microservices with Golden Master Testing
Microservices
Andriy Frankevych Software Engineer @ Docebo Looking for a better
profile picture @alsoknownasdrew on the interwebs
Part 1: Why Are We Doing This? - 1 product
- 1 dev team - 1 system
Part 1: Why Are We Doing This? - 2 products
- 1 dev team - 1 system
Part 1: Why Are We Doing This? - 3 products
- 1 dev team - 1 system
Part 1: Why Are We Doing This? - 3 products
- 1 dev team - 1 system - 1 bottleneck
Part 1: Why Are We Doing This? - 3 products
- 3 dev teams - 1 system
Part 1: Why Are We Doing This? - 3 products
- 3 dev teams - 1 system
Part 1: Why Are We Doing This? - 3 products
- 3 dev teams - 1 system - 1 bottleneck
Part 1: Why Are We Doing This? - 3 products
- 3 dev teams - 3 systems
Microservices: organizational solution
Part 2: What Are We Doing? - Giant spaghetti script
- No tests - No one knows how it works
Part 2: What Are We Doing? Identify responsibilities
Part 3: How Are We Doing This? Record Golden Master
Part 3: How Are We Doing This? - Run the
tests - Refactor - Run the tests
Part 3: How Are We Doing This? - Use Adapters
Abstract dependencies: you'll be glad you did
Part 3: How Are We Doing This? - Use Adapters
- Use Contract Testing
Part 3: How Are We Doing This? - Use Adapters
- Use Contract Testing - Throw away Golden master
Golden Master: refactoring solution
Part 4: What's next? - Use Contract Testing to migrate
frontend
Part 4: What's next? - Use Contract Testing to migrate
frontend - Repeat for other services
Thanks References: - Fred Brooks: The Mythical Man-Month - Eric
Evans: Domain Driven Design - Eberhard Wolff: Microservices - Michael Feathers: Working Effectively with Legacy Code - Contract testing: stoplight.io | pact.io - Slides: https://speakerdeck.com/alsoknownasdrew/mastering-migrations