The latest News and Information on Observabilty for complex systems and related technologies.
In this two-part blog post, we’ll use Elastic Observability to monitor a sample Java application. In the first blog post, we started by looking at how Elastic Observability monitors Java applications. We built and instrumented a sample Java Spring application composed of a data-access microservice supported by a MySQL backend. In this part, we’ll use Java ECS logging and APM log correlation to link transactions with their logs.
So what exactly is observability? Is it just a new-fangled term for 'monitoring'? Well, no. Observability goes further than mere monitoring. Observability involves the combination of 3 pillars – Metrics, Logs, and Tracing – to give a much more in-depth view of what your application is doing. Observability offers proactive insights into how your application and/or infrastructure are likely to behave, whereas monitoring is only reactive in nature.
Observability is an indispensable concept in continuous delivery, but it can be a little bewildering. Luckily for us, there are a number of tools and techniques to make our job easier! One way to aid in improving observability in a continuous delivery environment is by monitoring and analyzing key metrics from builds and deploys. With tools such as Prometheus and their integrations into CI/CD pipelines, gathering and analysis of metrics is simple. Tracking these things early on is essential.
Javascript is a pretty prolific programming language, used daily by people visiting any number of websites and web applications. NodeJS, it’s server-side version, is also used all over the place. You’ll find it deployed as full application stacks to functions in things like AWS Lambda, or even as IoT processes with things like Johnny Five. So when we think about Observability in the context of a nodejs stack, how do we set it up and get the information flowing?
Microservices and distributed architectures have become the norm for building modern day applications. While the cloud has made it easier to deploy and scale microservices, it has opened up a complex set of problems for DevOps by virtue of the sheer volume of interactions between those services.
As a Customer Advocate, I talk to a lot of prospective Honeycomb users who want to understand how observability fits into their existing Site Reliability Engineering (SRE) practice. While I have enough of a familiarity with the discipline to get myself into trouble, I wanted to learn more about what SREs do in their day-to-day work so that I’d be better able to help them determine if Honeycomb is a good fit for their needs.
At Honeycomb, we talk a lot about eating our own dogfood. Since we use Honeycomb to observe Honeycomb, we have many opportunities to try out UX changes ourselves before rolling them out to all of our users. UX doesn’t stop at the UI though! Developer experience matters too, especially when getting started with observability. We often get questions about the difference between using our Beeline SDKs compared with other integrations, especially OpenTelemetry (abbreviated “OTel”).
It’s that time of year again — the DevOps Pulse 2020 is here! Last year, nearly 1,000 engineers around the world provided their insights in the DevOps Pulse 2019 so we could get the community’s perspective on the growth and challenges associated with observability, cloud monitoring and more. As we discovered in last year’s DevOps Pulse, observability is still a major challenge for many organizations.