For the last couple of years, microservices and, to a lesser degree, microfrontends have been all the rage when it came to building new software systems. However, although microservices promise vast benefits over traditional monolithic approaches, in many projects, those didn’t materialize. More and more people talk about returning to a more traditional, monolithic architecture and are happy with it. Why is that? I think there are effectively two major reasons for this: