The Cloud Native Computing Foundation (CNCF) is a nonprofit organization that aims to promote and advance the adoption of cloud-native computing practices. Cloud-native computing involves, for example, the use of container technologies and microservices to build and deploy applications in the cloud. Founded in 2015 by the Linux Foundation, CNCF has become a leading force in the cloud native ecosystem. It hosts and sponsors a variety of open-source projects (e.g. Kubernetes, Prometheus, and Envoy) which have become integral components of many modern cloud-native architectures.
One of the main objectives of the CNCF is to create a vendor-neutral environment for the development and promotion of cloud-native technologies, helping organizations build and deploy cloud-native applications more efficiently and effectively. To achieve this goal, the CNCF works closely with a diverse group of companies and organizations, including major cloud providers, software vendors, and developers.
In addition to hosting and supporting open-source projects, the CNCF also offers a range of resources and educational materials for developers and IT professionals. These resources include training courses, certification programs, and conferences (such as the annual KubeCon + CloudNativeCon event), designed to help stay up-to-date with the latest trends and best practices in the cloud native space, and provide opportunities for professionals to learn new skills and advance their careers. To ensure that the CNCF stays up-to-date with the latest trends and best practices in the cloud-native space, the organization has established a number of committees and working groups focused on topics like security, networking, and cloud-native best practices. These committees and working groups provide guidance and direction for the CNCF and the cloud-native community as a whole.
The Cloud Native Landscape
In addition to the educational materials, like training courses, certification programs, and conferences, the CNCF also maintains another valuable resource for developers and IT professionals: the Cloud Native Landscape. The Cloud Native Landscape is a comprehensive guide to the cloud-native ecosystem developed and maintained by the CNCF itself. It is intended to be a resource for developers, IT professionals, and anyone else interested in the cloud-native ecosystem, providing an overview of the various projects, tools, and services that are available for building and deploying cloud-native applications.
The Cloud Native Landscape is organized into several categories, each of which contains a list of relevant projects, tools, and services. Each entry in the Cloud Native Landscape includes a description of the project, tool, or service, along with links to more information and resources. This can help users understand how each technology or tool fits into the larger cloud-native ecosystem and how it can be used to build and deploy cloud-native applications. Some examples of the categories present:
- Infrastructure: This category covers technologies and tools related to cloud-native infrastructures, such as container orchestration platforms (e.g. Kubernetes), container runtime environments (e.g. Containerd), and container registry platforms (e.g. Harbor).
- Observability: This category covers technologies and tools related to monitoring and observability, such as logging platforms (e.g. Fluentd), monitoring systems (e.g. Prometheus), and tracing systems (e.g. Jaeger).
- Security: This category covers technologies and tools related to securing cloud-native applications and environments, such as secrets management platforms (e.g. Vault), identity and access management systems (e.g. Keycloak), and container scanning tools (e.g. Aqua).
- Management: This category covers technologies and tools related to managing and operating cloud-native environments, such as configuration management platforms (e.g. Terraform), deployment tools (e.g. Spinnaker), and service meshes (e.g. Istio).
The CNCF has a maturity model that is used to assess the readiness and sustainability of open-source projects that are hosted by the organization in their Landscape. This model has three main levels of maturity:
- Sandbox: Projects in the sandbox phase are still in development, but have shown potential to become important tools for the cloud-native community. These projects may not yet be ready for graduation, but are considered to be worth watching and supporting.
- Incubating: Projects at this level are new and still being developed. They may not yet have all of the features and capabilities that are needed to be considered production-ready but are stable and a valuable option, with the intent of “graduating” soon.
- Graduated: Projects that have graduated from the incubation phase are considered production-ready and are actively used in cloud-native environments. These projects have demonstrated a high level of stability and a strong community of users and contributors.
The CNCF uses this maturity model to help guide the development and support of open-source projects and to provide users with a framework for evaluating the readiness and sustainability of different tools and technologies.
The role of CNCF in OpenCloudification
The CNCF Landscape has a central role in OpenCloudification as a point of reference for open-source tools, applications and best practices. Nevertheless, with 100+ projects hosted, there may be some challenges or difficulties in using it, depending on goals, needs, and your level of knowledge of the cloud-native ecosystem. What OpenCloudification can do to address these challenges:
- Guide through an overwhelming amount of information. The CNCF Landscape contains a large amount of information about a wide range of tools and technologies, which can be overwhelming for users who are new to cloud-native computing or who are unfamiliar with the landscape. OpenCloudification can provide guidance in navigating the landscape and point in the right direction based on specific needs, knowledge, and ad-hoc use cases.
- Explain the complex relationships between tools and technologies. The CNCF Landscape shows the relationships between different tools and technologies, which can be helpful for understanding how they fit together and how they can be used together. However, these relationships can be complex, and it may be difficult for users to fully understand the implications of using one tool or technology over another. OpenCloudification will unravel these complex relationships, making them easy to understand for all users, no matter their knowledge level.
- Deepen the limited contexts. The CNCF Landscape provides information about tools and technologies, but it does not provide much context about how they are used or why they might be suitable for certain tasks or environments. This can make it difficult for users to determine which tools and technologies are most relevant to their needs and how they should be used. With extra documentation, white papers, events and workshops, OpenCloudification can explore more in-depth tools and technologies, going beyond what is provided by the CNCF Landscape.
- Inform about outdated information. The CNCF Landscape is updated regularly, but it is still possible for the information to be outdated or incomplete. This can be a problem if users rely on the landscape to make decisions about which tools and technologies to use, as they may not have access to the most current information. With a roster of experts and researchers in cloud technologies, OpenCloudification will provide the most up-to-date information for all the tools and components. In addition, state-of-the-art research is combined and applied to the most recent technologies, to provide improvements and incomparable results.
Alternatives to CNCF
There are a number of organizations and initiatives that focus on promoting the adoption of cloud-native computing practices and technologies. While these organizations and initiatives focus on different aspects of cloud-native computing, they all aim to promote the adoption of innovative technologies and practices that enable organizations to build and deploy cloud-native applications more efficiently and effectively. Some examples include:
- The OpenStack Foundation (an OpenInfra project): This is a nonprofit organization that promotes the use of the OpenStack open-source cloud computing platform. OpenStack is designed to provide infrastructure as a service (IaaS) for building and deploying cloud-native applications.
- The Cloud Foundry Foundation: This is a nonprofit organization that promotes the use of the Cloud Foundry open-source platform as a service (PaaS) for building and deploying cloud-native applications. Cloud Foundry is designed to be vendor-neutral and to support a wide range of programming languages and runtime environments.
- The Cloud Native Application Bundle (CNAB): This is an open-source specification for packaging and distributing cloud-native applications. It was developed by Docker, Inc. and Microsoft, and it is designed to work with a variety of container orchestration platforms, including Kubernetes.