Compare pros and cons of microservices and monolithic architectures for scalability agility complexity and operational cost