Cloud Native Computing Foundation (CNCF):
It is a non-profit organization that is dedicated to advancing the state of the art in cloud native computing. The CNCF community is focused on building and maintaining open-source technologies and platforms that help organizations build and run cloud-native applications.
Cloud-native computing is a new approach to building and running applications that are designed to take advantage of the benefits of the cloud. Cloud-native applications are built using containers, microservices, and other cloud-native technologies, which allows them to be easily deployed, scaled, and managed. The CNCF community is focused on developing and promoting these technologies, as well as providing guidance and best practices for using them in production.
How does CNCF contribute to the industry?
The CNCF contributes to the industry by fostering the growth and development of open-source technologies and platforms that help organizations build and run cloud-native applications. Here are a few ways that the CNCF contributes to the industry:
Developing and promoting open-source technologies: The CNCF community is focused on developing and promoting open-source technologies, such as Kubernetes, Envoy, and Prometheus, which are designed to help organizations build and run cloud-native applications. This helps to ensure that these technologies are widely adopted and used in the industry.
Providing guidance and best practices: The CNCF community provides guidance and best practices for using cloud-native technologies in production. This helps organizations to adopt and benefit from these technologies, which in turn helps to drive the growth and development of the cloud native ecosystem.
Hosting events and meetups: The CNCF hosts many events and meetups throughout the year, such as KubeCon + CloudNativeCon, which provide an opportunity for members of the community to come together and share their experiences, learn from one another, and network. This helps to foster collaboration and innovation within the industry.
Certification program: The CNCF also maintains a certification program that helps organizations identify and adopt cloud-native technologies and practices. The certification program includes the Kubernetes Certified Administrator (CKA) and Kubernetes Certified Developer (CKD) exams, which test the knowledge and skills of individuals working with Kubernetes.
Supporting and promoting open-source projects: The CNCF community is always looking for new and innovative technologies that can help organizations to build and run cloud-native applications, and it is committed to supporting and promoting open-source projects that align with its mission and goals.
One of the key goals of the CNCF is to promote the use of cloud-native technologies, such as containers, service meshes, and Kubernetes. Containers are a lightweight, portable, and self-sufficient way of packaging software, which allows them to be easily moved between different environments.
This makes them a perfect fit for cloud environments, where applications need to be able to scale quickly and easily. Service meshes are a way to manage and control the traffic between microservices, which is becoming increasingly important as applications become more complex and distributed.
In CNCF there are three types of projects
Graduated Projects - In this category we have matured projects which are ready for production use cases. These projects have gone through a lot of security scans and checks. Examples - K8s, Prometheus, Linkerd, Argo, Helm etc.
Incubating Projects - These are projects which are still growing and getting production ready. Examples - Istio, Cri-o, Notary, KubeEdge etc.
Sandbox Projects - The CNCF Sandbox is an entry point for projects into the CNCF ecosystem. Examples - Clusterpedia, CDK8s, KubeArmor etc.
You can check out the landscape here.
Here are some of the notable projects under the CNCF:
Kubernetes: Kubernetes is a leading open-source container orchestration system. It is used to manage and scale containerized applications and has become the de facto standard for running cloud-native applications.
Prometheus: Prometheus is a monitoring and alerting system for cloud-native applications. It is designed to be highly scalable and flexible, and it is widely used for monitoring and troubleshooting cloud-native applications.
Envoy: Envoy is a service mesh that is used to manage and control the traffic between microservices. It provides features such as traffic management, service discovery, and security.
Fluentd: Fluentd is a logging system for cloud-native applications. It is designed to be highly scalable and flexible, and it is widely used for collecting, parsing, and forwarding log data.
Helm: Helm is a package manager for Kubernetes that makes it easy to install, upgrade, and manage Kubernetes applications.
OpenTracing: OpenTracing is an open-source project that provides a standard for distributed tracing, which helps organizations to understand the performance of their cloud-native applications.
gRPC: gRPC is an open-source project that provides a high-performance, low-latency framework for building distributed systems.
CoreDNS: CoreDNS is a DNS server that is designed to be flexible and extensible. It can be used for service discovery, load balancing, and other DNS-related tasks.
etcd: etcd is an open-source project that provides a reliable and distributed key-value store. It is used to store configuration data and metadata for cloud-native applications, and it is designed to be highly available, consistent, and fault-tolerant.
Rook: Rook is an open-source project that provides a cloud-native storage orchestration for Kubernetes. It makes it easy to manage and scale storage resources for cloud-native applications, and it supports a wide range of storage backends, including object, block, and file storage.
These are just some examples of the many open-source projects that CNCF supports and promotes. The CNCF community is always looking for new and innovative technologies that can help organizations to build and run cloud-native applications, and it is committed to supporting and promoting open-source projects that align with its mission and goals.
One of the main advantages of cloud-native computing is that it allows organizations to build and run applications that are more scalable and resilient. Cloud-native applications are designed to be able to run on a large number of machines, which allows them to scale quickly and easily.
They are also designed to be able to automatically recover from failures, which makes them more resilient. This means that cloud-native applications can handle more traffic and are less likely to go down.
Another advantage of cloud-native computing is that it allows organizations to build and run applications that are easier to manage. Cloud-native applications are designed to be modular and composable, which makes them easier to understand, test, and deploy.
They are also designed to be able to be deployed and managed using automation, which makes them less reliant on manual processes. This means that cloud-native applications can be deployed and managed more quickly and easily.