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
Mastering migrations
Search
Andriy
January 21, 2023
Programming
82
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Mastering migrations
Andriy
January 21, 2023
More Decks by Andriy
See All by Andriy
PWWA: Progressive WordPress Web App
alsoknownasdrew
0
340
WordPress Development: Fantastic tools and where to find them
alsoknownasdrew
0
270
Other Decks in Programming
See All in Programming
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
5.7k
Security issues being discussed on Web Platforms
petamoriken
0
1.4k
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
200
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
470
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
320
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
180
wkhtmltopdfの次どうするか問題2026
willnet
2
1.8k
Ghostty + Neovimで作る 透明でカッコ良い開発環境
j341nono
0
150
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
1k
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
290
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
120
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
330
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
340
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
410
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
sira's awesome portfolio website redesign presentation
elsirapls
0
430
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
750
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