Is your organization wanting to move toward microservices? Have you been part of a microservice redesign project or part of a new project that decided to use microservices and things did not go as well as planned? Today, we will discuss common pitfalls or anti-patterns of microservice-oriented projects and how to best approach both existing monolithic applications and new applications that have an eye toward microservices. Real-world examples will be used to illustrate both good and bad patterns to designing these types of systems. We will draw on knowledge from Domain Driven Design, integration patterns, and SOLID design principles to establish guidelines for building clean architectures that have well-defined interfaces and well-behaved interactions with other distributed components.