Prometheus for Managers – Alerting

This post is the last one from the series “Prometheus for Managers”. In the second article from this series, the one about Prometheus Architecture, I touched on what Alertmanager does. So to recap, Prometheus allows for setting up alerts based on defined thresholds or conditions and AlertManager handles these alerts and sends them as notifications to multiple channels like email, slack, PagerDuty, etc.

The table of contents for this article:

  • 1️⃣ Recording Rules
  • 2️⃣ Alerting Rules
  • 3️⃣ AlertManager Config
  • 📚 Resources
Continue reading “Prometheus for Managers – Alerting”

Prometheus for Managers – PromQL

Welcome to the third part of our series on Prometheus for Managers. In the previous two parts, we explored the fundamentals of Prometheus, its role in system monitoring, and the various types of metrics it captures. Today, we embark on a deeper dive into PromQL, the powerful query language that unlocks the insights hidden within Prometheus data. This query language allows users to perform ad-hoc queries, filtering, aggregations, and analysis on the collected metrics.

In this article we will cover:

⛳ The main concepts relevant to effectively use PromQL
🧐 Deep dives on vectors, selectors & matchers, and functions

Let’s start this new journey! 😉

Continue reading “Prometheus for Managers – PromQL”

Prometheus for Managers – Prometheus Architecture

This article serves as a continuation of our series dedicated to Prometheus, designed specifically for managers aiming to harness the power of Prometheus within their teams. While not delving into intricate technical details, it provides essential insights and architectural concepts necessary for managers to make informed decisions and effectively leverage Prometheus in their organizations.

In this article we will explore the following areas:

🔖 Prometheus Terminology
🧐 Prometheus Architecture Deep Dive

So, let’s begin!

Continue reading “Prometheus for Managers – Prometheus Architecture”

Prometheus for Managers – Intro

This article marks the beginning of a series dedicated to Prometheus. These articles are specifically tailored for managers who aim to leverage Prometheus within their teams. While the content will not delve into excessive technical details, it will encompass sufficient information and concepts to enable managers to effectively utilize Prometheus.

Specifically, I will cover:

  • 🧐 What is Prometheus
  • 🖥️ Operational monitoring
  • 📊 Metrics vs Events
  • 🧩 Strategies for handling large volumes of data

So let’s get started!

Continue reading “Prometheus for Managers – Intro”

Data Models and Query Languages 

The Chapter 2 from “Designing Data-Intensive Applications” by Martin Kleppmann is covering concepts like data models and query languages.

Data models are having direct impact on how the software is written, but also define how we think about the problem we are working to solve.

There are multiple data models for data storage and querying and the most common used are relational models, document models and graph based data models.

Continue reading “Data Models and Query Languages “

Reliability, Scalability & Maintainability

When designing systems/services is about combining functional requirements (what the system should do) with non-functional requirements (quality attributes or ilities). The challenge here is to develop software with the right quality levels. And to solve this challenge, here comes the concept of Software Architecture Methodology which helps us to build a bridge between the problem space and the solution space.

My role, as an Engineering Manager, is also about technical leadership and helping my teams making the right technical decisions based on data, best practices and current expectations from our clients. And since I just finished to read “Building a Second Brain”, I include here my notes from the book “Designing Data-Intensive Applications” by Martin Kleppmann, a must-read in the system design field.

Continue reading “Reliability, Scalability & Maintainability”

Software Architecture Methodology

As developers, we are focused on solving problems. And these problems exist in the space we call software development. The main challenge in this domain is to develop software with the right quality levels. So here comes the concept of Software Architecture which helps us to build a bridge between the problem space and the solution space.

Being a technical leader or manager you may think that the architecture is the job of the architect, but to truly understand the big picture, and to guide your team to achieve the mission of the product you all build, this aspect is mandatory to be on your to-do list, not just on your team’s list.

“Software architecture is the fundamental organization of a system embodied in its elements, relationships, and in the principles of its design and evolution.” [IEEE Std. 42010-2011]

“The shared understanding that the expert developers have of the system design. Architecture is about the important stuff. Whatever that is.” [Ralph Johnson, one of the authors of “Design Patterns: Elements of Reusable Object-Oriented Software”, GOF]

Continue reading “Software Architecture Methodology”