One of the biggest challenges in designing an application based on a microservices architecture is in defining the boundaries. We can leverage techniques from Domain-Driven Design (DDD) for help defining boundaries. We have also learned that the best path to a microservices architecture can actually start with something a bit more monolithic in nature today. As the experiences and technologies in the industry mature, this can change. Regardless of how we start, we know that a deep understanding of the business domain is necessary. As with any architectural approach, microservices architecture is loaded with trade-offs big and small. Now that we have an application and design, let’s move along to building, deploying, and managing it.