The Prometheus container monitoring project hit graduation status at the Cloud Native Computing Foundation (CNCF), joining Kubernetes as the first two projects to stand on that stage. The pairing is appropriate as the two projects were the first to join CNCF.
Chris Aniszczyk, COO at CNCF, explained that graduation status means that a project has hit a level of maturity and stability that provides confidence to vendors that want to integrate the project into their commercial platforms. This would be similar to how the integration of Kubernetes into as-a-service platforms has accelerated since it hit graduation status.
Kubernetes was the first to climb the CNCF graduation stage, grabbing its diploma earlier this year.
Gaining graduation status requires a project to meet CNCF’s list of criteria. This includes demonstration of “thriving” adoption; a documented, structured governance process; and a strong commitment to its community. Incubated projects, which is one step below graduation, must also adopt the CNCF code of conduct, define their own governance structure, and establish a steering committee.
“We view graduated as a high bar for our projects that reflect the state of the project,” Aniszczyk said. “Our whole goal is to lift up these projects.”
Importance of Monitoring
Prometheus is designed to monitor services, including containers. It collects metrics from configured services at specific intervals, evaluates that data to established rules, produces results, and triggers an alarm if a specified rule is part of those results.
Specific to containers, Prometheus monitors their status, the requests flowing through them, and the internals of the applications running inside. The platform uses a query language to help aggregate those metrics into insight that can be used by developers.
Container monitoring is becoming more important as an increasing number of organizations are using containers to maximize their cloud investments. However, being able to monitor what is happening across thousands of often short-lived applications can be challenging.
“Monitoring along with tracing is now table stakes for cloud native,” Aniszczyk said. “When you stitch these together you need to have a modern and mature monitoring system to know what is going on and provide alerts for when things fail.”
In addition to Prometheus, other container monitoring platforms include Datadog, ELK, and Sysdig.
Similar to Kubernetes, which sprung initially from Google’s work with its Borg platform, Prometheus evolved from the minds of Google engineers that were working on its Borgmon platform. One of those engineers, Matt Proud, eventually ended up at SoundCloud where in 2012 he teamed up with Julius Volz to begin the Prometheus project. Prometheus was eventually adopted by CNCF in May 2016, and has since seen 30 official releases.
The rise in use of Prometheus is mostly tied to the increased use of containers, and more specifically Kubernetes as the de facto orchestrator for container deployments. Prometheus ties into a Kubernetes deployment to support service discovery and monitoring of dynamically scheduled services.
While tightly tied to Kubernetes, Prometheus can also be run outside of that field. For instance, Uber, which uses Mesos for its container orchestration instead of Kubernetes, produced M3 as a large-scale metrics platform for Prometheus.
The next step for Prometheus is the pending spin out of OpenMetrics, which is taking the Prometheus exposition format and working to evolve it as a de facto industry specification. That move is set to happen later this week.
With Kubernetes and now Prometheus moving up the project flow chart, Aniszczyk said that the next two projects most likely to hit graduation status at CNCF could be Envoy and Fluentd.
Envoy, which is a service management platform, was adopted into CNCF last September, having initially been developed by Lyft. Envoy is also foundational to the Istio service mesh platform. Fluentd is a logging platform that was adopted into CNCF in late 2016.
With a handful of projects having either graduated or on the cusp, CNCF has also been busy replenishing its project cache. This includes Helm, which is a package manager that was developed to support software built on Kubernetes; Rook and Vitess, which are cloud-based storage systems; and Harbor, which is a cloud native registry.