One day a canary drank an elixir and made friends with a little caterpillar, this is the story of how the canary protected the little caterpillar from all dangers until the caterpillar was ready to become a butterfly. In this talk I tell the story of how we migrated our first Microservice out of a large monolithic C# application into an elixir Microservice. I’ll tell the story in the style of the very hungry caterpillar (https://en.wikipedia.org/wiki/The_Very_Hungry_Caterpillar) with the caterpillar eating various things along the way.
Using behaviour driven development, canary releasing, circuit breakers, soak testing, graphite monitoring and visualisation we managed to migrate users to our new Microservices with almost zero downtime. I’ll go over how we debugged some of the difficult technical problems and also how we identified some bottlenecks to our productivity and actively fixed them. We made some mistakes along the way and constantly refined our processes and approaches to give the best outcome for the business.