Author Archives: Mathew

Technical Debt

For a brief, but an enlightening article on Technical Debt (TD), do read this post from Martin Fowler Technical Debt. My focus here is not about what TD is, but rather some thoughts on WHEN in time do you incur it. Knowing that can help you go in with eyes wide open and maybe reduce the debt burden a bit. To assume you will not gain TD means you are either just out of school with no real-world experience or plain naive (no offense to anyone).

Continue reading

Say hello to Micronaut inside Kubernetes (with Prometheus & Grafana)

In the age of Serverless & Container architectures, there is once again chatter about Java being too fat (and dying). While I can understand the “too fat” observation, I will not put my money on the “java is dying/dead” chatter. That obituary has been written multiple times and the language lives on. It is true that Java was not born in the Container/Cloud era. Yes, it was born in a different age and time, but the language and framework ecosystem has evolved. In the Microservices cloud-native app world where horizontal scaling and fast startup times are expected, Java may (at times depending on the architecture) not be the fastest horse in town.

Continue reading

Engineering Management

It has been a few years now since I moved into the role of Software Engineering Management. While there may be various reasons for one to move to this role, it is a change that comes with very little training and no guidebook. In this blog, I will go over a few areas that I felt are areas to keep an eye on when in this role (a lot of it is relevant to non-manager lead roles too).

Continue reading

Take2 — Setting up k8s Cluster with k3s on Raspberry Pi 3 & Pi 4

Back to a teach-myself-something type of project, with setting up K8s Cluster on Raspberry Pi devices. I had a couple of older Raspberry Pi 3s and a recently purchased Pi 4 available for this. My old Pi3 devices had Docker Swarm (yes that one) from a couple of years back. This time around I want to get k8s on the 3 Pi devices.

The steps are fairly simple but it can be a bit of work. You should find blogs out there with decent enough directions. So here goes me adding to that library of blogs to make it easier for the next person trying to set this up.

This is an upgrade from my previous similar blog installing Docker Swarm on a two node Pi-3 cluster https://54.210.73.122/running-docker-swarm-raspberry-pi-3/

Continue reading

Setting up your own VPN server for personal use on AWS

I have used (still use) a commercial VPN service (for those few occasions I am outside and need some extra security). But I have always wanted to standup my own VPN server to have a bit more confidence that my activity logs are not being watched (worse sold or hacked) by a 3rd party VPN provider. Punted this for a long time, but found the perfect opportunity to do that today while waiting for some car repairs at an auto service center.

Continue reading

Metrics with Spring Boot, Prometheus and Grafana

Capturing metrics from your system is critical to understanding its internal behavior and to tune its performance. Without this you are operating in the blind. In this post we will go through how you can gather metrics from a Spring Boot application using Prometheus, Grafana and Micrometer.

Continue reading

Running Istio on Minikube to implement traffic routing

There are multiple strategies you could use to introduce new service versions to an existing product. In this article I will go over how you can implement Canary deployments using Istio in a k82 cluster. The same approach can be used to implement Blue/Green deployments too.

Continue reading