Pros and Cons of Microservices vs Monolithic Architectures