Lessons from the community: Kubernetes and StackOverflow
At Bitnami, we work to provide our users with the best experience when deploying applications in virtually every major platform you can think of, which means that we need to provide great support for all of these platforms as well. We have learned that the most effective way to improve the user experience is to go out, get feedback and, more importantly, listen to what our customer base has to say. In the Kubernetes landscape, we have taken this approach since the very beginning, which is why you can find Bitnami in GitHub, Slack, Special Interest Groups like Sig/Apps, events like KubeCon, StackOverflow, etc. This input is invaluable for us to constantly improve our Kubernetes solutions, and so continue being one of the top providers of secure, up-to-date, flexible and production-ready containers and Helm charts. You can find our catalog here.
I have run support at Bitnami for 2 years. Since people come to us with all sorts of questions on different technology, I have the unique ability to see the shift of technology usage through the eyes of support questions. In this post I will share my experience with Kubernetes questions in one of the most influential developer communities in the Internet: StackOverflow.
Indeed, Kubernetes is currently one of the major trends in the industry. At first, everyone wanted to play with it and was fascinated with the new paradigm it provided. Today, things are getting way more serious: developers are attending trainings to get certified and companies are using it in production. In this new scenario, several use cases, necessities, and ways of working with the platform are emerging. For Kubernetes to become the go-to platform for production deployments, the Kubernetes community and contributors / stakeholders like Bitnami cannot ignore the input we are getting through support channels such as StackOverflow. In fact, we have already seen successful initiatives such as Helm, Kubeapps, Operator Framework and Kubeprod, being highly influenced (if not directly originated) from the interactions with the community.
Twenty Thousand Leagues Under StackOverflow
As part of our initiative to provide our users with useful tools, With the aim of finding out what can be improved when working with Kubernetes, we decided to dive into one of the default developer communities: StackOverflow. This Q&A site requires no introduction: if you have a computing question or problem, you will eventually end up in a StackOverflow thread. Just taking a look at the activity of the “Kubernetes” tag during the last years, you can see the impact that this container orchestrator has had on the DevOps community.
In the figure above, we can see that the number of Kubernetes questions has doubled every year over the past three years. Indeed, this is yet another data point that shows that the Kubernetes golden era is coming. But the graphic also shows that:
- The number of Kubernetes user-experience issues are growing
- The number of Kubernetes use cases are growing
- The number of issues understanding Kubernetes concepts are growing
And my favorite one:
- The number of opportunities and challenges to improve the platform are growing
A Successful Use Case: The RBAC Drama
One of the essential features that the Kubernetes platform lacked from the beginning was Role-Based Control Access (RBAC) policies. The need could be seen through the many StackOverflow requests. There was no clear guide for RBAC, so many people were banging their heads against the wall as they tried to figure it out. Since Bitnami was monitoring the Kubernetes cases around this, we were able to pinpoint the exact causes of the community’s frustration. We saw that:
- Some platforms like `kubeadm` may have enabled RBAC by default a bit too soon
- Most of the examples online were not fully adapted to RBAC
In addition to this, we could see other recurring questions like:
- What’s the difference between Role and ClusterRole?
- How do I create a user in Kubernetes? Is a user the same as a ServiceAccount?
- Which are the proper verbs to use in each case?
- Which are the best practices for RBAC?
Plus, we saw that Helm, one of the top Kubernetes applications, was not working out of the box when RBAC was enabled.
As we saw the confusion rising within the Kubernetes community, we saw a clear opportunity to empower the Kubernetes user-base witha how-to guide that covers all these unclear topics.
By doing this, we were able to create one of our most popular guides that is still widely shared around the community today. And since the format of the guide proved so accessible, we used the guide as a model for creating other how-to guides that continue to help the community!
By analyzing the forums in StackOverflow, we were able to provide the community with meaningful content that can consistently be re-used.
More @ Kubecon: 2018 in review
As seen above, investigating the issues and questions from StackOverflow helped us to better understand how our userbase works with Kubernetes. However, we believe that there are manymore things that we can do with the feedback in StackOverflow such as:
- Could we improve the Kubernetes API definition?
- Could we improve how certain Kubernetes components work?
- Could we create new tools to make some operations easier, just as Helm did for deployments?
In order to understand what next steps we should take in improving Kubernetes,I will show you the results of StacksOverflow questions throughout 2018. Some things that I will be presenting are:
- Types of questions/issues: what are users struggling with?
- Use cases: what do they want to do with Kubernetes?
- Platforms used: How do users currently work with Kubernetes?
Join my talk “Exploring Our User-Base Challenges: Getting Insight From StackOverflow” on Tuesday, 11th December at 1:45pm (Tahoma 1/2, The Conference Center) to learn more about this data, and how we can use it to empower the Kubernetes community. I look forward to meeting you there!