Welcome to another VSHN.timer! Every Monday, 5 links related to Kubernetes, OpenShift, CI / CD, and DevOps; all stuff coming out of our own chat system and making us think, laugh, or simply work better.
This week we will talk about Quality, the Saint Graal of software characteristics, particularly critical in these days of 12 factor apps.
1. One of the core tenets of DevOps is Continuous Integration and Continuous Deployment, usually referred to as “CI/CD” and usually implemented as “pipelines” where code is built and put in production in a series of automated procedures. Are then “Continuous Verification pipelines” the next step? At this moment in time, hopefully, most CI/CD pipelines should be at least executing a set of automated tests (unit tests, functional tests, etc) before the code is sent to production. Yes, hopefully. Let us see if the concept of Continuous Verification stands the test of time.
Everybody has a testing environment. Some people are lucky enough enough to have a totally separate environment to run production in.
— Michael Stahnke (@stahnma) August 21, 2015
2. Some breaking and good news from the Cloud Native Computing Foundation: the Flux operator officially joined the CNCF! Flux allows developers to keep the state of their clusters using state stored in Git repositories; the synchronization is automatic and does not require another step. Having the support of the CNCF will most certainly bring this project to prominence and maybe to become the next gold standard.
3. No matter how careful teams are, things go horribly wrong sometimes. It is the case for Monzo recently, a startup in the financial services sector. Their post-mortem article is an example in detail and accuracy, worth a read in spite of its length. Apparently the problems began during an update of their Cassandra systems, and it all went downhill from there. Building robust systems is complex enough given the myriad of movable parts in place. And more often than not, our perception of complex system is simply guided by myths. Can we break the cycle? Can teams find an equilibrium and manage all of those moving parts?
4. Continuous integration can be much more complicated than it seems at first sight… particularly in big enterprises. This fascinating interview of Janye Groll, CEO of the DevOps Institute, and Wayne Ariola, chief marketing officer for Tricentis by Cynthia Dunlop of The New Stack, raises lots of interesting points. How can you reach “continuous delivery” when organizations have tight risk management measures in place? What about their current contracts with vendors and providers? What about regulations that must be met every time a new version of their system goes live? For many companies, one just cannot deploy a new version on each new commit.
5. And the tool of the week is Locust, an open source loading tool to simulate huge loads to your systems (and whose name reminded us of a classic progressive rock song, by the way). Instead of using configuration files, Locust uses plain Python code to simulate interactions on an application, and then simulates millions of simultaneous users on our clusters. Let’s evaluate the scalability of our systems (or lack thereof) in real time!
Would you like to share other quality and testing links or tools with us? Is your organization embracing CI/CD, GitOps, testing (hopefully!) or Flux? Let us know in the comments below, and see you next week for another edition of VSHN.timer.