How to understand the behavior of an application and troubleshoot problems?

When microservice architecture grows, each event might be an igniter for many calls to different services. Development teams should be able to quickly find all actions connected to one request, especially in case of any critical errors. I will introduce your very useful pattern called distributed tracing.

How to handle it?

You can start by assigning a unique request identity to each external request, it might be done as part of the header in UUID format. As soon as it will be there generated request-id should be passed into all services which are involved in a particular request. To increase…


Architecture design — detecting non-technical functional requirements and selecting relevant software quality attributes

Photo by Lala Azizli on Unsplash

The main driving factor for architecture decision is business. Depending on the needs we will choose a different architecture, it might be fully serverless, monolith, or service-oriented architecture with ESB. Good understanding of business requirements is key to success.

Why should we care about how our architecture will look like? Because the main requirement is that we want to build better software faster. It will allow us to deliver business features quickly and cheap. From a business perspective, this is important to have information as fast as possible whether something works for users or not.

The requirement breakdown

From an…


How to understand the behavior of an application and troubleshoot problems?

Possibility to verify if our application is running correctly is one of the most important things to ensure that the business works as expected. In this article, I will describe to you how to handle it basing on my experience with work on thousands of microservices.

The main gain of having it is that we can intimidate get a notification that something does not work properly and start resolving the incident. …


Nowadays one of the keys to successful businesses based on software is code quality and delivery time. Applications became more and more complex and decentralized. Engineers are split into tiny teams focused on different parts of the whole system. How we can correctly measure those parameters in these conditions? Today I will introduce you into one of the good ways to achieve it — DORA metrics.

DORA (DevOps Research and Assessments) is a company focus on providing assessments and surveys of organizations to see if you are a high performing IT organization or where you might need help and attention…

Kamil Żurawski

Principal Developer in StepStone, trainer in the field of architecture and business-oriented programming, after-hours passionate about ultra mountain marathons

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store