Profiling is for Dev, monitoring is for Ops – no more! | DevOpsCon 2017
Missing out on DevOpsCon? Why not take a look at a session from the last DevOpsCon from Björn Rabenstein? In this talk, Björn goes over why monitoring isn’t just an operational concern.
Traditionally, application monitoring is a purely operational concern. However, it is hard to monitor complex systems without using some kind of whitebox approach, exemplified by the Prometheus monitoring system. Whitebox monitoring requires code instrumentation, and all of a sudden monitoring matters from very early on in the development process. This both encourages and benefits from a DevOps approach – and has additional side effects that can even be helpful for development itself.
In turn, profiling code is often thought as something only developers do. Profiling code in production has the obvious benefit of observing a real-life scenario rather than artificial test runs. The ability to profile any production binary at any time is immensely helpful while investigating production issues. Similar to ubiquitous whitebox monitoring and distributed tracing, this ability has been available to Google engineers for quite some time. Thus, it is not surprising that profiling is exceptionally easy with the Go programming language initiated by Google. For full self-reference, the talk will demonstrate how the Prometheus server, which is written in Go, was developed, debugged, and optimized using Prometheus-style whitebox monitoring and the “always on” Go profiling abilities.
If you’re interested in learning more about Prometheus, we talked to Björn Rabenstein last year about how Prometheus can help companies can adopt DevOps. A lot of companies and organizations have adopted Prometheus and the project quickly gained an active developer and user community. It is currently a standalone open source project maintained independently of any company. In 2016, Prometheus joined the Cloud Native Computing Foundation as the second hosted project after Kubernetes.
Björn Rabenstein is a Production Engineer at SoundCloud and one of the Prometheus core developers. Previously, he was a Site Reliability Engineer at Google and a number cruncher for science.