As already discussed in the previous blog there are different people that are responsible for running a Kubernetes platform. This blog post it to illustrate who what different roles are involved in managing Kubernetes.
All of these roles have a different perspective on how they look at Kubernetes and the view they have of the Kubernetes stack. This of course also results in the fact that different personas within the roles of IT have different needs when it comes to tooling.
Hopefully this blog clarifies the different roles and different needs. It often happens in discussions about Kubernetes that you see different people talking about the same thing (Kubernetes), but have a different perspective because of the fact that they have a different roles and with that different needs. Typically resulting in endless discussion, but with no understanding what the other person actually means.
What helps is to take a step back and investigate which perspective you take, helps is coming to a common understanding what is needed within your environment when it comes to Kubernetes.
Firs of all lets have a look at a logical representation of a Kubernetes stack together with the roles and their perspective on the stack.
As you can see there are various roles presented in the picture. These are people we typically come across in the enterprise environments. All of which have a different role, different perspective and with that different objectives when it comes to Kubernetes.
These are common roles are:
- Application Developer
- Lines of Business (end user / consumer)
- Platform Engineer / DevOps
- Cloud Administrator
- Financial Administrator / FinOps
- Security Officer / SecOps
It does not have to be that all these roles exist in your IT exactly as they are defined above. They could have different names and multiple roles can be held by one person. It just illustrates the variety of disciplines to run a Kubernetes stack.
Managing the Infrastructure / Cloud Platform
Cloud is the platform of choice nowadays. Either public cloud or private cloud. Administrators running or managing the cloud platform are responsible for the availability of the Kubernetes stack and the workload deployments.
Monitoring tooling should be able to give full insight what is happening with Kubernetes, the infrastructure it runs on and the correlation between all the different components.
Kubernetes adds a certain amount of complexity to the application stack. The monitoring tooling must be able to simplify this complexity and provide an end-to-end view from the infrastructure to the Kubernetes workloads.
All of this should provide insight in the performance and availability. In case of a problem the cloud administrator should be notified. After such a notification there needs to be a quick path to resolve the issue and that is exactly what the cloud administrator needs to do from an infrastructure perspective.
Next to the ability to monitor the environment it should also be an integrated part of the deployment. Cloud is nothing more than delivering services. Therefor the automation provision engine needs to be capable of integrating with Kubernetes and delivering Kubernetes as a component to the self service capabilities of the cloud platform.
These are the aspects that matter to the cloud administrator when it comes to managing Kubernetes.
Observability for Kubernetes-based Applications
For the developers and lines of business it should not really matter if it is Kubernetes running under the platform or not. But if Kubernetes is an integrated part of the application stack then their needs to be the ability to observe what is going on with Kubernetes.
It needs to be an integrated part of the observability system that helps gain insight to the developers and lines of business on how the system is performing.
This typically is a per application viewpoint. As developers and lines of business are not interested in the whole applications portfolio, but only in the application that they are supporting.
Holistic view of the entire platform
This brings us to the personas in that need a more holistic view of the entire platform.
Platform engineers are the ones that are responsible for building the stack, including Kubernetes, that developers and lines of business can use to deploy their applications on top of. And also have the ability to monitor and observe those applications. As Kubernetes is a part of that stack the tools should be able to accommodate that need.
Typically the platform engineers would need access to the same tools as the cloud administrators, developers and lines of business. Giving them the ability to manage and observe all applications and monitor the infrastructure.
Next to that we also need people that can take care of the security and the cost of IT. These people need to be able to have visibility of the entire stack from application down towards the cloud infrastructure.
The financial administrators should be able to allocate the costs associated with Kubernetes to the right people within the organisation that consume it as part of their application stack. And the security folks need to be able secure the Kubernetes instance in accordance to company regulations.
But for both applies the same thing. It is not on an individual component basis such as Kubernetes. It needs to be allocated to the entire stack.
Every role within IT has a different perspective to what is important when it comes to Kubernetes. It depends on who you talk to on how they perceive the Kubernetes stack and what is needed to make sure that that everything is working from a holistic IT perspective.