Intel has published the source code for Snap, a cloud performance monitoring tool that could help public and private cloud operators know what their infrastructure is doing at any given point.

The company describes Snap as a ‘telemetry framework’ that can be used to collect, process and publish performance data, and then make choices based on this data.

“Snap-enabled software tools will give system integrators, operators, solutions providers, and the data center analytics ecosystem a much more comprehensive view of infrastructure capabilities, utilization, and events in real time—making full automation and orchestration of workloads across server, storage, and network resources a reality,” said Jonathan Donaldson, VP and GM of Software Defined Infrastructure at Intel.

No more secrets

Cloud performance
– Thinkstock / Blablo101

Capacity and utilization are the currency of data centers, but in the cloud, the hardware metrics are hidden behind several layers of abstraction. Snap was created to open up access to consistent sets of metrics and simplify management and processing of this information.

Detailed knowledge of infrastructure performance can improve data center scheduling and workload management, and with Snap the information can be acted upon automatically.

The framework relies on software plugins to collect, process and publish performance data. These plugins can be contributed by community or created by hardware or software vendors.

“The point of Snap is to get something out of a system and sink that data somewhere it is needed,” explained Nicholas Weaver, principal architect at Intel.

“You can use collector plugins to grab specific sets of telemetry, forward it through a processor that *learns* what normal is and filters out noise which then in turn publishes the filtered data into RabbitMQ for pickup by another system. And at the same time you can forward the same collector telemetry directly to InfluxDB to populate an operational dashboard.”

In Snap, entire collections of cloud resources can be managed in node groups, known as ‘tribes’. Every tribe possesses a degree of autonomy and can be addressed as a single node. New plugins are automatically distributed among the tribe, so the operational cost of loading a plugin is the same, no matter how many Snap nodes are involved.

The framework is currently only available for Linux-derived operating systems, but Intel plans to eventually add Windows support.

Snap was released under Intel’s ‘Cloud for All’ initiative, first announced in July, which aims to simplify deployment of cloud technologies through investment and collaborations.

The source code is available on GitHub.