Things will get worse before they get better as you start to unpack all the dependencies and address the neglect.
#legacyModernization #architectureModernization
Things will get worse before they get better as you start to unpack all the dependencies and address the neglect.
#legacyModernization #architectureModernization
2/2
#architectureModernization #legacyModernization
2/2
#architectureModernization #legacyModernization
At the end it seems so obvious: "why did it take you 6 months to design such a simple solution?"
1/2
#architectureModernization #legacyModernization #ddDesign
At the end it seems so obvious: "why did it take you 6 months to design such a simple solution?"
1/2
#architectureModernization #legacyModernization #ddDesign
It's going to be fun to see how all this fits together with @chrissimon.au's @contextive.tech...
3/3
#legacyModernization #architectureModernization
It's going to be fun to see how all this fits together with @chrissimon.au's @contextive.tech...
3/3
#legacyModernization #architectureModernization
Semantic drift is a big problem in legacy systems. It increases the costs and risks of modernization legacy-modernization.io/patterns/leg...
2/3
#legacyModernization #architectureModernization
Semantic drift is a big problem in legacy systems. It increases the costs and risks of modernization legacy-modernization.io/patterns/leg...
2/3
#legacyModernization #architectureModernization
More interestingly, it also explains terminology mismatches - where the code doesn't align with the current business terminology.
1/3
#legacyModernization #architectureModernization
More interestingly, it also explains terminology mismatches - where the code doesn't align with the current business terminology.
1/3
#legacyModernization #architectureModernization
I manually wrote a 4 step approach to creating a migration plan and asked Cursor with Claude 4 Sonnet to execute each step.
1/3
#legacyModernization #architectureModernization
I manually wrote a 4 step approach to creating a migration plan and asked Cursor with Claude 4 Sonnet to execute each step.
1/3
#legacyModernization #architectureModernization
I curated my knowledge of legacy modernization patterns into a website.
I still have lots of content to add but the current version is hopefully a bit useful
legacy-modernization.io
#legacyModernization #architectureModernization
I curated my knowledge of legacy modernization patterns into a website.
I still have lots of content to add but the current version is hopefully a bit useful
legacy-modernization.io
#legacyModernization #architectureModernization
A collection of patterns and other resources to help you modernize your legacy systems effectively.
Community contributions welcome.
#legacyModernization #architectureModernization
A collection of patterns and other resources to help you modernize your legacy systems effectively.
Community contributions welcome.
#legacyModernization #architectureModernization
Also "How could we improve the product even further in greenfield that we are blocked from doing in the current system?"
#architectureModernization #legacyModernization
Also "How could we improve the product even further in greenfield that we are blocked from doing in the current system?"
#architectureModernization #legacyModernization
Slide decks are available here:
- drive.google.com/file/d/1kl4-...
- drive.google.com/file/d/1k5kM...
#architectureModernization #ddDesign #legacyModernization
Slide decks are available here:
- drive.google.com/file/d/1kl4-...
- drive.google.com/file/d/1k5kM...
#architectureModernization #ddDesign #legacyModernization
The Miro board is here if you'd like to run the exercise yourself: miro.com/app/board/uX...
#architectureModernization
The Miro board is here if you'd like to run the exercise yourself: miro.com/app/board/uX...
#architectureModernization
- all modifications to the data legacy data correctly trigger the sync
- your new app correctly builds the right state
- eventual consistency is acceptable
2/3
#architectureModernization
- all modifications to the data legacy data correctly trigger the sync
- your new app correctly builds the right state
- eventual consistency is acceptable
2/3
#architectureModernization
It's common in legacy systems for words and concepts not to align with how people think and talk about the business.
1/4
#architectureModernization #dddDesign
It's common in legacy systems for words and concepts not to align with how people think and talk about the business.
1/4
#architectureModernization #dddDesign
#architectureModernization #legacyModernization
3/4
#architectureModernization #legacyModernization
3/4
I also prefer to avoid having special code paths, so cleaning the data is probably my preference.
But every scenario is unique and there are many trade-offs to consider.
#architectureModernization
I also prefer to avoid having special code paths, so cleaning the data is probably my preference.
But every scenario is unique and there are many trade-offs to consider.
#architectureModernization
How do people in your company respond in situations like this?
#architectureModernization #archMod
1/3
How do people in your company respond in situations like this?
#architectureModernization #archMod
1/3
But it's hard to do reliably, e.g. multiple flows that produce the same events but are subtly different (e.g. for different types of user or product).
1/3
#architectureModernization
But it's hard to do reliably, e.g. multiple flows that produce the same events but are subtly different (e.g. for different types of user or product).
1/3
#architectureModernization
But the events coming out of legacy represent your old model. And you will need to translate them into your new model.
1/4
#architectureModernization #ddDesign
But the events coming out of legacy represent your old model. And you will need to translate them into your new model.
1/4
#architectureModernization #ddDesign
Write operations can happen in either. E.g., customers via a website and partners via API - both creating/modifying the same entities.
1/4
#architectureModernization
Write operations can happen in either. E.g., customers via a website and partners via API - both creating/modifying the same entities.
1/4
#architectureModernization
Rewriting, migrating, running new and old in parallel, keeping multiple data-stores in sync... it's inevitable that there will be issues in your production environment.
1/3 #architectureModernization
Rewriting, migrating, running new and old in parallel, keeping multiple data-stores in sync... it's inevitable that there will be issues in your production environment.
1/3 #architectureModernization
Thanks to all the organizers and attendees for an excellent few days.
And thanks to Eduardo da Silva for another enjoyable and memorable collaboration.
Slides: drive.google.com/file/d/1LajO...
#architecturemodernization
Thanks to all the organizers and attendees for an excellent few days.
And thanks to Eduardo da Silva for another enjoyable and memorable collaboration.
Slides: drive.google.com/file/d/1LajO...
#architecturemodernization
Recording (Video / #Podcast) available!
#SoftwareArchitekture im #Stream
software-architektur...re-architektur.tv/2024/07/05/episode223.html" class="hover:underline text-blue-600 dark:text-sky-400 no-card-link" target="_blank" rel="noopener" data-link="bsky">software-architektur...
Recording (Video / #Podcast) available!
#SoftwareArchitekture im #Stream
software-architektur...re-architektur.tv/2024/07/05/episode223.html" class="hover:underline text-blue-600 dark:text-sky-400 no-card-link" target="_blank" rel="noopener" data-link="bsky">software-architektur...
#SoftwareArchitekture im #Stream
TODAY 13:00 CEST
More Information and opportunity to ask qustions:
software-architektur.tv
#SoftwareArchitekture im #Stream
TODAY 13:00 CEST
More Information and opportunity to ask qustions:
software-architektur.tv
#SoftwareArchitekture im #Stream
TOMORROW 13:00 CEST
More Information and opportunity to ask qustions:
software-architektur...
#SoftwareArchitekture im #Stream
TOMORROW 13:00 CEST
More Information and opportunity to ask qustions:
software-architektur...