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
62
Mastering migrations
Andriy
January 21, 2023
Tweet
Share
More Decks by Andriy
See All by Andriy
PWWA: Progressive WordPress Web App
alsoknownasdrew
0
220
WordPress Development: Fantastic tools and where to find them
alsoknownasdrew
0
210
Other Decks in Programming
See All in Programming
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
180
チームでモデリングを育てるうえで 考えたこと・気づいたこと / Cultivating Modeling in Teams: Thoughts and Insights
mackey0225
7
4.1k
CircleCIを活用して AWSへの継続的デリバリーを 実践する
coconala_engineer
1
230
Why 1 + 1 = 2 in Swift?
1plus4
1
600
エンターテイメント業界で利用されるAWS
demuyan
0
200
今の SmartHR にエンジニアで入社するとどうなるの?
daisukeshinoku
5
4.6k
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
470
Changed Rules: Architectures with Lightweight Stores
manfredsteyer
PRO
0
220
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
25
7.7k
StreamlitとTerraformでデータカタログを作った話
gussan0223
0
280
どうしてこうなった命名集 ~🔥編~ / OOC 2024 LT
pictiny
5
3.9k
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
340
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.3k
Become a Pro
speakerdeck
PRO
9
4.5k
Ruby is Unlike a Banana
tanoku
95
10k
Optimising Largest Contentful Paint
csswizardry
7
2.3k
Writing Fast Ruby
sferik
619
60k
The Cost Of JavaScript in 2023
addyosmani
13
3.8k
The Invisible Side of Design
smashingmag
293
49k
Faster Mobile Websites
deanohume
296
30k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
5
1.5k
No one is an island. Learnings from fostering a developers community.
thoeni
14
2.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
75
4.9k
How To Stay Up To Date on Web Technology
chriscoyier
781
250k
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