Monolitic vs Microservices Architecture: Pros and Cons