Software originally created by SoundCloud to monitor a complex set of dynamically-provisioned software services has graduated from an incubation program sponsored by the Cloud Native Computing Foundation (CNCF).
Prometheus is the second open source software program to graduate from the CNCF, following the Kubernetes open source container orchestration engine, originally developed by Google. The CNCF announced the graduation at the annual Prometheus conference, PromCon, taking place this week in Munich.
Soundcloud engineers created Prometheus in 2012 to monitor what is now understood to be a microservices environment, where small loosely-joined components were containerized and dynamically deployed on an as-needed basis, said Richard Hartmann, SpaceNet project manager and one of the core contributors to Prometheus.
Prometheus works on a pull model, in which it periodically collects metrics from predefined targets, evaluates and displays the results and, if necessary, sends out alerts if predefined conditions are met. By necessity, Prometheus differed from the standard infrastructure monitoring tools, such as Nagios‘ in a number of important ways.
One of the major changes is Prometheus’ use of service discovery. Up until that time, monitoring tools would find what they monitored through IP addresses. In a microservices environment, however, services are always moving around from host to host, so hard-coding in an IP address isn’t scalable. Instead, Prometheus is designed to consult the service discovery agent to keep track of a particular service as it is moved around.
Secondly, Prometheus brought a new multidimensional, label-based data model, one that would make it easier to model what needs to be measured, compared to the standard hierarchical data models. All the data is collected as time-series data in a key-value data store. While designed to run on a single server, the software can collect over a million data points per second.
Soundcloud open sourced Prometheus in 2015 and contributed to CNCF in May 2016. The project has since had 30 official updates since entering CNCF’s incubation program. Prometheus now has nearly 20 active maintainers, more than 4,300 contributors and more than 19,000. Users include ShuttleCloud, Datawire, DigitalOcean, Weaveworks, ShowMax and iAdvize, among others. Over time, the user base has expanded from hardcore operations folks to those organizations testing containers and microservices architectures and finding scalability issues. These days, large enterprises are increasingly looking into Prometheus.
As a result, the Prometheus team is looking to strengthen the software, by compiling templates and best practices, so it does not require a great deal of expertise to enjoy all the benefits.
“At its core, Prometheus is a framework to build monitoring, which is both a strength and weakness. It allows you to do everything, but you have to do a certain amount of legwork,” Hartmann said. “We need to lower the barrier of entry.”
To graduate from the CNCF incubation program, an enterprise can trust the software to be used in a production environment, given that the governing body is stable, and continued maintenance and development of the software can be continued at a sustained pace, Hartmann said. The software also is integrated with other CNCF cloud-native software projects, such as Kubernetes for service discovery.
CNCF is a sponsor of The New Stack
Feature image via Pixabay.