The modernization of a sophisticated technology stack is a delicate balancing act that rests on understanding how any one change will affect the entire ecosystem. Business leaders who oversee mature technology stacks are particularly confounded by the demand to make changes quickly (and correctly) while simultaneously increasing the complexity of their applications. Microservices promise to alleviate this burden by decomposing complex applications into a set of manageable services that are much faster to develop and much easier to understand and maintain, but there are challenges associated with this type of application architecture. It is important to recognize the challenges and to understand how best to manage those challenges.