Author Archives: Mathew

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

Digital Transformation

You probably have heard leadership talk about Digital Transformation in meetings, town halls and blogs. Industry pundits seem to talk/write about it; often using it to rank which companies are competing at the topmost level in their industry. Often though there is  confusion among the rank and file employees about this whole “Digital” thing. Is it the latest buzzword that executives are in love with (probably true to some extent)? Is there anything behind it or just a lot of hot air? Who are all those high priced management consultants that show up to tell us about Digital Transformation, without explaining what it is?

Continue reading

Having some fun with Voltswagen to get tests to pass always :)

I will begin by saying ” DON’T EVER DO THIS IN THE REAL WORLD”. https://github.com/auchenberg/volkswagen will detect if your build is running inside a CI tool and then force all tests to pass; even if they fail. Now you know why I said “DON’T EVER DO THIS IN THE REAL WORLD”. Hey just having some fun … code quality purists you have been warned not to read further! 🙂

Continue reading

AWS Beanstalk (running Spring Boot jar) and Log aggregation with ElasticSearch & Filebeat

Most serious applications (and distributed microservices style architectures) will require to provide a log aggregation & analysis feature to its dev & operations teams. Reviewing log entires from 10s or 100s of server instances is not something to take lightly. Whether you choose to use a commercial product or an open source offering – that does not matter; just make sure you have one available.

Recently I have been deploying applications using AWS Beanstalk. You can definitely configure CloudWatch Logs to send log streams over to AWS ElasticSearch service. Log messages can be routed to a Lambda function which would break the log messages into individual attributes suitable for indexing. I wanted to try a slightly different route where I depend less on CloudWatch Logs and more on open source tools. Enter filebeat on Beanstalk.

Continue reading