With KubeCon just around the corner, we thought this would be a good opportunity to look beyond the microservices hype and take a pragmatic look at releasing reliable code in your kubernetes-based applications.
You’re probably already familiar with the challenges of troubleshooting monolithic applications. But in a containerized world things can get much more complicated – increasing the importance of having a more structured approach for ensuring code quality and reliability. Whether you’re gradually breaking down a monolithic application to microservices or building a new system from scratch, there’s no hiding behind the fact that you now have a lot more services to take care of and worry about.
With that said, many of the basic principles for ensuring code quality are the same. Assuming you’ve already been working with distributed systems, the one thing that’s fundamentally different now is that there are a whole lot more services with an increasing number of dependencies to be accountable for. In addition, one of the main reasons for making the switch to microservices is to increase the speed in which engineering teams release new code which can increase change failure rates fairly quickly.
In this post, we cover the 3 phases of releasing reliable applications with an emphasis on code quality throughout the software delivery pipeline – from testing, through staging, and all the way into production. Touching on topics like dynamic and static code analysis, different flavors of testing, and gradual deployments with canary release. All while avoiding information overload and making the data about the behavior of your application easily accessible to developers
Continue reading and dive deeper into Pragmatic Kubernetes-Based Application Releases on TFiR: The Fourth Industrial Revolution.
The 3 Phases of Pragmatic Kubernetes-Based Application Releases is a contributed blog post that was originally published in TFiR Expert Voices on 11/2/2020.