The purpose is exchanging the old constraints for new ones, rather than making the application appear more youthful. And they rarely go according to plan.
I worked on this project, which was done partly out of necessity.
A crucial third-party vendor library we were using stopped supporting old versions of PHP, which meant we would have to upgrade the monolith.
That would be a massive amount of work. Unfeasible.
So Denis devised an approach to identify the application's seams and start separating functionality from the monolith into services that lived independently of the main system.
It increased complexity, as calls now went over the wire. Still, we gained the freedom to run different environments, and with that freedom, implementing business-valuable features became possible.
To counteract the increase in complexity, we pimped out the dev experience.
One positive outcome was that changes became easier.
With more code separation came fewer side effects, and we were able to start writing tests, which provided a sense of reassurance about the project's progress.
I vote that the next article explains the: "Doctor" concept we successfully deployed ;)
I worked on this project, which was done partly out of necessity.
A crucial third-party vendor library we were using stopped supporting old versions of PHP, which meant we would have to upgrade the monolith.
That would be a massive amount of work. Unfeasible.
So Denis devised an approach to identify the application's seams and start separating functionality from the monolith into services that lived independently of the main system.
It increased complexity, as calls now went over the wire. Still, we gained the freedom to run different environments, and with that freedom, implementing business-valuable features became possible.
To counteract the increase in complexity, we pimped out the dev experience.
One positive outcome was that changes became easier.
With more code separation came fewer side effects, and we were able to start writing tests, which provided a sense of reassurance about the project's progress.
I vote that the next article explains the: "Doctor" concept we successfully deployed ;)
Brings back memories ♥️