alerting best practices

Kubernetes Observability – Part V: alerting best practices

This article explains best practices for writing alerts on an abstract, tool-independent level. I go into technical alerting patterns (including RED and USE) and why it is better to start from a business angle instead. I elaborate on general alerting rule design, such as alert frequency and appropriate destinations, and give concrete tips for addressing … Read more

prometheus concepts

Kubernetes Observability – Part III: Prometheus & Alertmanager basic concepts

This article helps you understand the basic Alertmanager and Prometheus concepts, such as metrics, time series, samples, alerts, and alert notifications. I also explain how data is conceptually stored, how you should approach instrumenting your application, and the basic idea of dashboards. Introduction The Prometheus stack is a popular set of tools used to achieve observability of your system. … Read more

introduction to prometheus feature

Kubernetes Observability – Part II: architecture introduction to Prometheus, Alertmanager & Grafana

This article takes a detailed look at the architecture of the Prometheus stack, consisting of the individual applications Prometheus, Alertmanager, Grafana, Pushgateway, and various exporters. I discuss how each component is configured, which kind of data it stores, and how Prometheus can be scaled. Introduction to Prometheus The Prometheus stack is a popular set of … Read more

observability feature

Kubernetes Observability with Prometheus, Loki & Grafana – Part I: Learning guide

In this article I define the term observability, why you need it and what basic steps are necessary to achieve it. I then present a generic learning guide for how to implement observability for Kubernetes with the Prometheus-stack. Introduction to Observability It is always important to quickly determine that your system is malfunctioninig, and to … Read more

ci/cd basics feature

CI/CD Basics

CI/CD is the process of fully automating tasks such as building, testing and deploying your software. Instead of running these tasks manually, on a developer laptop, you have them executed on a server all the time. In this article, I dive deeper into the definition of CI/CD and related terms, explain the background of CI/CD, … Read more

authorization flow oauth oidc

Authorization flow with OAuth 2.0 and OpenID connect

OAuth 2.0 and OpenID Connect 1.0 solve user authorization and authentication. In this article, I discuss the advantages and the authorization and authentication flows of both protocols, based on a video presentation by Nate Barbettini. Introduction If you develop an application, e.g. a mobile or web app, common problems are user authentication and authorization. The … Read more

gitops introduction feature image

GitOps introduction – what it is and how it works

GitOps is a methodology for Continuous Deployment, where you use Git to store (and track changes of) a declarative definition of your deployment configuration, and have a GitOps tool apply this configuration to your (production, etc.) environment. In this GitOps introduction you will learn how GitOps is defined. By looking at several examples, you will … Read more

distributing macos applications feature image

Distributing macOS applications

This article presents all necessary steps to get your macOS application into the hands of your users. I list and compare the four distribution and packaging options: the macOS app store, package managers like Homebrew, Disk images (dmg) files, and installers (pkg files). I also introduce the signing and notarization process. Introduction In my previous … Read more

distributing windows applications

Distributing Windows applications

This article presents all necessary steps to get your Windows (desktop) application into the hands of your users. I list and compare 13 installer builders which package your application as a setup, discuss distribution options such as package managers, and present solutions to integrate automatic updates and licensing into your application. Introduction If you are … Read more