Author: oleg
-
Building Your First Argo Workflows Pipeline
As a Staff Software Engineer specializing in Site Reliability Engineering (SRE) and pipelines, I’ve found Argo Workflows to be an excellent tool for orchestrating complex, parallel workflows on Kubernetes. In this article, I’ll guide you through creating your first Argo Workflows pipeline, complete with code snippets and explanations. What is Argo Workflows? Argo Workflows is…
-
Most useful Prometheus queries
Topk – largest k elements by sample value Examples Top 5 CPU usage metrics This query calculates the rate of CPU usage for each container over the last 5 minutes, sums it up by container_name, and then returns the top 5 containers with the highest CPU usage. Top 10 HTTP Request Rates This query calculates…
-
Comparison of Telemetry Instrumentation: New Relic vs. OpenTelemetry
Introduction to Telemetry Instrumentation Telemetry instrumentation is the process of collecting, transmitting, and analyzing data from software applications to monitor their performance and behavior. This data, often referred to as telemetry data, includes metrics, logs, and traces that help developers and operations teams understand how applications are performing and identify any issues that may arise.…
-
How to pass secret as build argument to Docker build in DroneCI
When it comes to building and deploying software, keeping secrets safe is crucial. I use DroneCI as a CI solution and sometimes need to pass secrets as build arguments to Docker build command in ECR DroneCI plugin. Documentation of ECR plugin (at least when I looked it up) didn’t mention build_args_from_env parameter. This parameter lets…
-
Zero downtime app deployment with Azure App Service
One of the problems in DevOps is deployment of an app seamless for the user, i.e. with zero cold starts and zero downtime. This is how you can achieve zero-downtime deployment of a three tier application with frontend, API and a database, hosted in Azure cloud. Azure App Service is a PaaS for running .NET,…
-
Go app to check GitHub PRs
I try to cultivate a habit to regularly keep an eye on whats going on in the project, either on user story or code changes levels. User stories are relatively easy to track (still might be improved) with existing tooling, while code changes is a bit more challenging. The typical flow I had for months…
-
Use Karpenter for efficient pod scheduling
Optimizing pod scheduling in Kubernetes is crucial for maximizing efficiency and performance. With the growing complexity of containerized applications, achieving optimal pod placement has become a priority for organizations. That’s where Karpenter comes in as a powerful tool that streamlines and automates this process. Kubernetes optimization involves fine-tuning the scheduling of pods to ensure seamless resource utilization and enhanced performance. By strategically placing pods…
-
Transaction isolation in PostgreSQL
Recently I was reading “Designing Data-Intensive Applications” book. It covers lots of topics related to creation of reliable, scalable and maintainable data systems and one of the chapter covers a concept of transactions – its meaning, use cases, levels of isolation and reasons why application developers should choose the right one. While many books and…
-
I still use VIM
9 years ago I became a VIM user (after coding 3 years in XCode), that significantly uplifted my coding skills, C++ knowledge and environment around it. Throughout my career I used different IDEs and code editors: Visual Studio, NetBeans, XCode for iOS & Mac, Eclipse, IDEs from JetBrains (Android Studio, Idea, CLion), Sublime, VS Code.…
-
Setting up the dev blog in Azure
Cloud technologies is sort of LEGO, I like to build the systems out of these blocks. That is why I decided to start my dev blog in the cloud and first article is about technical aspect of it. For the blog I decided to use static website hosted on cloud storage with connected CDN. It…