My ToDo app repo has a GitHub Action that runs npm run test
for both frontend and backend using Docker Compose.
It used to take 4 minutes and 48 seconds to run tests after building images, but by using buildx cache backends, it was shortened to 2 minutes and 18 seconds.
The latency reduces by 2 minutes and 30 seconds, and the performance improvement is over 2x (see the related pull request).
This article guides you simple steps you can add to benefit from caches.
Reducing Performance Degradation due to HPA by using CronJob
When using Kubernetes's Horizontal Pod Autoscaling (HPA), there is an invevitable time delay until the desired number of Pods are deployed. Until then, the service quality may degrade, for example, the response latency can become very large if there is a sudden increase in the traffic volume. This article assumes that you can roughly estimate the request volume trends by using e.g., historical data, and introduces a way to mitigate the service degradation by using Kubernetes's CronJob to adjust the HPA parameters before the expected traffic increase. We will write a template CronJob and a Python script that generates the CronJob manifests from the template using values from a CSV file.
Kubernetes Horizontal Pod Autoscaler (HPA) with Custom Metrics from Istio
In a previous article, I demonstrated the Horizontal Pod Autoscaler (HPA) of Kubernetes. In that article, I set up autoscaling for CPU utilization, but this time I will set the HPA target to the request processing time of the pod in question. Since it is time-consuming to manage metrics values on the application side, I will get the request processing time metrics from the service mesh Istio.
4 Advantages Istio Brings to Your Kubernetes Cluster
I got a chance to learn to use Istio, one of the most loved service mesh solutions, in a Kubernetes cluster at work. Before all this, I had no idea about what Istio is, or why service mesh is favored, but now I have clear answers to these and can confidently recommend introducing Istio into your Kubernetes cluster. It offers a variety of benefits, and in this article, I would like to share four advantages of Istio that I like most.
Kubernetes HPA Hands-on
This article provides a quick hands-on for Kubernetes's Horizontal Pod Autoscaler (HPA). It deploys a simple CPU-intensive Web app on Kubernetes, and configures the HPA for the deployment. Then, we perform load testing to verify that the number of replicas scale automatically based on the metrics we configure.
How to manage your team as a leader?
I found the Japanese Udemy course How to mange your team to be very informative, so I'm going to write down some of what I learned.
The whole course was only 2 hours long, and at 1.5x or 2x speed, you would finish it during your commute, but the course has a lot of important things. It was quite informative and I highly recommend it.
This article briefly describes the motivation and overview of the course, and then presents three things I learned, in the form of a summary.
Introduction to NGINX
This blog post summarizes basic use-cases of NGINX, namely static hosting, reverse proxy, and load balancer.
It provides fully-reproducible configuration setup using Docker for each use-case.
GatsbyでMarkdownから slug を指定するための設定
GatsbyJSでMarkdownを書くと,ファイル名がslug (URLの一部)になってしまいます.ファイル名は日本語にしたいが,slugは英語にしたい.また,slugを指定しない場合は通常通りファイル名から自動生成したい.これを実現する設定について説明します.
gem5 FSモードのdisk imageをDockerを使って作成する方法
アーキテクチャシミュレータ gem5 には,Systemcall Emulation (SE) モードと Full System (FS) モードの2種類があります.
今回は,FSモードに必要な disk image を,Docker を使って作成する方法を紹介します.