A microservice architecture is great for building scalable codebases with less coupling, better separation of concerns, improved resilience, combining different technologies, and, most of all, better modularity and reusability for the components that build it.