Posts

Applying Observability with OpenTelemetry - Part 2 - Metrics and Logs

This is the second part in a series about OpenTelemetry: Part 1 - Distributed Tracing Part 2 - Metrics and Logs (this post) Part 3 - Cloud-native integration with AWS Metrics Telemetry has long been used in industries to monitor and predict potential issues.

Applying Observability with OpenTelemetry - Part 1 - Distributed Tracing

By Lev Polyakov (www.polyakovproductions.com) When I had to investigate a production issue in the past, one of the first steps was correlating log entries from multiple servers to find out full journey of a request.

Scaling a Kafka consumer group with Kubernetes operator and HPA

Kubernetes (k8s) has introduced a number of ways to extend its APIs and data structure for customising and managing complex workloads. In this post, I attempt to leverage k8s’s Operator pattern and Custom Resource Definition (CRD) to manage the life cycle of a Kafka consumer group running atop a k8s cluster.

How to not write inheritance code in Kotlin

When you write a couple of classes and just realise that there are functionalities that can be shared, a tendency is to create a parent / abstract class or define an utilitity class.

Kotlin - a pragmatic multiplatform language

In 2019, Google announced Jetbrain’s Kotlin as the first-class language for Android development. Since then, Kotlin has evolved to be more than just a language for Android. On kotlinlang.org, it claims to be safe, concise, expressive and cross-platform.

A note on software design principles and practices

Timeless design principles YAGNI = You aint’t gonna need it. Unused code or dead code is liability. KISS = Keep it simple, stupid. Simple design first. DRY = Don’t repeat yourself.

Keys to Success - B.C.Forbes

Wrote in 1917 by B.C. Forbes, a Scottish financial journalist and founder of Forbes Magazine Your success depends upon you. Your happiness depends upon you. You have to steer your own course.

Reactive programming techniques 101

This blog post collects useful programming techniques applied in reactive programming with Spring Webflux and Reactor framework. Lightweight APIs with Webflux REST API developed with Springboot often takes few seconds to bootstrap the server and load all dependencies.

DocuOps with Asciidoc & Gradle plugin

If you love Asciidoc and want to generate cool technical specs in HTML5 and RevealJS slide for technical showcase. This gradle plugin can help: Creating a sane default structure for project docos and templates Generating HTML5 docos (PlantUML supported) Generating RevealJS slide from Asciidoc format To work with Asciidoc, refer to this writer’s guide, and compare Asciidoc with markdown, also heap of projects are using Asciidoc

Micro rule-engine with Spring and Drools

It is 2019, while every man and his dog talks about Machine Learning & AI, I have spent some time this week to play with Drools (HRS - Hybrid Reasoning system) and built an API with it.