Kubernetes Platform as a Service and Red Hat OpenShift

The Three-layer model Kubernetes is so complex that it becomes a buzz word itself. I categorize the related work into three layers: a cluster layer, a platform layer and an application layer, by their purposes. The three layers are illustrated as below: Kubernetes Platform Kubernetes Platform Kubernetes Cluster Kubernetes Cluster Application Application AKS, EKS, self-built … Read moreKubernetes Platform as a Service and Red Hat OpenShift

Kafka overview

Zookeeper General definition of distributed system: a software system that is composed of independent computing entities linked together by a computer network whose components communicate and coordinate with each other to achieve a common computational goal. Implementing coordination among components of a distributed system is hard. For example, designated master node becomes single point of … Read moreKafka overview

Performance Analysis

Overview In 2015, Brendan Gregg posted two great articles on Netflix blog: Linux Performance Analysis in 60 seconds, and Linux Perfomrance Tools. They have great value when I was in a urgency to spot performance issues. The articles cover the essential tools for performance troubleshooting, including: We will dive into each of them in the … Read morePerformance Analysis

Balloon steals memory from virtual machines

This article is my experience with memory balloon on virtual machine. I came across an ElasticSearch server (ESXi guest with 32GB physical memory) where the main process keeps dying of OOM. Even worse, after the OOM event, the free memory left is about 10G and Elastic Search cannot start because its JVM is set with … Read moreBalloon steals memory from virtual machines

How memory usage adds up in Linux

There are too many metrics that describes some aspects about memory in Linux. Further to an old article on this site, where several concepts were discussed, this posting will make sense of those common metrics in Linux, CentOS as an example. The most fundamental command is free and my favourite switch is -h for human … Read moreHow memory usage adds up in Linux

High Availability and Load Balancer

Overview Fault tolerance and high availability are two architectural characteristics that people often confuse with each other. High availability focuses on minimizing downtime. It guarantees uptime, but not performance in the event of component failures. Fault tolerance, on the other hand, focuses on stable capacity even in the event of component failures. Fault tolerance has … Read moreHigh Availability and Load Balancer