Benchmark Kubernetes CNI
I was configuring recently Calico on a RKE2 cluster. I wanted to test the network performance of the CNI and check, if it can achieve the 100Gbps bandwidth of the NIC. iperf3 is a great tool for this, but unfortunately, it is single threaded and the test was CPU bound. To overcome this, I wrote a simple script, which runs multiple iperf3 tests on a Kubernetes cluster. The tool is available on my Github....
Transactional outbox pattern example in Golang and MongoDB
For a personal project, I was experimenting with DDD. I was sending domain events through RabbitMQ to run choreography-based sagas. One problem I had was ensuring that the domain event got sent out after modifying aggregates. It’s not possible to run an atomic transaction through MongoDB and RabbitMQ, so there can be a situation where the aggregate is modified successfully in the database, but we won’t send an event because RabbitMQ is not available....
Learning stuff: Pulumi for AWS
I decided to make a habit of learning at least one new tool, technology every month and prepare a blog post about it. In recent months I focused mostly on the stuff I was dealing at work. Right now I’m reading “Atomic Habits” by James Clear, so that’s the first habit I would like to create. :) What is Pulumi This month I decided to check out Pulumi. Pulumi is an open-source infrastructure as code tool....
Running OpenEBS on a Odroid HC4 cluster
I bought recently two Odroid HC4 microcomputers and 4 Seagate Barracuda 2 TB HDD with the intention to farm Chia on them. The HC4 platform used on ARM64 processor and has two SATA 3, which can be used to plug HDD or SSD drive to it. At work, we are checking out currently the OpenEBS project, which allows to build a Container Attached Storage for Kubernetes using local disks. I was curious, if I could use OpenEBS on those HC4 devices and create a CAS for a Kubernetes home lab....
Integrating Cert Manager with Route53 on EKS
Integrating Cert Manager with Route53 on EKS In this article I will show, how you can automatically get Let’s Encrypt SSL certificates using Cert Manager. We will leverage the DNS01 challenge and use a Route53 Hosted Zone to answer the challenge. The Cert Manager will use an EKS IAM Role Service Account, which follows AWS best practices for security. Set up the EKS cluster with Terraform We will use this EKS module to provision our EKS cluster....
My simple The Elder Scrolls Online addon manager in Rust
I was missing a addon manager for ESO UI on Linux. There is Minion, which I tried to run in the Wine prefix of my ESO installation, but it crashed too often. What I expected from the addon manager was: working on Linux command line interface easy to backup the addon configuration So I created eso-addons. It uses a single configuration file for storing the addon configuration, so I can just backup this config file and use it to restore my addons....
Pre-compile shader cache in Steam. How to improve performance for some games
In some shader heavy OpenGL and Vulkan games you can experience shuttering, when running the game for the first time. An example is Overwatch or Path of Exile. What’s happening in the first minutes of the game is shader cache pre-compilation. It’s a process of compiling shader code into GPU instructions .The final cache code is dependent on the specific GPU you have, so this cannot be baked into the game files....
Gaming on Linux? Is it possible in 2020?
Is gaming on Linux possible? tldr; Yes, it is! In many cases the user experience is like on Windows! The biggest issue I had with switching completely to a Linux based OS were games. Game studios do not really care about Linux support, as the market share for this OS is around 2%. Moreover, OpenGL, the graphics library supported in Linux, is not developer friendly, so they did not want to use it....
Build a static web page with Hugo and Amplify
Static website hosting You most probably heard about static website hosting, static website generators and Github Pages or Netlify. After the boom of web technologies the backends got heavier and heavier, page loading times increased multiple times. You wanted to create a blog or portfolio website and you had to: buy a server/VPS buy/install a database buy a domain install the required backend software and configure it ensure the system is patched make backups You either made this by yourself or bought a managed solution from some provider....
Using AWS SAM and CodeDeploy to deploy serverless applications
AWS Serverless Application Model I was recently preparing for my AWS DevOps Engineer exam and I wanted to give AWS Serverless Application Model a try. AWS Serverless Application Model is a framework to build and deploy serverless application on AWS using Lambda, API Gateway and DynamoDB. Under the hood it is a AWS CloudFormation transform, which expands the CloudFormation syntax and adds additional resources under the AWS::Serverless namespace. During the template provisioning those resources get expanded to basic CloudFormation resources....