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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Andriy
January 21, 2023
Programming
80
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
330
WordPress Development: Fantastic tools and where to find them
alsoknownasdrew
0
270
Other Decks in Programming
See All in Programming
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
250
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
5.4k
AIで効率化できた業務・日常
ochtum
0
140
Creating Composable Callables in Contemporary C++
rollbear
0
150
3Dシーンの圧縮
fadis
1
780
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
250
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
280
Inside Stream API
skrb
1
730
Agentic UI
manfredsteyer
PRO
0
170
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
130
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
120
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.3k
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Designing for Timeless Needs
cassininazir
1
260
Thoughts on Productivity
jonyablonski
76
5.2k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
150
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Music & Morning Musume
bryan
47
7.2k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
600
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
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