The CNCF is a body of the top vendors in the cloud computing industry formed to propagate and promote open standards in the cloud-native ecosystem. Enjoying industry-wide acceptance, the CNCF plays a vital role in defining and shaping the future of cloud computing. With its first and most successful project being Kubernetes, CNCF has continued to build on top of Kubernetes to create an ecosystem around it. Other projects of importance include Prometheus for monitoring, Jaeger for distributed tracing, Help for package management, and Fluentd for log collection and aggregation. Today, CNCF has multiple tiers for its many projects — graduated, incubating, and sandbox projects. In this post, we look at just the sandbox projects and specifically focus on the best of the sandbox projects. This is a good indicator of where the Kubernetes ecosystem is headed in the coming months and years ahead.
1. KubeEdge
Website: kubeedge.io/en
Website traffic: ~33k/mo
Twitter: @KubeEdge
Twitter followers: 612
Stars: 2.6k
Watching: 131
Commits: ~20/week
Releases: Releases page (v1.3.1 as of this writing)
Hourly DevStats: 5 events/hour
Edge computing is no longer a futuristic trend, but a reality for many organizations that want to deliver cutting edge experiences with their existing products and services. The idea of edge computing is to give more processing power to the devices rather than hoard up processing power only in centralized cloud locations. This enables real-time experiences that are driven by data.
The challenge that KubeEdge solves is to manage every edge device as a micro data center. If Kubernetes is the operating system for traditional data centers and cloud platforms, it only follows that K8s should be extended to the edge as well. KubeEdge re-packages Kubernetes into a lightweight purposeful tool that can be run close to edge devices.
KubeEdge enables better management of the network, applications, and metadata involved in edge computing. It can run offline, which is essential for devices at the edge of the network. As an open framework, KubeEdge supports any cloud vendor platform and helps abstract management of cloud operations.
KubeEdge is one of the most popular and broad-ranging of the CNCF sandbox projects and has huge potential for the future.
2. OpenTelemetry
Website: opentelemetry.io
Website traffic: 77k
Twitter: @opentelemetry
Twitter followers: 2,925
Stars: 64
Watching: 15
Commits: ~5/week
Releases: Releases page (v0.9.0 as of this writing)
Hourly DevStats: 41/hour
Gaining visibility into the operation of cloud-native applications is critical to DevOps teams. With multiple cloud locations, a distributed application architecture, and numerous monitoring tools, visibility is a challenge. OpenTelemetry looks to establish an open and consistent standard for monitoring data like metrics, logs, and traces.
For it to be successful, the standard needs to be vendor and tool-agnostic. It should enable working with monitoring data from multiple and varied sources and be able to analyze them with any monitoring tool.
OpenTelemetry replaces older standards such as OpenCensus and OpenTracing. However, it is backward compatible with both these standards. OpenTelemetry can be applied to tools like Prometheus, and Jaeger
3. OpenEBS
Website: openebs.io
Website traffic: 21k
Twitter: @openebs
Twitter followers: 2,366
Stars: 6.2k
Watching: 142
Commits: 5/week
Releases: Releases page ( v1.11.0 as of this writing)
Hourly DevStats: 5/hour
While monitoring gets a lot of attention in the open-source K8s community, storage has been somewhat orphaned. With short container lifespans, storage needs to be configured to stay persistent irrespective of the container it is attached to. This is the challenge that OpenEBS is out to solve.
OpenEBS is a container attached storage solution that is Kubernetes-native and yet isn’t dependent on the kernel, but operates in the userspace. It enables a policies-based approach to storage. This follows the pattern that security and networking tools have had for quite some time now, and is fitting for a complex cloud-native stack.
OpenEBS is vendor-neutral and supports any cloud vendor. This means it prevents vendor lock-in, and even better, with its storage pooling capabilities, helps reduce cloud storage costs.
It brings peace of mind by having defaults for replicas and backups that can be controlled by policies. With multiple replicas that are stored separately from the container itself, OpenEBS can protect storage from incidents when the container or cluster fails. There are numerous data backup solutions for cloud stacks in general. Each cloud vendor has its own backup service. There are purpose-built backup and restore solutions like Nakivo that are very capable of backing up everything from on-prem servers to cloud VMs to Office365 data. OpenEBS, on the other hand, represents unified backup exclusively for Kubernetes.
4. Flux
Website: fluxcd.io
Website traffic: 45k
Twitter: No Twitter account
Stars: 5k
Watching: 116
Commits: 20/week
Releases: Releases page (v1.19.0 as of this writing)
Hourly DevStats: 5/hour
GitOps is seen by some as an evolution of DevOps. It looks to make the software delivery pipeline even more developer-centric. GitOps enables infrastructure as code, something that started a decade ago with Chef and Puppet, but has reached maturity in today’s cloud-native world with a tool like Flux.
Flux looks to manage infrastructure in a declarative way. It places an operator in a K8s cluster that manages deployments. This operator consistently matches the production environment with a Git repository. It consistently pulls changes from the repository and applies them to the production cluster.
From a developer’s standpoint, there is more certainty about whether or not a piece of code will execute in production. Declarative environments put more control in the hands of developers and enable greater confidence with releases.
I wrote about GitOps and Flux some time ago before it came under the purview of the CNCF. Created by Weave, the company that coined the term “GitOps” Flux is set to be at the forefront of a revolution in software delivery. Another tool to keep an eye on is JenkinsX, which also implements GitOps principles.
5. Thanos
Website: thanos.io
Website traffic:12.9k
Twitter: @ThanosMetrics
Twitter followers: 1,610
Stars: 5.9k
Watching: 173
Commits: 10/week
Releases: Releases page (v0.13.0 as of this writing)
Hourly DevStats: 3/hour
Prometheus was the second project to graduate from the CNCF. It is the most widely used monitoring tool for Kubernetes. Prometheus is designed to run on a single server node. This is fine if your setup is simple, but in a multicloud world, organizations typically run multiple instances of Prometheus. There is a need to gain visibility that spans all Prometheus instances. Thanos is the answer to this need and acts as a single plane of glass for multiple Prometheus instances.
Thanos provides a ‘global query view’ that spans multiple Prometheus instances and, in doing so, provides a wider view than standalone Prometheus. It works by placing a sidecar inside of every Prometheus instance which collects and transfers metrics from Prometheus to Thanos. Thanos also integrates with all major cloud vendors to store this data persistently, although that is optional. In doing so, Thanos greatly extends Prometheus’ capabilities, making it more vendor-neutral and more cloud-native in design.
Thanos handles high availability of Prometheus data and ensures backups are stored efficiently, thus, saving on cloud storage costs. Of all the projects mentioned here, Thanos is the most early-stage at v0.13 as of this writing. It’ll be interesting to see if Thanos or its features get merged with Prometheus, or if Thanos will further develop into a monitoring middleware abstraction in its own right.
CNCF sandbox projects: Pointing to the future
The CNCF is a beacon of light pointing to the future of cloud-native computing that is open. Despite the complexity of cloud-native applications and its accompanying tooling, the CNCF is a unifying force that glues all these diverse efforts together in harmony. As organizations look to embrace the bold new world of cloud-native computing, these CNCF sandbox projects are worth keeping an eye on and integrating to form a modern Kubernetes toolchain.
Featured image: Pixabay