Welcome to the AugmentedMind

Your resource for articles about technology, self-improvement & more

Welcome to my home page

This is the place where I publish articles about my findings and progress in the awesome world of technology and beyond! Also, check out my projects or get in touch.

My latest articles //

Docker optimization guide: the 5 best tips to optimize Docker development speed

This article presents 5 tips that improve the speed of building Docker images locally. It focuses on two problems: iterating on your unfinished Dockerfile (where you still figure out configuration options and which packages to install), and iterating on your code (assuming a finished Dockerfile). I discuss tricks such as using BuildKit, the .dockerignore file, or tweaking the RUN statement…

GitOps for managing cluster software using GitLab, ArgoCD and Renovate Bot

This article demonstrates how to use the ArgoCD GitOps controller to deploy applications to a Kubernetes cluster. The definitions/manifests of these applications, such as an Ingress controller, monitoring stack, etc., are stored in GitLab. They are automatically updated by Renovate Bot, which regularly scans your GitLab project for outdated dependencies. A demo project illustrates how deployment errors (happening in ArgoCD)…

Introduction to GitLab CI/CD pipelines: a complete guide to get you started

This article provides a detailed introduction to the general concepts of GitLab CI/CD pipelines. It discusses the anatomy of the pipeline definition file, how GitLab distributes and runs jobs on runners, and what good practices you can follow. I also explain how the containerization of CI jobs affects their ability to build Docker/OCI images. Introduction As I explained in my…

Kubernetes Observability – Part VI: Prometheus in Kubernetes guide

This article discusses the different options you have to install Prometheus in Kubernetes, and then explains the installation of the Prometheus operator in detail, using the kube-prometheus-stack Helm chart. I conclude with how to upgrade your Prometheus stack as well as your own alerting rules and Grafana dashboards. Introduction The Prometheus stack is a popular set of tools used to achieve observability of your…

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 observability in the different layers…

Kubernetes Observability – Part IV: PromQL tips

This is a deep dive into PromQL, the Prometheus query language. I discuss the basic data formats (instant vector and range vector), explain the different types of operators and functions, and then elaborate on how binary operators do result vector matching. I conclude with various PromQL tips and hints, and help you get started in practice. Introduction The Prometheus stack is a…

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. As indicated in the learning…

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 tools used to achieve observability…