Writing

Thoughts on technology and development.

Read post →

VPC Resource Gateways — Implementation Patterns & Use Cases

Deep dive into VPC Resource Gateways: private RDS access across accounts, overlapping CIDR connectivity, centralized interface endpoints without Transit Gateway, and proxying to public SaaS domains.

Read post →

KEDA — Event-Driven Autoscaling on Kubernetes

Deep dive into KEDA (Kubernetes Event-Driven Autoscaler) — architecture, ScaledObject CRDs, CloudWatch scaler with EKS IRSA, load testing, and production considerations.

Read post →

From Ingress to Gateway API in AWS EKS

Why the Kubernetes Gateway API is replacing traditional Ingress on EKS — separation of concerns between platform and application teams, cleaner multi-tenant routing, and production-ready patterns with the AWS Load Balancer Controller.

Read post →

Karpenter on EKS — Automatic Node Provisioning at Scale

Why Karpenter has replaced Cluster Autoscaler as the default node scheduler on EKS — group-less scaling, built-in consolidation, and how to configure NodePools and EC2NodeClass for production workloads.

Read post →

How to Set Up Custom SSH Configurations for GitHub Projects

A step-by-step guide to managing multiple SSH keys for different GitHub projects using custom configurations.

Read post →

Terraform Interview Preparation Guide

Prepare for Terraform and IaC interview questions — state management, module design, CI/CD integration, and real-world infrastructure scenarios.

Read post →

Kubernetes Interview Preparation Guide

Ace your Kubernetes interview — cover architecture, networking, storage, security, and troubleshooting with curated questions and real-world scenarios.

Read post →

CI/CD Interview Preparation Guide

Master CI/CD interview questions — pipeline design, branching strategies, deployment patterns, and tooling comparisons for DevOps and platform engineering roles.

Read post →

AWS Interview Preparation Guide

Curated AWS interview questions and answers covering networking, compute, storage, security, and architecture — structured for cloud engineering interviews.

Read post →

SRE — Keeping the Lights On

Day two operations for reliable systems: monitoring, alerting, incident management, capacity planning, and the operational practices that keep services running.

Read post →

SRE — Humans and Organizations

How to structure SRE teams, build an SRE culture, and navigate the organizational challenges of implementing reliability engineering practices.

Read post →

SRE — What and Why

Site Reliability Engineering fundamentals: SLIs, SLOs, error budgets, toil reduction, and how SRE bridges the gap between development and operations.

Read post →

Implementing Grafana Alloy via Helm in Kubernetes

Deploy Grafana Alloy as a telemetry collection pipeline in Kubernetes — replace multiple agents with a single, flexible collector for metrics, logs, and traces.

Read post →

Mounting JSON Service Account Credentials via Kubernetes Secrets

Securely mount JSON service account key files into pods using Kubernetes Secrets — proper volume mounts, permissions, and rotation strategies.

Read post →

How Pod Disruption Budgets Work

Protect your Kubernetes workloads from voluntary disruptions — node drains, cluster upgrades, and spot instance preemptions — with properly configured PDBs.

Read post →

Kubernetes Control Plane Internals

What happens when you run kubectl apply? A deep dive into the Kubernetes control plane — API server, etcd, scheduler, and controller manager internals.

Read post →

Kubernetes Resource Naming Standardization

Establish consistent naming conventions for Kubernetes resources — namespaces, deployments, services, and labels — to improve discoverability and automation.

Read post →

Kubernetes CSI — Container Storage Interface

How the Container Storage Interface (CSI) enables pluggable storage in Kubernetes — from PersistentVolume provisioning to volume snapshots and resizing.

Read post →

Kubernetes Networking & CNI — How Container Networking Works

Deep dive into Kubernetes networking: the CNI specification, how Calico and Cilium implement pod networking, and the Linux primitives that make it all work.

Read post →

Cross-Namespace CronJob Centralization in Kubernetes

Centralize CronJob management across multiple namespaces using a controller pattern — schedule and monitor all your cluster's cron jobs from one place.

Read post →

Workload Identity & IRSA on EKS

Implement fine-grained IAM roles for Kubernetes pods using IAM Roles for Service Accounts (IRSA) on Amazon EKS — no more sharing instance profiles.

Read post →

AWS Well-Architected Framework — Production Reference

A practical guide to applying the AWS Well-Architected Framework's six pillars to real production workloads for security, reliability, and cost efficiency.

Read post →

How AWS PrivateLink Works

Deep dive into AWS PrivateLink architecture — how VPC endpoints route traffic privately without traversing the public internet, and when to use Interface vs Gateway endpoints.

Read post →

AWS Landing Zones — Control Tower, AFT & Enterprise Patterns

Design and deploy a multi-account AWS Landing Zone using Control Tower and AFT to enforce governance, security, and networking at scale.

Read post →

AWS FinOps — Cloud Financial Operations

Implement FinOps practices on AWS: cost allocation tags, budgeting, anomaly detection, savings plans, and building a cost-aware engineering culture.

Read post →

Egress Inspection with AWS Gateway Load Balancer

Implement centralized traffic inspection for outbound flows using AWS Gateway Load Balancer with third-party security appliances.

Read post →

Pre-commit & Policy-as-Code for Infrastructure

Shift-left infrastructure validation with pre-commit hooks and policy-as-code — catch misconfigurations before they reach production.

Read post →

EC2 Instance Scheduler — Automating Start/Stop to Reduce Costs

Implement automated scheduling for EC2 and RDS instances to shut down non-production resources during off-hours and cut cloud costs.

Read post →

IaC CI/CD: Terraform & Terragrunt Pipelines

Build automated CI/CD pipelines for infrastructure code — plan on PR, apply on merge, with Terragrunt for multi-environment DRY configurations.

Read post →

Terraform Best Practices & Core Principles

Production-grade Terraform practices: module design, state management, DRY configurations, remote backends, and collaboration workflows for infrastructure teams.

Read post →

Centralized VPC Endpoints & Private DNS Resolution

Design patterns for centrally managing AWS VPC Endpoints and private DNS resolution across multi-account, multi-VPC environments.

Read post →

Centralized Egress — Transit Gateway & NAT Gateway

Designing a scalable centralized egress architecture on AWS using Transit Gateway and NAT Gateway for outbound traffic from multiple VPCs.

Read post →

GitOps — Git as the Source of Truth

Implement GitOps with Argo CD or Flux — use Git as the single source of truth for declarative infrastructure and application configuration.

Read post →

IaC Paradigms, Patterns & Decisions

Understanding the foundations of Infrastructure as Code — declarative vs imperative, mutable vs immutable, and when to use Terraform, Pulumi, or CloudFormation.

Read post →

GitHub Actions — CI/CD Pipeline Reference

A comprehensive reference for building production-grade CI/CD pipelines with GitHub Actions — OIDC authentication, matrix builds, caching, and reusable workflows.

Read post →

DORA Metrics — Measuring Software Delivery Performance

Use the four DORA metrics — Deployment Frequency, Lead Time, MTTR, and Change Failure Rate — to measure and improve your software delivery performance.

Read post →

Build Once, Deploy Many

The fundamental CI/CD principle of immutable artifacts — build your application once, then promote the exact same artifact through all environments.

Read post →

Blue/Green Deployment Strategy

Zero-downtime deployments using blue/green patterns — run two identical environments and swap traffic instantly when the new version is verified.

Read post →

CI/CD — Best Practices & Core Principles

Production-proven CI/CD patterns: fail-fast pipelines, trunk-based development, artifact promotion, immutable builds, and deployment strategies.

Read post →

CI/CD Paradigms, Concepts & Philosophies

Understanding the foundational concepts behind CI/CD — continuous integration, continuous delivery, and continuous deployment — and when to use each.

Read post →

Migrating to GKE Workload Identity

Replace static service account keys with GKE Workload Identity — federate Kubernetes service accounts with Google Cloud IAM for secure, automated credential management.

Read post →

Pod Disruption Budgets in GKE with Spot VMs

Best practices for configuring Pod Disruption Budgets on GKE when using Spot VMs to balance cost savings with workload reliability.

Read post →

Git Branching Strategy & Workflow Guide

A practical guide to Git branching strategies — trunk-based development, Git Flow, and GitHub Flow — and how to choose the right one for your team.

Read post →

Setting Up a MongoDB Replica Set

Step-by-step guide to deploying a production MongoDB replica set — automatic failover, read scaling, and data redundancy for high availability.

Read post →

Split-Horizon DNS Forwarding (BIND9, dnsmasq, Unbound)

Configure split-horizon DNS to resolve internal and external hostnames differently — essential for hybrid cloud and multi-network environments.

Read post →

MongoDB Monitoring with Prometheus and Grafana

Complete guide to setting up mongodb_exporter for monitoring MongoDB performance and health using Prometheus and Grafana.

Read post →

Repository Naming Conventions Best Practices

A comprehensive guide to establishing clear and consistent naming conventions for repositories to enhance collaboration and code discoverability.

Read post →

Docker Multi-stage Builds for 6 Languages

Production-ready multi-stage Dockerfiles for Go, Python, Java, Laravel (PHP), Ruby on Rails, and Vue.js — reduce image size by 80-98%.

Read post →

MikroTik Firewall Automation with Express.js

Build an Express.js microservice to automate MikroTik firewall rules via REST API — dynamic IP whitelisting for CI/CD runners with 30-min TTL.

Read post →

WireGuard Setup: Server + Client

Deploy a WireGuard VPN server and connect clients on Ubuntu/Debian — complete guide covering key generation, server/client configs, split tunneling, and troubleshooting.

Read post →

CI/CD Pipeline Automation

How to set up an efficient CI/CD pipeline for your projects.