Honeycomb sponsored this post.
In this conversation for The New Stack Makers podcast, we spoke with Charity Majors, the co-founder of Honeycomb, the company that has pioneered and led the development of cloud native observability. Majors discusses a number of themes relating to observability and monitoring, as well as how she continues to make herself a better developer. The topics include: Test-driven development and how it has evolved.
Monitoring as a practice — much like test-driven development — was built for on-premises architectures. Observability is the successor to monitoring by allowing for the discovery of the “unknown, unknowns,” which Majors previously wrote is like “following breadcrumbs to find what you don’t even know what is there.” A robust architecture is required for observability.
While observability has been referred to as a “missing link” in DevOps, Majors said, instead, “it’s not such a missing link as it is a necessary first step.”
Observability is similar to wearing reading glasses to allow people “to see a fuzzy outline of the shape,” Majors said. However, “people are like driving down the highway, not being able to see very well, which means that a lot of their engineering energy gets sprayed around in the wrong places, and a lot of problems they caused don’t get caught quickly,” Majors said. “Observability is putting on the glasses of your actual prescription to let you see in very specific detail.”
Instead of trying to just imagine how the code you have written is working “in your head, you can literally just look at it in the tool and follow the trail of breadcrumbs,” Majors said.
Building a robust technical architecture that provides an observability-driven approach “starts with observability from day one,” Majors said. “It’s never too late, but while it’s always easier the earlier you start, you always move faster and with more confidence when you can see what you were doing and when you make that part of your daily practice,” said Majors. “Beyond that, the answer is the same as it’s always been: there’s some things you can learn from past mistakes, past principles, but every system is unique and you build it step by step, day by day.”
Tracing has also played an instrumental role in Majors’, as well as the rest of her team’s, mission to become better developers and engineers. “One of the most fun things lately has been watching some of the creative uses that we’ve come up with for tracing,” Majors said. Tracing serves to visualize “things in time,” for example, enabling Major and her team to instrument their build pipeline as a trace to see which tests are slow, for example, Majors said.
“Visual representation for me has been so powerful because I always think I know what’s what out there, but often I’m surprised. You’re forcing yourself to get used to relying on how the tool is your source of truth instead of your head being the source of truth, which is amazing,” Majors said. “It is so good for you and your team — because what it does is pull all the things that I know, all the things that I’m an expert in, out of my head and into a place where everyone has equal access to them.”
At this time, The New Stack does not allow comments directly on this website. We invite all readers who wish to discuss a story to visit us on Twitter or Facebook. We also welcome your news tips and feedback via email: firstname.lastname@example.org.