Writing · 61 articles
Articles
Guides on Kubernetes, Linux, AWS and DevSecOps, mirrored here from my Medium every time I publish.
-
Essential Linux Commands: The Toolkit Every Engineer Uses Daily
Episodes 01 and 02 built the mental model — the Unix philosophy, the filesystem, inodes, permissions. Now we build the muscle memory.
-
The Linux Filesystem: Everything Is a File, and Files Are Everything
In Episode 01 we introduced the Unix philosophy and got our first terminal session running. We mentioned one idea in passing that deserves its own episode: everything is a file .
-
Introduction to Linux: What It Is, Why It Rules the World, and How to Think Like a Linux Engineer
Here is a fact that surprises most people outside of tech: you have used Linux today. Almost certainly multiple times.
-
Production Hardening & Helm Charts: The Kubernetes Zero to Hero Finale
Ten episodes. Four bonus deep dives. One complete journey from “what is Kubernetes?” to running production workloads with full observability, access control, network isolation, and persistent storage.
-
Kustomize: Manage Kubernetes Configs Without the Template Hell
You’ve written clean Kubernetes manifests for your application. They work perfectly in development. Now you need to deploy to staging — same app, but fewer replicas, different resource limits, a different image tag,…
-
Monitoring Kubernetes with Prometheus & Grafana: Full Observability Stack from Scratch
We’ve built a lot over this series. Workloads running. Storage persisting. Traffic routing. Access controlled. Network isolated. But there’s one question we haven’t been able to answer with confidence:
-
Kubernetes Namespaces: The Art of Dividing One Cluster Into Many
If you’ve been following this series, you’ve seen namespaces mentioned constantly — kube-system, production, default. We've used them in NetworkPolicy, RBAC, and Services. But we've never stopped to give them the full…
-
Kubernetes RBAC & Security Fundamentals: Who Can Do What in Your Cluster
We’ve built a lot of capability over this series. Running workloads. Persisting data. Exposing services. Locking down network traffic. But there’s a dimension of security we haven’t addressed yet — and it’s the one…
-
Ingress Controllers & Load Balancing: One Entry Point to Rule Them All
In Episode 04, we exposed services to the outside world using the LoadBalancer Service type. It worked. But here's what we didn't say out loud: in a real microservices application with 10, 20, or 50 services, creating…
-
Kubernetes Network Policy: Locking Down Your Cluster Traffic
We briefly touched on NetworkPolicy back in Episode 04 when we introduced Services and pod networking. We showed a quick example and moved on. This bonus episode gives NetworkPolicy the full treatment it deserves —…
-
How to Set Up a Kubernetes Cluster on AWS EC2 Using kubeadm
Most engineers learning Kubernetes start with minikube or Docker Desktop — a single-node cluster on their laptop. That's perfect for learning concepts. But there comes a moment when you need to feel what a real…
-
Kubernetes Storage: PersistentVolumes, PVCs, and StatefulSets Explained
In Episode 05, we externalised configuration and secrets from our container images. Our applications are now cleanly separated from their environment. But there’s one more gap to close before we can run real production…
-
ConfigMaps & Secrets: Managing Configuration the Kubernetes Way
In Episode 04, we connected pods to the world with Services. Your applications can now find each other and receive external traffic. But they still have a problem most engineers don’t think about until it bites them in…
-
Kubernetes Services & Networking: How Pods Talk to the World
In Episode 03, we built confidence with Pods, ReplicaSets, and Deployments. You can now create workloads, roll updates, and watch Kubernetes self-heal in real time.
-
Pods, Deployments & ReplicaSets: The Holy Trinity of Kubernetes Workloads
In Episode 02, we mapped the architecture of a Kubernetes cluster — every component, what it does, and what breaks when it’s gone. If you haven’t read it, go back and start there. This episode builds directly on that…
-
Kubernetes Architecture Decoded: Every Component, Explained Simply
In Episode 1, we talked about what Kubernetes is and the pain it solves. If you haven’t read it yet, go start there — this article picks up right where that one left off.
-
Kubernetes Zero to Hero
Picture this: it’s 2 AM, your production service just crashed, and you’re frantically SSH-ing into servers to restart processes. Sound familiar? For years, this was just the job — the unglamorous, sleep-depriving…
-
Stop Fighting with Disk Partitions: Why Linux Volume Management Will Change Your Life
Picture this: It’s 2 AM. Your phone buzzes with alerts. The production database server is out of disk space. Users can’t log in. Transactions are failing. Revenue is literally evaporating with every passing second.
-
ngrok: Your Secret Weapon for Local Development Testing
You’re building a web app, and everything works perfectly on your machine. But then reality strikes: you need to test a webhook from Stripe, accept OAuth callbacks from GitHub, or let a teammate access your local…
-
VPS for Complete Beginners: Your Gateway to the Cloud
So you’ve been hearing about VPS hosting and wondering what all the fuss is about? Maybe you’re ready to move beyond basic shared hosting, or perhaps you’re curious about having your own piece of the internet to call…
-
The Magic IP: Understanding AWS Instance Metadata Service (169.254.169.254)
Every EC2 instance you launch on AWS has a secret knock. A special IP address that whispers configuration details, credentials, and identity information back to your application whenever you ask. That address is…
-
Mastering Kubernetes Networking and Policies: A Journey from Confusion to Clarity
If you’ve ever found yourself staring at a failed pod-to-pod connection, wondering why your services can’t talk to each other, you’re not alone. Kubernetes networking can feel like navigating a labyrinth — one moment…
-
Understanding Kubernetes Security Context: A Practical Guide
Kubernetes has become the de facto standard for container orchestration, but with great power comes great responsibility — especially when it comes to security. One of the most underutilized yet powerful security…
-
When a Caching Strategy Broke Elasticsearch: A DevOps War Story
The morning started like any other — until our monitoring systems lit up red.
-
Linux System Mastery: Disk, I/O, Memory, and Performance Management
Your server is slowing down. Your laptop fans kick into overdrive. You open the terminal, but then what? Without the right commands, you’re just guessing. With them, you become a system surgeon — able to diagnose…
-
Master Linux Networking: A Practical Guide to Essential Commands
You’re staring at your terminal. Your network is acting up. Or maybe you’re just curious about what’s happening under the hood of your Linux system. Either way, you’ve come to the right place. Linux networking commands…
-
Multistage Docker Builds: Beyond Smaller Images — A Security Imperative
When I first started containerizing applications, I was obsessed with image size. Every kilobyte mattered. I’d strip away dependencies, remove documentation, and employ every trick I could find to make containers…
-
Learning GitOps: The DevOps Revolution You’ve Been Waiting For
If you’ve been working in software development or operations for the past few years, you’ve probably heard the term “GitOps” floating around. Maybe you’re curious about it. Maybe you think it’s just another buzzword.…
-
Multipass: Your Gateway to Effortless Virtual Machines
If you’ve ever struggled with the complexity of setting up virtual machines or found yourself juggling multiple development environments, Multipass might just become your new favorite tool. Think of it as Docker for…
-
Mastering Kubernetes Volumes: A Comprehensive Guide for DevOps Engineers
Kubernetes has revolutionized how we deploy and manage containerized applications, but one challenge consistently trips up engineers: data persistence. Containers are ephemeral by nature — when they restart, any data…
-
Parallelism vs Concurrency: A JavaScript Developer’s Guide
If you’ve ever been confused about the difference between parallelism and concurrency, you’re not alone. These terms are often used interchangeably, but they represent fundamentally different concepts that every…
-
The Silent Killer: When Your Logs Tell a Different Story Than Your Monitoring
The realtime socket dashboard was green. All systems operational. No alerts firing. Everything looked perfect.
-
The ACID Test: Why Your Database Transactions Need These Four Magic Letters
Understanding the principles that keep your money safe and your data sane
-
API Security: The Forgotten Fortress in Your Architecture
Your API is the front door to your application’s most valuable assets. Yet, it’s often treated like an afterthought in the development process. Every year, millions of data breaches trace their roots back to poorly…
-
React Hooks: A Beginner’s Guide to Modern React
Unlock the power of functional components and write cleaner, more intuitive React code
-
CMD vs ENTRYPOINT in Docker: The Ultimate Guide to Container Instructions
Understanding the subtle but crucial differences that can make or break your containerization strategy
-
Mastering URL State Management in Next.js: A Complete Guide
State management is often the first challenge developers face when building React applications. While we typically reach for Redux, Zustand, or Context API, there’s a powerful, often overlooked state manager built…
-
Server Components vs Client Components: A Practical Guide to Next.js
If you learned React in 2022 or earlier, Next.js 14’s App Router might feel like learning React all over again. Components are now “Server Components” by default. The useState hook doesn't work anymore. You're seeing…
-
From Zero to Deployed: Building Your First Next.js App in 30 Minutes
You’ve heard the buzz about Next.js. Your Twitter feed is full of developers raving about it. Your favorite tech YouTubers won’t stop talking about it. But every time you think about learning it, you feel overwhelmed.…
-
Next.js for Beginners: Your Gateway to Modern Web Development
If you’ve been building React applications, you’ve probably experienced the setup fatigue. Configure webpack, set up routing, figure out SEO, optimize images, decide between client-side and server-side rendering… the…
-
Git Branch Strategies: Your Team’s Secret Weapon (And Why You’re Probably Doing It Wrong)
It’s 3 AM. Your production server is on fire. The hotfix you just pushed broke everything. Your lead developer is frantically typing in Slack: “WHO COMMITTED TO MAIN?!?”
-
The Clean Target Mystery: How a Single Azure DevOps Checkbox Consumed My Entire Day
TL;DR : Sometimes the simplest solutions hide behind the most frustrating bugs. A missing cleanTarget toggle in an Azure DevOps pipeline nearly drove me mad — until it didn’t.
-
The OWASP Top 10: Why Every DevOps Engineer Should Treat It as Their Security Bible
How a simple list became the foundation of modern application security in the DevOps era
-
The DevSecOps Engineer’s Field Guide: 10 Critical Security Threats You Can’t Afford to Ignore
In a world where a single vulnerability can cost millions and destroy reputations overnight, DevSecOps engineers stand as the guardians of digital infrastructure. But are you prepared for the battles ahead?
-
Git Pre-Commit Hooks: Your Code’s Quality Guardian
How a simple Git feature can transform your development workflow and catch bugs before they reach production
-
Demystifying AWS VPC: Your Complete Guide to IP Addressing and CIDR Notation
Stop overthinking network design and start building scalable cloud infrastructure with confidence
-
The Silent Guardian: How Dependabot and GitHub Actions Became My Development Superpower
Imagine deploying code on a Friday evening, only to wake up Saturday morning to find your application compromised by a vulnerability in a dependency you installed six months ago. This nightmare scenario is more common…
-
Illuminating the Dark: A Complete Guide to Monitoring Microservices with AWS X-Ray
Picture this: It’s 3 AM, and your distributed application is throwing errors. Users are complaining about slow response times, but your logs show everything is “fine.” Welcome to the microservices monitoring nightmare…
-
The Digital Fort Knox: Why Your Data Needs Protection Both Sleeping and Moving
How modern encryption keeps your information safe whether it’s stored in databases or flying across the internet
-
Mastering Multiple Git Profiles: The Developer’s Guide to Seamless Identity Management
Stop committing with the wrong email address and take control of your Git identity across all your projects
-
Mastering Dockerfile Best Practices: A Complete Guide to Container Excellence
Building efficient, secure, and maintainable Docker images that your future self will thank you for
-
Zero-Downtime OS Upgrades: Mastering EC2 Root Volume Replacement
How we engineered a bulletproof OS upgrade process using AWS’s Replace Root Volume feature with both console and CLI workflows
-
Why AWS RDS Proxy is Your Database’s Best Friend (And You Probably Don’t Know It)
How a simple proxy service can save your application from database disasters and slash your AWS bill
-
Stop Babysitting Your Apps: How Systemd Can Be Your 24/7 DevOps Assistant
Your applications crash at 3 AM. You’re not awake. Systemd is. Here’s how to make it your most reliable teammate.
-
The Digital Fort Knox: How AWS WAF Turns Your Web App Into an Impenetrable Fortress
The shocking truth about web attacks and the one AWS service that’s stopping hackers in their tracks
-
RBAC vs ABAC vs ACL: A Complete Guide to Access Control Models
Access control is the cornerstone of cybersecurity, determining who can access what resources within an organization. As systems become increasingly complex and distributed, choosing the right access control model…
-
Simplifying Complex Data Access with AWS S3 Access Points: A Strategic Guide for Modern Enterprises
How S3 Access Points are revolutionizing data governance, security, and scalability in cloud-first organizations
-
Nginx Security Hardening: A Complete Guide for Production Environments
Securing your Nginx deployment is crucial for protecting your web applications and data
-
Taming the Disk Space Monster: How I Optimized Our Azure DevOps Pipeline Without Breaking the Bank
A practical approach to handling disk usage spikes in growing repositories
-
API Gateways vs. Service Meshes: Choosing the Right Tool for Your Microservices Architecture
How these two pillars of cloud-native infrastructure solve different problems — and why you might need both.
-
Revolutionizing CI/CD Security: A Complete Guide to OpenID Connect in GitHub Actions
In the world of modern DevOps, security isn’t just an afterthought — it’s a fundamental requirement. Traditional approaches to authenticating GitHub Actions with cloud providers often rely on long-lived secrets,…