Distributed Tracing for Kafka with OpenTelemetry in Node

Distributed Tracing for Kafka with OpenTelemetry in Node

In this guide, you will learn how to run OpenTelemetry in Node to generate spans for different Kafka operations (e.g., consume and produce) and ultimately visualize your traces. We will also touch on the basics of Kafka, OpenTelemetry, distributed tracing, and how they all play out together. If you’re already familiar with Kafka and OpenTelemetry, […]

Microservices Authentication Strategies: Theory to Practice

Microservices Authentication Strategies: Theory to Practice

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. In this article, we will walk through […]

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 […]

Kafka vs RabbitMQ vs AWS SNS/SQS: Which Broker to Choose?

Choosing a message broker

Microservice applications rely heavily on messaging and asynchronous communications to keep everything working smoothly.  Choosing the right message broker is one of the first critical choices you must make when developing the services that need to communicate with each other. Making the “right” choice can be a battle of features and edge cases that can be […]

Lerna Hello World: How to Create a Monorepo for Multiple Node Packages

How to create a monorepo for multiple node packages

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. In this post, I will walk you […]

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 […]

How to Route Traffic Between Microservices During Development

One Easy Way to Route Traffic Between Microservices During Development

Microservice architectures are quite popular nowadays. A typical application may consist of 10, 50, or even more than 100 microservices. Although it is relatively easy to run five microservices locally on your laptop, it’s not as easy to run 20 or 50 of them. And it’s not because of lack of computing power, but because […]

Is Protobuf.js Faster Than JSON?

json vs protobuf performance comparison

When you have structured data in JavaScript, which needs to be sent over the network (for another microservice, for example) or saved into a storage system, it first needs to be serialized. The serialization process converts the data object you have in the JavaScript program memory into a buffer of bytes, which then can be […]