Functional decomposition and microservices combined created a set of problems, especially around debugging. What used to be understanding how the code runs (which is eliminated by IDEs and containerization), turned into finding where a certain problem lives in the system. Debugging became a difficult problem as the systems and code bases are separated.
- Source(s): Observability Engineering 1st Edition by Charity Majors, Liz Fong-Jones, George Miranda