<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>SystemsGolive</title><link>https://systemsgolive.com/</link><description>Recent content on SystemsGolive</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 systemsgolive.com and Mickael Asghar. All rights reserved.</copyright><atom:link href="https://systemsgolive.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Case Study: Infrastructure Automation Cuts Server Build Time from 4 Hours to 30 Minutes on a Regulated Healthtech Platform</title><link>https://systemsgolive.com/post/infrastructure-automation-healthtech-azure-migration-case-study/</link><pubDate>Sat, 08 Aug 2026 09:00:00 +0100</pubDate><guid>https://systemsgolive.com/post/infrastructure-automation-healthtech-azure-migration-case-study/</guid><description>
How splitting infrastructure delivery into Bicep provisioning and Ansible configuration took a regulated healthtech platform's server builds from 4 hours of manual work down to 30 minutes of automated pipeline time, ahead of a live Azure migration.</description></item><item><title>Multi-Stage Docker Builds: Smaller, Safer, and Faster</title><link>https://systemsgolive.com/post/multi-stage-docker-builds-smaller-safer-faster/</link><pubDate>Sat, 20 Jun 2026 09:15:36 +0100</pubDate><guid>https://systemsgolive.com/post/multi-stage-docker-builds-smaller-safer-faster/</guid><description>
Multi-stage Docker builds separate the build environment from the runtime in a single Dockerfile. This post covers the four concrete benefits – smaller images, fewer CVEs, more readable Dockerfiles, and faster builds – using a TypeScript app that dropped from 289MB to 167MB.</description></item><item><title>Shared Storage Across Availability Zones with Amazon EFS</title><link>https://systemsgolive.com/post/amazon-efs-shared-storage-across-availability-zones/</link><pubDate>Wed, 03 Jun 2026 16:50:55 +0100</pubDate><guid>https://systemsgolive.com/post/amazon-efs-shared-storage-across-availability-zones/</guid><description>
EBS is fast and familiar, but it's tied to one instance in one AZ. This post walks through how Amazon EFS solves shared persistent storage across multiple EC2 instances and availability zones, including security group design, TLS mounting, and when to choose EFS over EBS or S3.</description></item><item><title>Building and Validating an AWS Backup Strategy with Resilience Hub</title><link>https://systemsgolive.com/post/aws-backup-resilience-hub-rto-validation/</link><pubDate>Fri, 29 May 2026 09:46:26 +0100</pubDate><guid>https://systemsgolive.com/post/aws-backup-resilience-hub-rto-validation/</guid><description>
A practical walkthrough of building a centralised AWS Backup strategy across EC2 and S3 with tiered retention and KMS encryption, paired with a formal resilience assessment using AWS Resilience Hub - including a measured EC2 RTO and a closed-loop recommendation workflow.</description></item><item><title>The Blameless Postmortem Mindset: Why Engineers Who Write Them Stand Out</title><link>https://systemsgolive.com/post/the-blameless-postmortem-mindset-why-engineers-who-write-them-stand-out/</link><pubDate>Sun, 08 Mar 2026 11:39:31 +0000</pubDate><guid>https://systemsgolive.com/post/the-blameless-postmortem-mindset-why-engineers-who-write-them-stand-out/</guid><description>
Fixing incidents is table stakes. What separates good engineers from exceptional ones is what happens after – the blameless postmortem. Learn why writing them well is one of the most underrated habits in infrastructure engineering, and how to do it properly.</description></item><item><title>How I Prepared Our Java Spring App Servers to Capture JVM Diagnostics During a CPU Spike</title><link>https://systemsgolive.com/post/jvm-diagnostics-java-spring/</link><pubDate>Sat, 07 Mar 2026 13:03:06 +0000</pubDate><guid>https://systemsgolive.com/post/jvm-diagnostics-java-spring/</guid><description>
A practical DevOps walkthrough on how to safely capture JVM heap dumps and thread dumps during a CPU spike on a Java Spring/Tomcat production server — using a shell script built around jmap, jstack, and jcmd.</description></item><item><title>LDAP Service Failure After VM Snapshot – Configuration Mismatch Resolution</title><link>https://systemsgolive.com/post/fixing-ldap-after-vm-snapshot/</link><pubDate>Tue, 03 Mar 2026 14:30:34 +0000</pubDate><guid>https://systemsgolive.com/post/fixing-ldap-after-vm-snapshot/</guid><description>
Resolving an OpenLDAP service failure on a VM snapshot — fixing hostname identity mismatches, loopback address issues, olcServerID with CRC32 recalculation, and removing leftover replication config from the source server.</description></item><item><title>Pi-hole and Unbound on Raspberry Pi 4: Private DNS and Network-Wide Ad Blocking</title><link>https://systemsgolive.com/post/pihole-unbound-raspberrypi-homelab/</link><pubDate>Sun, 01 Mar 2026 12:19:06 +0000</pubDate><guid>https://systemsgolive.com/post/pihole-unbound-raspberrypi-homelab/</guid><description>
Run Pi-hole and Unbound on a Raspberry Pi 4 to block ads and tracking domains across every device on your home network, while resolving DNS privately using a local recursive resolver — no third-party DNS provider required.</description></item><item><title>SELinux Context Mismatch: The Hidden Culprit in LDAP Certificate Renewal</title><link>https://systemsgolive.com/post/ldap-cert-renewal-selinux-context-issue/</link><pubDate>Wed, 28 Jan 2026 11:54:16 +0000</pubDate><guid>https://systemsgolive.com/post/ldap-cert-renewal-selinux-context-issue/</guid><description>
An internal LDAP certificate renewal failed due to incorrect SELinux contexts on transferred certificate files. Despite correct permissions and ownership, OpenLDAP couldn't initialise TLS. Using `restorecon` to fix the security context resolved the issue immediately, highlighting the importance of SELinux context verification in certificate deployments.</description></item><item><title>Case Study - Automating Let's Encrypt Wildcard Certificates with Cloudflare DNS and Full (Strict) TLS Encryption</title><link>https://systemsgolive.com/post/letsencrypt-wildcard-cloudflare-full-strict/</link><pubDate>Sat, 03 Jan 2026 23:32:31 +0000</pubDate><guid>https://systemsgolive.com/post/letsencrypt-wildcard-cloudflare-full-strict/</guid><description>
This article demonstrates how to implement Full (Strict) SSL/TLS encryption by combining Cloudflare's managed frontend certificates with Let's Encrypt wildcard certificates on your origin server.</description></item><item><title>Migrating from ANS to Cloudflare Load Balancer: Zero-Downtime DNS Cutover with Pre-Configuration Strategy</title><link>https://systemsgolive.com/post/ans-to-cloudflare-lb-migration-zero-downtime/</link><pubDate>Sun, 23 Nov 2025 11:44:31 +0100</pubDate><guid>https://systemsgolive.com/post/ans-to-cloudflare-lb-migration-zero-downtime/</guid><description>
How we migrated our production care management platform from ANS to Cloudflare Load Balancer — eliminating manual SSL certificate management that had caused a past outage, replacing an EOL HAProxy instance, and achieving zero downtime through a dummy hostname pre-configuration strategy and a planned 45-minute DNS cutover window.</description></item><item><title>HTTP/2 on Apache Behind HAProxy: Solving Health Check Failures with Dual-Port Architecture</title><link>https://systemsgolive.com/post/http2-apache-haproxy-health-check-dual-port/</link><pubDate>Sat, 04 Oct 2025 15:37:02 +0100</pubDate><guid>https://systemsgolive.com/post/http2-apache-haproxy-health-check-dual-port/</guid><description>
This case study demonstrates how we implemented HTTP/2 on production Apache servers with zero downtime using a blue-green deployment strategy.</description></item><item><title>TLS 1.3 with Ed25519 and a Private CA: End-to-End Encrypted Client-Server Communication</title><link>https://systemsgolive.com/post/tls-ed25519-private-ca-nginx-setup/</link><pubDate>Thu, 10 Jul 2025 11:37:03 +0100</pubDate><guid>https://systemsgolive.com/post/tls-ed25519-private-ca-nginx-setup/</guid><description>
This guide demonstrates how to set up secure TLS 1.3 communication using Ed25519 elliptic curve certificates and a private Certificate Authority (CA). It covers encrypted client-server communication with modern, efficient cryptographic standards — ideal for internal systems, microservices, and zero-trust network architectures.</description></item><item><title>MySQL User Profile Creation Guide</title><link>https://systemsgolive.com/post/mysql-user-profile-creation/</link><pubDate>Sat, 21 Jun 2025 16:52:43 +0100</pubDate><guid>https://systemsgolive.com/post/mysql-user-profile-creation/</guid><description>
Learn how to set up MySQL user accounts with role-based access profiles, secure configurations, and consistent privilege management across environments.</description></item><item><title>Standardised MySQL Access via SSH Tunnel for Workbench in Non-Production Environments</title><link>https://systemsgolive.com/post/mysql-workbench-ssh-tunnel-user/</link><pubDate>Sat, 21 Jun 2025 15:37:38 +0100</pubDate><guid>https://systemsgolive.com/post/mysql-workbench-ssh-tunnel-user/</guid><description>
A secure and standardised approach to accessing MySQL in non-production environments using SSH tunneling, with a focus on least privilege and improved access controls.</description></item><item><title>Configuration and Usage of Custom Apache 503 Error Pages for Web Application Instances</title><link>https://systemsgolive.com/post/custom-apache-503-error-pages/</link><pubDate>Mon, 05 May 2025 09:41:56 +0100</pubDate><guid>https://systemsgolive.com/post/custom-apache-503-error-pages/</guid><description>
This article outlines the implementation and usage of custom Apache 503 error pages on production Tomcat web application instances</description></item><item><title>Essential Linux Network Commands: A Practical Guide</title><link>https://systemsgolive.com/post/linux-network-commands/</link><pubDate>Tue, 04 Feb 2025 16:03:45 +0000</pubDate><guid>https://systemsgolive.com/post/linux-network-commands/</guid><description>
Network troubleshooting and configuration are crucial skills for Linux system administrators. This guide covers essential network commands for AlmaLinux/RHEL systems.</description></item><item><title>Dealing with False Ping Alerts in LogicMonitor: Building a Fallback Ping Monitoring Script for Production VMs</title><link>https://systemsgolive.com/post/implementating-backup-ping-monitoring-solution/</link><pubDate>Tue, 10 Sep 2024 16:44:01 +0100</pubDate><guid>https://systemsgolive.com/post/implementating-backup-ping-monitoring-solution/</guid><description>
On Friday 6th September 2024 at 21:31, we received an alert from LogicMonitor indicating one of our production web app servers (Tomcat#3) was down, with the message: "The host Tomcat#3 (i-xxxxxxx) is down". However, shortly after receiving the alert, we attempted to SSH into the VM and confirmed that the server was fully operational. But what did it go wrong?</description></item><item><title>Kubernetes - Zero Downtime Deployments: Blue/Green Strategy</title><link>https://systemsgolive.com/post/k8s-zero-downtime-deployments-blue-green-strategy/</link><pubDate>Mon, 09 Sep 2024 16:49:36 +0100</pubDate><guid>https://systemsgolive.com/post/k8s-zero-downtime-deployments-blue-green-strategy/</guid><description>
In this guide, I'll demonstrate a blue-green deployment strategy in Kubernetes using Deployments and Services. The goal is to achieve zero downtime by running two sets of pods: the current version (v1.0, blue) and the new version (v2.0, green). I'll also explain how to roll back from green to blue if necessary.</description></item><item><title>LogicMonitor: Understanding Why CPUBusyPercent Alert Was Not Triggered</title><link>https://systemsgolive.com/post/logicmonior-cpubusypercent-alert/</link><pubDate>Fri, 23 Aug 2024 22:05:29 +0100</pubDate><guid>https://systemsgolive.com/post/logicmonior-cpubusypercent-alert/</guid><description>
On 15th August 2024, an incident occurred where the `CPUBusyPercent` alert did not trigger for one of our Production MySQL Database VMs (DB01), despite the CPU being at 100% for seven minutes. This was unexpected since the threshold settings in LogicMonitor were supposed to trigger alerts under such conditions.</description></item><item><title>Logrotate Configuration Setup in AlmaLinux 8.9</title><link>https://systemsgolive.com/post/logrotate-configuration-setup/</link><pubDate>Tue, 20 Aug 2024 13:49:28 +0100</pubDate><guid>https://systemsgolive.com/post/logrotate-configuration-setup/</guid><description>
Logrotate helps manage log files by automatically rotating, compressing, and removing them when they become too large or outdated, preventing excessive disk space usage and ensuring system stability.</description></item><item><title>Flask App deployment into Amazon EKS, using CICD Pipeline with Jenkins and Argo CD</title><link>https://systemsgolive.com/post/flask-app-jenkins-cicd-argocd-k8s/</link><pubDate>Mon, 26 Feb 2024 21:00:49 +0000</pubDate><guid>https://systemsgolive.com/post/flask-app-jenkins-cicd-argocd-k8s/</guid><description>
This project showcases an end-to-end DevOps pipeline for deploying a basic Flask application using Jenkins Pipeline and GitOps (with ArgoCD) on an Amazon Elastic Kubernetes Service (EKS) cluster.</description></item><item><title>Building a simple REST API in Golang with MUX, PostgreSQL and Docker</title><link>https://systemsgolive.com/post/rest-api-golang-docker-postgresql/</link><pubDate>Fri, 09 Feb 2024 00:17:09 +0000</pubDate><guid>https://systemsgolive.com/post/rest-api-golang-docker-postgresql/</guid><description>
This project demonstrates building a basic REST API in Golang, implementing CRUD operations with a PostgreSQL database for data persistence. The application utilises Gorilla Mux for routing, PostgreSQL for the database, and Docker for containerisation.</description></item></channel></rss>