A Glance at the Cloud Native Computing Foundation and it's Core Projects

This article talks about Cloud Native Computing Foundation(CNCF) and core projects under CNCF.

What is Cloud Native Computing Foundation ?

Let us take a baby step and try to see things in simple terms. In earlier days applications are built and deployed on specific production environment that run on popular OS such as Linux or windows. We used to set these OS specific environment properties as runtime config parameters to the application. As the cloud development became a norm, people started thinking about better ways to decouple runtime environment from the application codebase resulting in evolution of Docker containers. If an application’s functionality is split in to multiple docker containers as microservices, then orchestration of these containers became another nightmare. Later Kubernetes came in to picture to mange multiple docker containers that forms an application and orchestration. These two innovations along with other tools around them made it possible to port applications across various cloud environment without much hassles. Now, let us answer the question — What is Cloud Native Computing Foundation.

In general the term ‘Cloud Native Computing’ platform refers to a container-based environment where you can deploy and run the applications that you developed. The Cloud Native Computing Foundation was founded in 2015 with an aim to provide a home for the cloud native, open source projects such as Kubernetes, Prometheus, Envoy etc. The idea behind this initiative is to push software industry to utilize modern cloud technologies in a uniform way and there by avoiding duplicate efforts.

Core Projects in Cloud Native Computing Foundation

Here is the quick summary of core projects that you may find useful while building cloud native applications:


  • Kubernetes : Kubernetes is open-source project for automating deployment, scaling, and management of containerized applications.
  • Prometheus: Prometheus is monitoring and alerting toolkit
  • Envoy: It acts a Layer 7(application protocol) proxy, designed for large modern service oriented architectures
  • CoreDNS: The CoreDNS is a DNS server.
  • Containerd: It is industry-standard container runtime.
  • Fluentd: Fluentd is a data collector project for unified logging layer.
  • Jaeger: The Jaeger is an open source, end-to-end distributed tracing.
  • Vitess: It is database clustering system for horizontal scaling of MySQL
  • TUF: This project is for securing software update systems

The above list contains only the graduated projects in CNCF. Although we may not use many of them directly in our daily life, it is worth knowing them at high level. You may also find many projects in the incubation status in CACF. To learn more, please refer to the following page: https://www.cncf.io/projects/

Conclusion

This article is just meant for setting up the context for out future discussion. We will discuss each of these projects in detail with real life examples in future posts, stay tuned :)

Comments

Disclaimer

The views expressed on this blog are my own and do not necessarily reflect the views of my employer.