The technologies chosen by enterprise IT departments today will have a long-term impact on their performance, operations and overall strategy. Sometimes it can take well over a decade to realize the full implications of a technology solution.
This can put a great deal of weight on the shoulders of IT management, especially when it comes to emergent technologies whose utility, importance and trajectory may not yet be fully known. Placing a bad bet on new software can lead to difficult integrations and disruptions across an organisation’s entire tech stack, which in the long-term can lead to lost productivity, wasted budgets, and the likelihood of losing ground to competitors.
Kubernetes, the open source container orchestration platform, was until recently regarded in the same way, with IT departments struggling to fully appraise its long-term value. However, with Kubernetes now running 86 per cent of container clusters, it has emerged as the de facto standard for cloud-native infrastructure. This means that the main concern for IT departments is not whether Kubernetes has a future, but how to ensure that their implementation of Kubernetes has a future which doesn’t present a bottleneck to integrations, industry practices and use cases.
That’s where open standards – codifying how people are implementing Kubernetes and best practices – are integral to the integration. Following these standards can help to prevent teams from running into unexpected implementation roadblocks, and helps to ensure the easiest possible learning curve for new members of their DevOps teams. By drawing upon open standards – those decided upon by the open source Kubernetes community as a whole, rather than a specific vendor – organisations can best ensure that their Kubernetes deployments are as efficient and well-integrated as possible.
To that end, there are several things organisations should understand with regards to open standards and Kubernetes implementation: consider the nature and limits of existing standards; how standards can fragment within an organisation; and the importance of working with open source communities in developing and maintaining these standards.
Understanding existing standards
Two organisations are responsible for setting the main open standards governing the use of Kubernetes and containers, which are acknowledged by most vendors and developers. The first is the Open Container Initiative, which has developed runtime and image specifications for containers, regulating how containers themselves are to be packaged and launched. Making sure that your containers conform to the OCI is a good first step for running any container cluster.
The second is the Cloud Native Computing Foundation, an organisation that fosters communities for cloud computing services, and is also responsible for running the Certified Kubernetes Conformance Program, which tests products from vendors to ensure that they meet the standards for a Kubernetes distribution.
To build and run applications in modern environments you would need to augment the Kubernetes capabilities by adding components like microservices, service meshes and APIs. Making sure that products in your stack conform with the CNCF guidelines is the best way to ensure that everything in your Kubernetes deployment works as it should, and that it’s comprehensible by the community as a whole.
Avoid the fragmentation of standards
Making sure that your Kubernetes deployment conforms with open standards requires your team to have a common understanding of your own deployment. One of the most common errors organisations make – and one that undermines the shared knowledge of industry standards and their deployment – is deploying multiple Kubernetes stacks which are not consistent with the same standards.
There are several reasons why deploying incompatible Kubernetes stacks can contribute to the erosion of organisational standards. First, this arrangement can lead to expertise being dispersed or siloed between teams working on different stacks, which means that deviations from standards that are fixed in one stack may not be corrected within another.
Another major reason is that once there is dissimilarity among the Kubernetes stacks within an organisation, it can be hard for any one individual to track each of their developments to ensure that common standards are being implemented and upheld. Even a dedicated team that tries to track and ensure all stacks are being run by the same standards can miss small but important details, which can ultimately lead to one or more stacks diverting from organisational standards.
Kubernetes is an open source project, and the standards set by the OCI and CNCF are derived from discussions across the open source community. This means that understanding what’s being talked about within the community and the concerns developers are addressing is key to grasping how the standards for Kubernetes and its ecosystem are set to develop, both formally and informally.
Along with the codified standards, the open source community creates the opportunity to learn from many others about what successful implementation looks like. Your teams can follow best practices that developers at other organisations have adopted, which may allow for smoother integrations with other pieces of software produced by the community. It also enables a smoother learning curve for developers or operations teams while researching , owing to a broader set of common practices.
Lastly, by participating in open source communities your organisation can help to shape the development of standards for Kubernetes. Sharing your team’s experience and insights with the wider community,can contribute towards improvements in the standards.
Choosing to adopt open standards for Kubernetes is relatively straightforward. However, maintaining these standards requires ongoing vigilance and conscientiousness. To adhere to open standards, teams need to stay alert to the developing nature of their tech stack while also following relevant conversations among the open source community. It’s an investment that can ensure your Kubernetes deployment is well integrated and compatible with new developments in the industry.
- Erica Langhi is a Senior Solution Architect (EMEA) at Red Hat.