OpenTelemetry and Istio: Everything you need to know

Istio OpenTelemetry

There is a high correlation between R&D teams using Istio (k8s) and OpenTelemetry.  The reason is that OpenTelemetry shines when there are a lot of services communicating with each other and the best platform to host it is k8s. Getting started with OpenTelemetry can be a challenge as it requires a lot of knowledge. Having […]

How To Write Integration Tests Easily Using Trace-Based Testing

OpenTelemetry, Malabi, MongoDB, Jest, HTTP in the lab

This article is part of the Aspecto Hello World series, where we tackle microservices-related topics for you. Our team searches the web for common issues, then we solve them ourselves and bring you complete how-to guides. Aspecto is an OpenTelemetry-based distributed tracing platform for developers and teams of distributed applications. Hands-on: What to expect Introduction The motivation […]

How to Deploy Jaeger on AWS: a Comprehensive Step-by-Step Guide

Jaeger logo dressed as Mick Jagger on an AWS cloud

In this tutorial, I will be showing you how to host jaeger on AWS ECS and visualize traces. We will do so step by step: set up an AWS Elasticsearch service domain and use it as a storage backend. For this purpose, we will use the jaeger all-in-one image inside our own ECS cluster & […]

Trace-Based Testing with OpenTelemetry: Meet Open Source Malabi

A quick code example for the assertion using Malabi

Originally published on the CNCF blog. Written by Yuri Shkuro, creator and maintainer of Jaeger, and Michael Haberman, Co-Founder & CTO of Aspecto. If you deal with distributed applications at scale, you probably use tracing. And if you use tracing data, you already realize its crucial role in understanding your system and the relationships between system components, […]

Distributed Tracing: Build vs Buy

Distributed Tracing Buy vs Build Compressed

As microservices observability becomes more and more of a challenge for engineers, companies are turning to distributed tracing solutions. Now, they have to decide whether to buy or to build their distributed tracing infrastructure. While building a solution from scratch might sound compelling, and can even be supported with open source Jaeger and OpenTelemetry, buying […]

Why and How to Run Jaeger Locally

local jaeger

In this article, you’ll learn how to run Jaeger locally, why and when you should do it, as well as what are Jaeger’s limitations when running locally. Let’s start with the basics: a distributed tracing system is generally composed of client and backend components. I will touch briefly on client components, though most of this […]

Distributed Tracing vs Logging: Why Logs Aren’t Enough to Debug Your Microservices

tracing vs logging

Originally published on The New Stack. Yes, you are reading it correctly, logs are not enough to debug your microservices. Not alone anyway. This is where distributed tracing comes into play. When debugging microservices, it can be challenging for developers to identify the root cause of issues. Not to mention how frustrating it is to […]

How to Achieve End to End Visibility into Redis Pub/Sub Using OpenTelemetry

TL;DR – A step-by-step tutorial video + a GitHub demo repo are below. When it comes to complex microservices architecture, using messaging brokers is a no-brainer. Communicating over a message broker reduces the mutual awareness that services should have of each other to be able to exchange messages, effectively implementing decoupling which is the root […]

3 Strategies to Solve Microservices Contracts Issues

solve contract testing

Microservice applications grow in complexity as the number of services grows.  This is something I’ve seen time and again as I’ve worked in microservice-based application architectures – one minor change to an edge service and the main customer portal is taken down due to a broken API call.  Service contracts are a first step towards […]

How to Achieve End-to-End Microservices Visibility in Asynchronous Messaging with OpenTelemetry

How to Achieve End-to-End Microservices Visibility in Asynchronous Messaging Kafka with OpenTelemetry

TLDR: Watch this 5-min video (code snippets can be found below) Microservices have tons of benefits.  They enable distributed development of highly scalable applications and unleashing the full potential of public cloud infrastructure. But there can be no good without evil. Microservices are DIFFICULT to understand and troubleshoot.  When done right, microservices are asynchronous, which […]