Most people see Microservices Architecture as the silver bullet for developing robust, scalable and performant distributed applications and systems. Pretty much every company or team with established codebase either considers or already pursues that vision with a process usually described as "breaking up the monolith". It's usually a long process and the end goal can easily hide the fact that it's not always all unicorns and rainbows. Moving from a monolithic to service-oriented architecture poses a set of challenges, which if not considered and addressed upfront can cause the entire project to fail. In this talk I'll talk about these pitfalls and how to avoid them based on my experience in building a microservices platform for Microsoft Office Online.