Developing distributed applications is complicated. You can wait to monitor for performance issues once you launch the application on your test or staging servers, or in production if you’re feeling lucky, but why not track performance as you develop? This allows you to identify improvement opportunities before rolling out changes to a test or production environment. This article demonstrates how two tools can work together to integrate performance monitoring into your development environment: Eclipse Che and Jaeger.
According to the Eclipse Che website:
“Che brings your Kubernetes application into your development environment and provides an in-browser IDE, allowing you to code, build, test, and run applications exactly as they run on production from any machine.”
In this article, we show how simple it is to add Jaeger to your Eclipse Che development workspace and observe how your Kubernetes application performs. We will use che.openshift.io as the hosting environment, although you could set up a local Che server if you prefer.
Continue reading “Tracing Kubernetes applications with Jaeger and Eclipse Che”
This is the second of a series of three articles based on a session I held at Red Hat Tech Exchange in EMEA. In the first article, I presented the rationale and approach for leveraging Red Hat OpenShift or Kubernetes for automated performance testing, and I gave an overview of the setup.
In this article, we will look at building an observability stack. In production, the observability stack can help verify that the system is working correctly and performing well. It can also be leveraged during performance tests to provide insight into how the application performs under load.
An example of what is described in this article is available in my GitHub repository.
Continue reading “Building an observability stack for automated performance tests on Kubernetes and OpenShift (part 2)”
Microservices have become mainstream in the enterprise. This proliferation of microservices applications generates new problems, which requires a new approach to managing problems. A microservice is a small, independently deployable, and independently scalable software service that is designed to encapsulate a specific semantic function in the larger applicationl. This article explores several approaches to deploying tools to debug microservices applications on a Kubernetes platform like Red Hat OpenShift, including OpenTracing, Squash, Telepresence, and creating a Squash Operator in Red Hat Ansible Automation.
Continue reading “Solving the challenges of debugging microservices on a container platform”
This is the first article in a series of three articles based on a session I hold at Red Hat Tech Exchange EMEA. In this first article, I present the rationale and approach for leveraging Red Hat OpenShift or Kubernetes for automated performance testing, give an overview of the setup, and discuss points that are worth considering when executing and analyzing performance tests. I will also say a few words about performance tuning.
In the second article, we will look at building an observability stack, which—beyond the support it provides in production—can be leveraged during performance tests. Open sources projects like Prometheus, Jaeger, Elasticsearch, and Grafana will be used for that purpose. The third article will present the details for building an environment for performance testing and automating the execution with JMeter and Jenkins.
Continue reading “Leveraging Kubernetes and OpenShift for automated performance tests (part 1)”
A significant challenge of moving from a traditional monolithic application design to a microservices-based architecture is the ability to monitor the business transaction flow of events throughout your entire distributed system. Join us for the next online DevNation Live on June 21st at 12pm EDT for Advanced Microservices Tracing with Jaeger, presented by Red Hat software engineers Pavol Loffay and Juraci Paixão Kröehling.
In this session, we’ll examine in detail the Cloud Native Computing Foundation (CNCF) OpenTracing API, a consistent, expressive, vendor-neutral API for distributed tracing and context propagation. We will also analyse Jaeger, an open source distributed tracing system inspired by Google Dapper and OpenZipkin.
Join us to gain an understanding of Jaeger’s open source distributed tracing system and how it can help you monitor and troubleshoot microservices-based distributed systems.
Watch the video of the recorded session:
Continue reading “Next DevNation Live: Advanced Microservices Tracing with Jaeger, June 21st, 12pm EDT”
Launched nearly two years ago, the Eclipse MicroProfile project is moving fast with four releases and eight subspecs having at least two implementations each. Because it’s a fast moving target, this post tries to give an overview of MicroProfile 1.3, which was released on September 30th, and helps you to get started with the specification.
Continue reading “MicroProfile Status in Version 1.3”