How do you upgrade a legacy application without attempting a full rewrite? Our large PHP application at InboxDollars works well and generates revenue. Unfortunately, we're locked into an old version of CakePHP. Rather than rewriting the ancient beast, we created a way to write new feature code using modern PHP while leaving our main application intact. We follow the Strangler Pattern using microservices. In this tutorial we learn: How the Strangler Pattern works Producer/Consumer programming using microservices Criteria for identifying your Strangler Pattern candidates Structuring your code with an eye to future change Our example uses CakePHP and RabbitMQ. It's based on our experience at InboxDollars, but we focus on principles that apply to any language or framework.