Traditional monolithic architectures are difficult to scale and become too complex to update and maintain as an application's code base grows, which limits introducing new features, languages, frameworks, and technologies, thus stifling innovation and new ideas. By contrast, a microservices architecture comprises many individual application components, each running as its own single-function service, communicating with other services through a well-defined API, greatly enhancing scalability and ease of maintenance. In this workshop, we show you how to run a simple monolithic application in a Docker container, deploy the same application as microservices, and switch traffic to the microservices without downtime.