The Cloud Native Computing Foundation (CNCF) is an open source software foundation that promotes the adoption of cloud-native computing. The CNCF, a subsidiary of the Linux Foundation created in 2015, aims to establish a vendor-agnostic community of developers, end users and IT technology and service providers to collaborate on open source projects.
The CNCF defines cloud-native computing as the use of open source software, as well as technologies such as containers, microservices and service mesh, to develop and deploy scalable applications on cloud computing platforms.
The technologies that the CNCF researches and creates are called projects, many of which are hosted on GitHub. CNCF projects progress through three stages of maturity: a sandbox stage, which is the initial entry point for projects; the incubating stage, in which a project must meet all sandbox requirements, as well as additional criteria, such as documentation of at least three end users successfully deploying the project in production; and the graduation phase, in which a project must meet all requirements from the incubating stage, plus additional criteria, such as the completion of an independent security audit.
The CNCF hosts projects that span the cloud-native software stack. CNCF projects include Kubernetes, a container orchestration platform; Prometheus, a systems monitoring and alerting tool; and Envoy, a service proxy for service-oriented architectures and cloud-native apps.
The CNCF maintains the available technologies' brands and ensures that community members appropriately use them. The foundation also stresses a uniform user experience (UX) and software compatibility.
The CNCF created a centralized continuous integration (CI) dashboard to ease the testing and management of multiple projects across cloud and bare metal platforms.
CNCF Cloud Native Interactive Landscape
The CNCF Cloud Native Interactive Landscape is a resource map that filters and categorizes hundreds of cloud-native projects and tools. It organizes technologies into groups, based on functionality, such as scheduling and orchestration, databases and container registries. CNCF, in collaboration with Redpoint Ventures and Amplify Partners, created this interactive map to help enterprises navigate the vast technology ecosystem around cloud-native application deployments.
The CNCF also created a Cloud Native Trail Map, composed of 10 steps and tool recommendations to guide companies adopting a cloud-native approach. These steps include:
- Containerization. The CNCF recommends that an enterprise begins its journey by packaging an application and its dependencies into containers.
- CI/CD. A CI/CD pipeline will automate code rollouts and testing, and streamline the creation of new containers.
- Orchestration and Application Definition. Orchestration enforces a workflow for automated tasks. For containers, Kubernetes is the leading orchestration platform.
- Observability and Analysis. Enterprises must monitor, log and trace an application's progress. For this step, the CNCF recommends projects such as Prometheus.
- Service Proxy, Discovery and Mesh. Service discovery minimizes configuration efforts for administrators. The CNCF recommends CoreDNS to provide these service discovery capabilities, and also suggests Linkerd and Envoy, which enable service mesh architectures.
- Networking and Policy. For more flexible networking, the CNCF recommends a network project, such as Calico or Weave Net, that is compliant with the Container Networking Interface, another CNCF project aimed at configuring network interfaces in Linux containers.
- Distributed Database and Storage. At this step, the CNCF recommends enterprises run databases at a greater scale to support cloud-native apps. Vitess, a clustering system for MySQL databases, is a suggested project.
- Streaming and Messaging. For enterprises that need high-performance streaming and messaging, the CNCF recommends the universal Remote Procedure Call (RPC) framework gRPC, or the multi-model messaging system NATS.
- Container Registry and Runtime. To store, sign and scan content, the Cloud Native Trail Map recommends Harbor, containerd or rkt.
- Software Distribution. For enterprises that need a secure software distribution, the CNCF suggests that companies look at Notary, a platform that provides high levels of trust over digital content.
Enterprises can choose the tools specifically listed on the map, or use the interactive landscape to see other options for each of the steps outlined above.
As of June 2019, the CNCF has over 400 members who contribute to projects. CNCF members include public cloud providers, such as Amazon Web Services, Google and Microsoft; enterprise software companies, such as SAP and Oracle; and technology startups.
Memberships are broken into five tiers: platinum, gold, silver, end user and academic/non-profit. The Linux Foundation reviews all applications and then classifies an applicant as an end-user, academic/non-profit or vendor.
CNCF training and events
To promote cloud-native computing education and advancement, the CNCF hosts conferences and events, such as KubeCon and CloudNativeCon. The CNCF also offers Kubernetes certifications, such as Certified Kubernetes Administrator (CKA), Certified Kubernetes Application Developer (CKAD) and Kubernetes Certified Service Provider (KCSP), as well as training courses to prepare for the certification exams.