Services + End-to-End Tests = ?
A defining characteristic - and a key benefit - of the microservice architecture is that services are independently deployable. A team can test their service in isolation and release it independently of other services. Sadly, however, some organizations ignore this benefit.
The trouble with end-to-end testing
Instead of deploying services independently, some organizations test and release all the application's services together. To do that, they run what are usually slow and brittle (break randomly) end-to-end tests.
This increases the application's lead time and reduces its deployment frequency and so they are no longer delivering software, rapidly, frequently and reliably.
If you are not deploying services independently you essentially have a distributed monolith. Moreover, it's probably an instance of the Red Flag law anti-pattern.
While you still have the other benefits of microservices, such easier technology stack evolution, most likely, you are experiencing the pain of a distributed architecture with few of the gains.
Fixing the problem
If you can't successfully deploy services independently then I'd recommend one of the following options:
Learn more
Please see read the article.
Need help
If you need help escaping from distributed monolithic hell, please don't hesitate to contact me.
Platform Engineering Manager at Livelo, BSc Computer Science, MBA - Digital Business
7 个月Alex Scarelli