Member-only story
Kubernetes, Microservices, and Github Actions Deployments
Welcome to the world of microservices, where everything is possible, and you need to deal only with the small codebases instead of the giant monoliths with thousands of dependencies. Sounds about, right?
I am not going to waste your time with a pointless explanation of what the microservices are, why they’re useful and what patterns and anti-patterns you should use during the development. I want to focus on the — really often — neglected part of microservices which is their deployment and the issues related to it.
Everyone starts somewhere. Let’s assume that you start the project fresh with an intention to use microservices to make it stable, redundant and at the same time easy to scale. You have two microservices, so the deal with CI/CD pipeline is relatively easy to achieve using the ancient method of copy-paste and changing a few lines here and there.
Avoding microservices CI/CD drift
Few months into the development, you have thirty different microservices. Some of them have slightly different requirements and build parameters, and you catch yourself struggling with different pipelines management. Sooner than later, you’ll realise that you juggle with already monkey patched deployment code so much that it becomes a project itself.

