“..it is often the mistakes of others that benefit the rest of us.” Nassim Taleb, Antifragile.
Mistakes are easier to point out in hindsight but very difficult to discern when you are making them. But mistakes, if learned from systematically, can benefit entire industries from never repeating them. A great example is the aviation industry which meticulously documents every near-miss and propagates these learnings to future flights as pre/post/in-flight checklists. This discipline ensures that every mistake makes all future flights safer. Shouldn’t something like this exist for software systems as well? Wouldn’t it be great to have the wisdom from all the mistakes of other developers at your fingertips, all the time?
Curating and programmatically delivering the wisdom of the software industry appeared impossible just a few years back. But technology has evolved to the point where we can now dream to live in that world where we can build tools with the sole purpose of collectively learning from and avoiding each others’ mistakes. Imagine a world where you just got notified about a traffic glitch that you are at risk of hitting, with information on how many other teams have already hit it, and what is the safest way to remediate it, before it becomes an incident/firefight for your team. Isn’t that powerful!
That’s the promise of the Collective Learning technology that we are building at Chkk. Chkk’s Collective Learning technology ensures that SRE / DevOps engineers reduce risk, avoid incidents, streamline upgrades, automate maintenance, and prioritize work using the wisdom of their peers, programmatically delivered to them. We are starting with DevOps/SREs and our focus is K8s where Collective Learning is direly needed. There are 1800+ CNCF components. Throw at least 4 cloud providers in this mix. Add a conservative estimate of millions of software deployments every week. Then factor in infrastructure changes induced by load conditions (e.g. autoscaling) There are too many ways things can break and it’s impossible to capture all of these conditions proactively. Instead of trying to cover this large state space of potential issues, Collective Learning discovers and codifies known incidents and failures that the K8s community (comprising users/operators, cloud providers, and vendors) has already experienced, ensuring nobody repeats a mistake that has been made before. Large enterprises extend Collective Learning to share custom/proprietary lessons within their organization so internal teams don’t repeat each others’ mistakes.
We believe Collective Learning is the missing piece in the K8s operations puzzle and we are so excited to be building it with you. Our follow-up blogs will share more insights into how we are building and evolving Collective Learning and what role you can play in this movement.