The aim of Prometheus Operator is to provide Kubernetes native deployment and management of Prometheus and related monitoring components. The kube-prometheus-stack helm chart (formerly named prometheus-operator) contains just one helm command to set everything up. However, it leaves out specific details about the underlying implementation. In this post, I'll take a deeper look what happens under the hood when the kube-prometheus-stack helm chart is installed in a Kubernetes cluster.
The LPI DevOps Tools Engineer Certification, launched in October 2017, has a very broad scope that includes several commonly used DevOps tools in the market. The exam "covers the intersection between development and operations, making it relevant for all IT professionals working in the field of DevOps." In this post, I share my thoughts and opinions on this certification exam that I took and passed in January 2020.
The JFrog Artifactory and its complementary suite of tools is well known across the industry. As part of a certification preparation, I wanted to find out more about how it is administered. This post is how to install JFrog Artifactory 7 and Xray 3 using Helm Charts in an AWS EC2 instance.
In this previous post, I explained how to set up a PostgreSQL database on Linux Alpine. To make it repeatable, I condensed the entire setup within a Vagrantfile with the Linux Containers (LXC) provider.
The vagrant-lxc plugin allows LXC to be a (custom) provider for Vagrant. This allows Vagrant boxes to be spun up as LXC containers on the host machine.
Depending on your distro and host OS installation add-ons, it may not be enough to just install the plugin as it relies on additional packages for it to work. In this post, I will go through how to set up the vagrant-lxc plugin for a clean installation of Ubuntu Server.
This post is part of a series of PostgreSQL Standby Failover in Docker: Cold Start Failover Warm Standby Failover (Log Shipping) Warm Standby Failover (Asynchronous Streaming Replication) Warm Standby Failover (Synchronous Streaming Replication) The PostgreSQL documentation has a high level overview on how to set up various failover, replication, and load balancing solutions (link). I found … Continue reading PostgreSQL 11 Warm Standby Failover (Log Shipping) for High Availability in Docker
This post is part of a series of PostgreSQL Standby Failover in Docker: Cold Start Failover Warm Standby Failover (Log Shipping) Warm Standby Failover (Asynchronous Streaming Replication) Warm Standby Failover (Synchronous Streaming Replication) The PostgreSQL documentation has a high level overview on how to set up various failover, replication, and load balancing solutions (link). I found … Continue reading PostgreSQL 11 Cold Start Failover for High Availability in Docker
Having a logging component within a library or service (especially in a microservices architecture) is useful to the downstream applications that use it. When properly set up, it allows them to choose their own logging implementation, and level of verbosity, without having to recompile the code. While there are many different logging implementations (e.g. log4j, … Continue reading Logging in Java Applications (Using java.util.logging Package)
A while back I did several posts on Appian, specifically one regarding setting it up on Docker. The objective was two fold - the first was to solve an important development CI pipeline challenge, and second was to evaluate if the software was deploy-able on a PaaS (ans: yes it is, but not via the … Continue reading Creating a Development CI Pipeline for Appian
Here are some take away lessons (I learnt the hard way) when automating scripts/programs: Plan to Fail Elegantly Things may flow perfectly for now, but when something does mess up later on (e.g. a third party service becoming unavailable), the code should be able to respond and/or fail gracefully. The effort required to do this … Continue reading Lessons Learnt from Script Automation