Deriving Golden Signals from Trace Spans: A Local Kubernetes Chaos Engineering Lab

Nowadays, modern application architecture is become more and more complex. And this complexity will comes with some problems like high CPU usage, network degradation, and maybe some random pod that crashes on production environment. And usually we have our monitoring and alerting system that will make us aware about those problems. But we also need to check if our monitoring and alerting system is always reliable or not since waiting for an incident to occur before test your monitoring stack is a recipe for disaster.

Read More

Building a Local Production-Ready GitOps Architecture with k3d, ArgoCD, and Kustomize

Nowadays, there’s common practice to divide the environment of our application into production and staging. This practice intended to create a safe environment for testing the application before we deploy the application to production and then used by the real user.

So, the engineer need to be able deploy the application into these different environment separately. So, we need to do practice for this purpose. But if we trying to do this on a cloud provider like AWS or GCP, it’s a sure thing that the cost will drain your wallet.

In this post, I will share a cost-effective solution for this problem. We will deploy a enterprise-grade Hub-and-Spoke GitOps environment inside a single local Virtual Machine. And it will completely for free.

This time, we will use Kubernetes as our main orchestrator for the application. We will use k3d to emulate the Kubernetes, ArgoCD as the CD (Continous Deployment) tool and GitHub as our project repository.

Read More