<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Prudhvi Raj Anupoju — Cloud Platform Case Studies &amp; Learning Paths</title>
    <link>https://anupojuprudhvi.github.io/case-studies/</link>
    <description>Enterprise cloud architecture case studies and hands-on learning paths covering governance, resilience, Kubernetes, Terraform, migration, and cost optimization.</description>
    <language>en</language>
    <atom:link href="https://anupojuprudhvi.github.io/feed.xml" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Thu, 15 Oct 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Before AI: How I Worked Without It</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/01-before-ai.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/01-before-ai.html</guid>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
      <description>Where the story starts. A DevOps engineer, a failing pipeline, and a dozen browser tabs. How I solved problems before AI, the three things that ate my time, and why you should write down your own starting point before you judge what AI changes.</description>
      <category>My AI Journey: From Copy-Paste to Agentic Workflows</category>
    </item>
    <item>
      <title>First Conversations: Trying ChatGPT in Late 2022</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/02-first-chatgpt-conversations.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/02-first-chatgpt-conversations.html</guid>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
      <description>Late 2022. I typed a technical question into ChatGPT and got back one clear, confident answer instead of a list of links. It felt like a shortcut, until the first confident answer turned out to be wrong. The habit that came from it is the one I still use every day.</description>
      <category>My AI Journey: From Copy-Paste to Agentic Workflows</category>
    </item>
    <item>
      <title>The Copy-Paste Loop: Debugging by Hand (2023 to Mid 2024)</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/03-the-copy-paste-loop.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/03-the-copy-paste-loop.html</guid>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
      <description>For about eighteen months I used AI on and off, almost always the same way. Paste the error, copy the fix back, run it, paste the next error. Why that loop sometimes worked, why it often went round in circles, and the lesson behind every chapter after it, that context is the job.</description>
      <category>My AI Journey: From Copy-Paste to Agentic Workflows</category>
    </item>
    <item>
      <title>AI as a Co-Worker: Debugging Together (Late 2024 to Early 2025)</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/04-ai-as-a-co-worker.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/04-ai-as-a-co-worker.html</guid>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
      <description>The turning point. I stopped pasting errors and started explaining problems, the way I would to a colleague. AI went from a patch machine to a debugging partner that suggests causes, explains unfamiliar logs, and argues back. What changed, the brief I now give it, and why I still own the fix.</description>
      <category>My AI Journey: From Copy-Paste to Agentic Workflows</category>
    </item>
    <item>
      <title>AI as a Writer: Documentation That Finally Gets Done (Mid 2025)</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/05-ai-as-a-writer.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/05-ai-as-a-writer.html</guid>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
      <description>Documentation was always the thing I put off. In mid 2025 that changed. I bring the facts, AI brings the structure and the first draft, and I check every line. Runbooks, guides, and design notes that used to wait for &quot;later&quot; started getting written, and the training material and learning paths on this site came out of the same habit.</description>
      <category>My AI Journey: From Copy-Paste to Agentic Workflows</category>
    </item>
    <item>
      <title>AI as a Planner: Breaking Down Big Work and Cutting Cloud Cost (Late 2025 to Early 2026)</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/06-ai-as-a-planner.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/06-ai-as-a-planner.html</guid>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
      <description>As an architect, the hardest part of a project is often the first week, reading a long, complex requirement and turning it into a plan. From late 2025 I used AI to read with me, break big work into a work breakdown structure (WBS) of small tasks, and look for cloud cost savings. The method, and why the decisions stay with me.</description>
      <category>My AI Journey: From Copy-Paste to Agentic Workflows</category>
    </item>
    <item>
      <title>Compliant by Design: An Agentic Workflow for Platform Code (Late 2025)</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/07-compliant-by-design.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/07-compliant-by-design.html</guid>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
      <description>Late 2025, the biggest step so far. Instead of asking AI for snippets, I designed a workflow where an AI agent delivers whole pieces of platform code, and the rules it must follow (naming, tagging, security checks, tests, and review) are built into the workflow itself. Compliance stopped being a check at the end and became the way the code is written.</description>
      <category>My AI Journey: From Copy-Paste to Agentic Workflows</category>
    </item>
    <item>
      <title>Context for Agents: AGENTS.md, Skills, and MCP (February 2026)</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/08-agents-md-skills-and-mcp.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/08-agents-md-skills-and-mcp.html</guid>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
      <description>In February 2026 I started giving agents context the proper way. AGENTS.md is the onboarding note every agent reads first. Skills are step-by-step procedures it loads when a task needs them. MCP connects it to tools and data. Hooks turn the most important rules into checks it can't skip. A tour, using the setup behind this very website.</description>
      <category>My AI Journey: From Copy-Paste to Agentic Workflows</category>
    </item>
    <item>
      <title>Writing the Standards: Platform Docs, ADRs, and Changelogs (Mid 2026)</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/09-writing-the-standards.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/09-writing-the-standards.html</guid>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
      <description>By mid 2026 the loop closed. Agents work best from written standards, so I started using AI to help write the standards themselves, a complete documentation set for a platform. Enterprise platform guides, architecture decision records (ADRs) that capture why, and changelogs that say what changed. How I write them with AI, and why they now serve people and agents alike.</description>
      <category>My AI Journey: From Copy-Paste to Agentic Workflows</category>
    </item>
    <item>
      <title>Building Web Apps for SOC Compliance, with a Full Security Audit (Mid 2026)</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/10-building-for-soc-compliance.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/10-building-for-soc-compliance.html</guid>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
      <description>The last step of the journey so far. By mid 2026 I was building whole web applications with AI agents. An HR management tool with SOC-style controls designed in from the start, and a PDF product that went through a full security audit, which found a critical bug that everyday testing never would have.</description>
      <category>My AI Journey: From Copy-Paste to Agentic Workflows</category>
    </item>
    <item>
      <title>Where I Am Now, and Where You Could Start</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/11-where-i-am-now.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/my-ai-journey/11-where-i-am-now.html</guid>
      <pubDate>Tue, 06 Oct 2026 00:00:00 GMT</pubDate>
      <description>Four years after my first ChatGPT question, AI is part of nearly everything I do as a DevOps architect: debugging, writing, planning, delivering platform code, and building apps. How my work changed against the baseline from Chapter 01, what didn't change at all, and a simple way to find your own next step.</description>
      <category>My AI Journey: From Copy-Paste to Agentic Workflows</category>
    </item>
    <item>
      <title>Base, Composition &amp; Environment: A Three-Layer Module Standard</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/terraform/07-base-composition-and-environment-modules.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/terraform/07-base-composition-and-environment-modules.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Split reusable modules into base modules that build one component and composition modules that wire a whole solution together, so environments differ only in their values. Worked through on an AWS Glue and S3 data pipeline.</description>
      <category>Terraform for Enterprise Production</category>
    </item>
    <item>
      <title>Naming, Tagging &amp; Provider Versions Across a Module Tree</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/terraform/08-naming-tagging-and-provider-versions.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/terraform/08-naming-tagging-and-provider-versions.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>The conventions that make a module codebase look like one team wrote it. A naming pattern, a tagging standard split between provider default_tags and module inputs, and provider version constraints that agree all the way down the module tree.</description>
      <category>Terraform for Enterprise Production</category>
    </item>
    <item>
      <title>The Change Workflow &amp; Module Testing</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/terraform/09-change-workflow-and-module-testing.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/terraform/09-change-workflow-and-module-testing.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>How a change moves from a laptop to a running environment. Format, validate, a saved plan that is reviewed and then applied exactly, the order to touch base, composition, and environment code, and module tests with terraform test and Terratest.</description>
      <category>Terraform for Enterprise Production</category>
    </item>
    <item>
      <title>ADRs &amp; Changelogs: Recording Why the Infrastructure Looks This Way</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/terraform/10-adrs-and-changelogs.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/terraform/10-adrs-and-changelogs.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Code shows what the infrastructure is; it can't show why. Architecture decision records with a real Options Considered section, a changelog per environment, and the list of changes that must leave a decision behind.</description>
      <category>Terraform for Enterprise Production</category>
    </item>
    <item>
      <title>The Module Promotion Gate: Scan Before You Wire</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/terraform/11-module-promotion-gate.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/terraform/11-module-promotion-gate.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>No module reaches an environment until it has been scanned on its own, every finding fixed or justified, and a second person has approved it. Then it is scanned again once wired in. The gate step by step, how CI enforces it, and the whole delivery process end to end.</description>
      <category>Terraform for Enterprise Production</category>
    </item>
    <item>
      <title>Why Kubernetes Exists, Starting from a Single Container</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/01-why-kubernetes.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/01-why-kubernetes.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Start here if Kubernetes is new to you. What a container is, in five minutes, then the problems that appear once you run many containers across many machines, and how Kubernetes solves them. Plus an honest look at when you don't need it.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Your First Cluster: A Free Local Lab with kind</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/02-your-first-cluster.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/02-your-first-cluster.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Build a real, multi-node Kubernetes cluster on your own laptop with kind, at no cost. Run an app, reach it from your browser, delete a pod and watch Kubernetes replace it, scale it up, look inside it, and clean up. This lab is used throughout Parts 1 and 2.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Reading Kubernetes YAML and Working with kubectl</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/03-kubernetes-yaml-and-kubectl.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/03-kubernetes-yaml-and-kubectl.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Every Kubernetes object is written the same way. Learn the four fields every manifest has, just enough YAML to read and write them, how labels and selectors connect objects, namespaces, the difference between imperative commands and kubectl apply, and the kubectl commands you'll use every day.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Storage &amp; Other Workload Types: Data That Outlives a Pod</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/07-storage-and-workload-types.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/07-storage-and-workload-types.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>A pod's files disappear with the pod. How volumes, PersistentVolumeClaims, and StorageClasses give an app storage that survives restarts, how StatefulSets run apps that need a stable identity, and when to use a DaemonSet, Job, or CronJob instead of a Deployment.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Packaging Apps with Helm and Kustomize</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/09-helm-and-kustomize.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/09-helm-and-kustomize.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Real apps need the same manifests in several environments, with small differences, and most cluster software ships as a package. How Kustomize layers environment changes over a shared base, how Helm installs and upgrades packaged charts, and when to use each.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Kubernetes on Amazon EKS: What AWS Runs, and What Changes</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/10-kubernetes-on-eks.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/10-kubernetes-on-eks.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Everything from the core concepts still applies on EKS. What changes is who runs the control plane, where pod IP addresses come from, how you sign in, and how traffic gets in from the internet. This module maps each of those, then walks through a small EKS lab you can create and delete.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Shell Survival: Your First Hour on a Linux Server</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/01-shell-survival.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/01-shell-survival.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Start here. Set up a free Ubuntu lab VM you're allowed to break, then learn to move around, read files and logs, chain commands with pipes, and use exit codes to tell whether a command really worked.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Text Processing: grep, awk, sed, and Friends</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/02-text-processing.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/02-text-processing.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Logs, configs, and command output are all text, so the fastest way to answer questions on a server is to filter, count, and reshape text. Learn grep, awk, sed, sort, and uniq on a web server log, then find, xargs, and jq.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Files, Inodes &amp; Permissions</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/03-files-and-permissions.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/03-files-and-permissions.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Where things live on a Linux system, what a file really is underneath its name, and exactly how read, write, and execute work on files and on directories. Build a shared team folder, then fix a &quot;Permission denied&quot; that chmod 777 can't fix.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Users, sudo &amp; SSH</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/04-users-sudo-and-ssh.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/04-users-sudo-and-ssh.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Who you are on a Linux system and what you're allowed to do. Users and groups, narrow sudo rules, key-based SSH through a jump host, and changing the SSH server's settings without locking yourself out. Then fix a key login that the server keeps refusing.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Packages, Repositories &amp; Where Software Lives</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/05-packages-and-repositories.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/05-packages-and-repositories.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>How Linux installs software. What a package is, apt and dnf side by side, adding a signed third-party repository, finding which package owns a file, holding versions, and upgrading safely. Then fix a server where every apt command fails.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>The Boot Process: From Power-On to Login</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/06-boot-process.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/06-boot-process.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>What happens between pressing the power button and a login prompt: firmware, GRUB, the kernel, initramfs, and systemd. Read a server's boot history, find what slowed it down, and catch a bad /etc/fstab line before a reboot turns it into an outage.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>systemd: Services, Timers &amp; Logs</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/07-systemd-and-services.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/07-systemd-and-services.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Almost everything long-running on a modern Linux server is a systemd service. Turn a small Python app into a hardened service, change it safely with drop-in overrides, replace a cron job with a timer, and read its logs with journalctl. Then fix a service that keeps restarting and failing.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Processes, Signals &amp; File Descriptors</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/08-processes-and-signals.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/08-processes-and-signals.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Every running program is a process with an ID, a parent, a state, and a set of open files. Learn to read process states (including the D and Z states that confuse people), stop processes the right way with signals, and fix a service that crashes with &quot;Too many open files&quot;.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Memory, the Page Cache &amp; the OOM Killer</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/09-memory-and-the-oom-killer.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/09-memory-and-the-oom-killer.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Why &quot;free memory&quot; is nearly always low on a healthy server, which number actually matters, how swap and memory limits work, and what the kernel does when memory runs out. Then find the out-of-memory kill behind a job that dies without leaving a single error in its own log.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Storage, Filesystems &amp; LVM</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/10-storage-and-filesystems.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/10-storage-and-filesystems.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Disks, partitions, filesystems, and mounts, and how to find what's filling a disk. Build an LVM volume and grow it while it's in use, then solve the classic puzzle where df says the disk is full but du can't find the files.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Networking Basics: Addresses, Routes, Ports &amp; TCP</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/11-networking-basics.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/11-networking-basics.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>How a Linux server talks to the network. IP addresses and CIDR, routing, ports and sockets, the TCP handshake and connection states, and the difference between &quot;connection refused&quot; and a timeout. Then fix a service that works locally but refuses every connection from outside.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>DNS, Firewalls &amp; Packet Capture</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/12-dns-firewalls-and-packets.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/12-dns-firewalls-and-packets.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Follow a name lookup from an application through /etc/hosts and systemd-resolved to a DNS server, see how a firewall decides between a timeout and &quot;connection refused&quot;, and watch real packets with tcpdump. Then fix a lookup where dig gives the right answer but every application gets the wrong one.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>A Troubleshooting Method: From Symptom to Root Cause</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/13-troubleshooting-method.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/13-troubleshooting-method.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Guessing works until it doesn't. Learn a repeatable way to go from &quot;the server is slow&quot; to a root cause: define the symptom, ask what changed, check every resource with the USE method, and run a 60-second checklist that finds most problems. Then diagnose a high load average on a server whose CPUs are idle.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Seeing Inside a Process: strace, lsof &amp; eBPF</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/14-debugging-tools.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/14-debugging-tools.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>When logs say nothing, watch what the program actually does. Trace system calls with strace, list open files and connections with lsof, and get a first taste of eBPF tools that watch the whole system safely. Then find out why a service is &quot;running&quot; but has done nothing for ten minutes.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Logs, Log Rotation &amp; Monitoring</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/15-logs-and-monitoring.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/15-logs-and-monitoring.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Logs tell you what happened; metrics tell you something is about to. Query the journal well, keep logs from filling the disk with journald limits and logrotate, ship them off the server, and expose system metrics with node_exporter. Then fix a log that never rotates.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Containers from Scratch: Namespaces, cgroups &amp; Overlay Filesystems</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/16-containers-from-scratch.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/16-containers-from-scratch.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>A container isn't a small virtual machine. It's an ordinary Linux process with a restricted view of the system. Build one by hand with namespaces, a cgroup, and an overlay filesystem, then find the same pieces inside a real Docker container, and fix containers that suddenly can't reach the internet.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Security Hardening, AppArmor &amp; TLS</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/17-security-and-hardening.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/17-security-and-hardening.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Make a fresh server harder to break into and easier to investigate. Reduce what's exposed, set up a default-deny firewall, audit sensitive files, read AppArmor and SELinux denials instead of switching them off, and check TLS certificates and time sync. Then fix a server where every HTTPS call suddenly fails.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Automation: Safe Bash, cloud-init &amp; Ansible</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/18-automation-and-scripting.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/18-automation-and-scripting.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Anything you do on a server twice should be written down as code. Write Bash scripts that fail safely and can run again without harm, configure servers at first boot with cloud-init, and describe a server's desired state with Ansible. Then fix a script that works by hand but fails every night in cron.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Performance &amp; Kernel Tuning</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/19-performance-and-tuning.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/19-performance-and-tuning.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Tuning starts with measuring, not with a list of settings copied from the internet. Load-test a web server, change one thing at a time, and learn the kernel settings that genuinely matter for busy servers, container hosts, and Kubernetes nodes. Then find why connections drop at random under load.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Capstone: An Incident with Three Unknown Faults</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/20-capstone-incident.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/20-capstone-incident.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>Put the whole track together. Build a three-tier shop (nginx, a Python app, and PostgreSQL), save a snapshot, then inject three random faults you haven't seen. Restore service working from the outside in, find every root cause, prove it survives a reboot, and write a blameless postmortem.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Incident Review: SSH Worked by Hand but Failed for the Service</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/21-incident-ssh-fails-for-service.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/21-incident-ssh-fails-for-service.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>A batch ETL job stopped fetching files over SSH after a move to RHEL 8, while SSH from a terminal on the same server worked fine. Four separate faults were stacked on top of each other inside the job's SSH library. How they were peeled back one at a time, without weakening the SSH server.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Incident Review: A Service Blocked by a Kernel Semaphore Limit</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/22-incident-kernel-semaphore-limit.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/22-incident-kernel-semaphore-limit.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>An application service refused to start on RHEL 8 because the kernel's semaphore limit was lower than it needed, and its start-up script wasn't allowed to raise the limit itself. Why that write failed, and why the right fix belongs in the operating system's configuration, not in the service.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Incident Review: PostgreSQL Locked Out of Its Own Config File</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/23-incident-postgresql-config-ownership.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/23-incident-postgresql-config-ownership.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>A PostgreSQL instance stopped at start-up with &quot;could not load pg_hba.conf - Permission denied&quot;. The cause was one flag in a start-up script, cp -p, faithfully copying the wrong owner from a template on every start. Why fixing only the live file would have brought the outage back.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Incident Review: Two Faults Behind One Failed Daemon</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/24-incident-two-faults-one-daemon.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/24-incident-two-faults-one-daemon.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>A back-end daemon wouldn't start, and there were two unrelated reasons at once. Its connection pooler was still pointing at another environment's database, and a change to run it as a non-root user left it unable to create shared memory. Why fixing only one of them would have looked like the fix didn't work.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>Incident Review: &quot;trust&quot; Authentication Failed, Through a Unix Socket</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/25-incident-trust-authentication-failed.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/linux-for-devops/25-incident-trust-authentication-failed.html</guid>
      <pubDate>Thu, 01 Oct 2026 00:00:00 GMT</pubDate>
      <description>After a database moved behind a connection pooler, a batch job's maintenance steps started failing with &quot;trust&quot; authentication failed. The job ran psql with no host and no user, so psql quietly chose a Unix socket and the job's Linux account name. How two silent defaults turned into an outage, and two tested ways to fix it.</description>
      <category>Linux for DevOps: From First Terminal to On-Call Troubleshooting</category>
    </item>
    <item>
      <title>How a Kubernetes Cluster Actually Works</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/04-how-a-cluster-works.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/04-how-a-cluster-works.html</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <description>The mental model everything else builds on. You declare the state you want, and controllers keep working to make it true. This module covers the parts of a cluster and what happens, step by step, when you run kubectl apply.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Pods, Deployments &amp; Rollouts: How Your App Actually Runs</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/05-pods-deployments-and-rollouts.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/05-pods-deployments-and-rollouts.html</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <description>The objects you'll write every day. Pods wrap your containers, Deployments keep the right number running and replace them safely, and probes tell Kubernetes when a container is really ready. Plus configuration, and a rolling update step by step.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Services &amp; Cluster Networking: How Traffic Finds Your Pods</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/06-services-and-cluster-networking.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/06-services-and-cluster-networking.html</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <description>Pods come and go with new IP addresses, so nothing should talk to a pod directly. How Services give a stable name and address, how cluster DNS and kube-proxy route each request, the Service types, and how an Ingress brings traffic in from outside the cluster.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Namespaces, RBAC &amp; Service Accounts: Who Can Do What</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/08-namespaces-rbac-and-cluster-access.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/08-namespaces-rbac-and-cluster-access.html</guid>
      <pubDate>Tue, 29 Sep 2026 00:00:00 GMT</pubDate>
      <description>How a kubectl command is checked before it's allowed. Authentication says who you are, RBAC decides what you may do, and namespaces set the scope. Covers Roles and RoleBindings, the built-in roles, service accounts for pods, and checking permissions safely.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>The Platform Add-on Layer: What Every Cluster Needs Before Apps Arrive</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/12-platform-add-ons.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/12-platform-add-ons.html</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>The small set of add-ons a new EKS cluster needs before any application can run well (load balancing, DNS, metrics, autoscaling, logs, storage), each with its own IAM role, installed in a way you can repeat safely.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Workload Identity &amp; Secrets: How Pods Get AWS Access</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/13-workload-identity-and-secrets.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/13-workload-identity-and-secrets.html</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Giving each workload its own narrowly scoped AWS permissions with EKS Pod Identity or IRSA, instead of sharing the node's role, and getting secrets into pods without putting them in Git or container images.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>GitOps with Argo CD: Git as the Source of Truth</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/16-gitops-with-argo-cd.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/16-gitops-with-argo-cd.html</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Letting Argo CD keep each cluster matching what's in Git, so a deploy is a reviewed pull request, drift gets fixed automatically, and rolling back means reverting a commit.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Scaling Without Surprises: Requests, Autoscaling &amp; Cost</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/17-scaling-requests-and-cost.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/17-scaling-requests-and-cost.html</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Why resource requests drive almost everything in an EKS cluster (scheduling, autoscaling, and the bill), how pod and node autoscaling work together, and how to keep scale-down safe.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Observability: Knowing Something's Wrong Before Users Do</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/18-observability-and-alerting.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/18-observability-and-alerting.html</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>What to collect from an EKS cluster (logs, metrics, and cluster state), which few signals deserve an alert, and how to set alerts that wake people for real problems only.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Cluster Upgrades Without Drama</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/20-cluster-upgrades.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/20-cluster-upgrades.html</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>How to upgrade EKS one version at a time: check for removed APIs first, then upgrade the control plane, add-ons, and nodes, in an order that keeps workloads running.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Moving 1.48 million S3 objects in 54 minutes instead of 8+ hours</title>
      <link>https://anupojuprudhvi.github.io/case-studies/tolling/s3-large-scale-bucket-migration.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/tolling/s3-large-scale-bucket-migration.html</guid>
      <pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate>
      <description>Moving 225 GB of data across 1.48 million small objects between same-region S3 buckets, cutting transfer time from 8+ hours to 54 minutes using high-concurrency tooling on existing in-region compute.</description>
      <category>Data &amp; storage</category>
    </item>
    <item>
      <title>An AI-assisted HRMS tool: leave, attendance, timesheets, and policy answers in one place</title>
      <link>https://anupojuprudhvi.github.io/case-studies/independent-products/ai-assisted-hrms-tool.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/independent-products/ai-assisted-hrms-tool.html</guid>
      <pubDate>Thu, 24 Sep 2026 00:00:00 GMT</pubDate>
      <description>A simple HR management tool I built with AI coding tools. It covers leave, attendance, shifts, timesheets, the org chart, company assets, and policy documents, and a built-in assistant handles everyday requests in plain language and answers policy questions by quoting the handbook, with the page.</description>
      <category>Product engineering</category>
    </item>
    <item>
      <title>HL7 device-interoperability engine for remote monitoring</title>
      <link>https://anupojuprudhvi.github.io/case-studies/healthcare/hl7-device-interoperability-engine.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/healthcare/hl7-device-interoperability-engine.html</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <description>A dedicated integration tier translating proprietary medical-IoT telemetry into standardized HL7 and JSON for clinical systems and a partner hospital network.</description>
      <category>Applications &amp; integration</category>
    </item>
    <item>
      <title>Decoupled real-time analytics for clinical telemetry</title>
      <link>https://anupojuprudhvi.github.io/case-studies/healthcare/real-time-clinical-analytics-pipeline.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/healthcare/real-time-clinical-analytics-pipeline.html</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <description>Streaming physiological telemetry into a real-time OLAP store so care teams can query months of patient vitals without touching the operational database.</description>
      <category>Data &amp; storage</category>
    </item>
    <item>
      <title>Zero-public-ingress network architecture for HIPAA</title>
      <link>https://anupojuprudhvi.github.io/case-studies/healthcare/zero-public-ingress-network-security.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/healthcare/zero-public-ingress-network-security.html</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <description>A network design where no compute or database resource has a public IP, engineering access is mutual-TLS VPN only, and the CDN is tuned for clinical apps.</description>
      <category>Networking &amp; security</category>
    </item>
    <item>
      <title>CI/CD delivery pipeline for a regulated healthcare platform</title>
      <link>https://anupojuprudhvi.github.io/case-studies/healthcare/ci-cd-delivery-pipeline-for-regulated-healthcare.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/healthcare/ci-cd-delivery-pipeline-for-regulated-healthcare.html</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <description>A GitFlow-to-Kubernetes pipeline with per-branch promotion gates, headless registry authentication, and deployment lead time cut from hours to minutes.</description>
      <category>Platform &amp; delivery</category>
    </item>
    <item>
      <title>21-node Oracle RAC cluster on AWS without shared-SAN storage</title>
      <link>https://anupojuprudhvi.github.io/case-studies/enterprise-infrastructure/oracle-rac-cluster-on-aws.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/enterprise-infrastructure/oracle-rac-cluster-on-aws.html</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <description>A 21+ node Oracle RAC cluster running active-active database failover on AWS, built around software-defined clustered storage to work around AWS's lack of native shared-SAN block storage.</description>
      <category>Data &amp; storage</category>
    </item>
    <item>
      <title>Distributed S3-compatible storage spanning AWS, on-prem VMware, and OpenStack</title>
      <link>https://anupojuprudhvi.github.io/case-studies/enterprise-infrastructure/hybrid-object-storage-platform.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/enterprise-infrastructure/hybrid-object-storage-platform.html</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <description>A self-hosted distributed object storage layer unifying backups, ERP media, and mail archives across a public cloud, an on-prem data center, and a private OpenStack cloud behind one S3 API.</description>
      <category>Data &amp; storage</category>
    </item>
    <item>
      <title>Automated sub-3-minute failover for enterprise mail infrastructure</title>
      <link>https://anupojuprudhvi.github.io/case-studies/enterprise-infrastructure/mail-disaster-recovery-automation.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/enterprise-infrastructure/mail-disaster-recovery-automation.html</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <description>An automated EC2 failover system for a single-instance enterprise mail platform, cutting recovery time from 4+ hours of manual recovery to under 3 minutes, paired with tiered S3 backups and DNS-authenticated delivery.</description>
      <category>Resilience &amp; DR</category>
    </item>
    <item>
      <title>Hardening a solo-built PDF product, end to end, with AI-agent-assisted engineering</title>
      <link>https://anupojuprudhvi.github.io/case-studies/independent-products/solo-saas-hardening-ai-agentic-engineering.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/independent-products/solo-saas-hardening-ai-agentic-engineering.html</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <description>Taking a PDF product I built alone from a serverless deployment that didn't run to a self-audited, self-hosted app about 93% lighter, using AI coding tools under strict written rules.</description>
      <category>Product engineering</category>
    </item>
    <item>
      <title>Multi-Environment Clusters &amp; EKS Access Entries</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/11-multi-environment-clusters-and-access-entries.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/11-multi-environment-clusters-and-access-entries.html</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <description>Isolating Dev, QA, Staging, and Production as separate clusters, and granting people and pipelines cluster access with EKS access entries instead of a shared superuser.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Dual Ingress Architecture &amp; Its Cost Mechanics</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/14-ingress-architecture-and-cost.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/14-ingress-architecture-and-cost.html</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <description>When to route traffic through a shared ALB versus a separate ingress controller, why grouping services onto one load balancer is a real saving, and where Gateway API fits now that ingress-nginx is retired.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Container Delivery: Build, Tag, Push, Promote</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/15-container-delivery-to-eks.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/15-container-delivery-to-eks.html</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <description>Build an image once and promote that exact image to each environment, using immutable tags and digests, plus the registry login detail that only breaks once a pipeline, not a person, runs the command.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Day-2 Operations &amp; Incident Triage</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/19-incident-triage.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/kubernetes-operations/19-incident-triage.html</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <description>Switching cluster context safely, verifying a rollout actually succeeded instead of assuming it did, and a repeatable sequence for triaging a stuck deployment.</description>
      <category>Kubernetes from Zero to Production on Amazon EKS</category>
    </item>
    <item>
      <title>Modernizing a telecom database with a controlled cutover</title>
      <link>https://anupojuprudhvi.github.io/case-studies/telecom/aurora-global-database-modernization.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/telecom/aurora-global-database-modernization.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Combining schema and client compatibility work, continuous replication, and local connection pooling to move a legacy telecom database tier to Aurora.</description>
      <category>Data &amp; storage</category>
    </item>
    <item>
      <title>Automating telecom failover, preserving licensed identity</title>
      <link>https://anupojuprudhvi.github.io/case-studies/telecom/serverless-ha-failover-engine.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/telecom/serverless-ha-failover-engine.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Bringing recovery orchestration, service validation, and hardware-bound licensing into one failover workflow, with an explicit same-AZ boundary.</description>
      <category>Resilience &amp; DR</category>
    </item>
    <item>
      <title>Moving legacy telecom key management to AWS KMS</title>
      <link>https://anupojuprudhvi.github.io/case-studies/telecom/in-memory-column-encryption-kms.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/telecom/in-memory-column-encryption-kms.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Adapting an existing local encryption service to AWS KMS while preserving its application integration and making the key-handling boundaries explicit.</description>
      <category>Networking &amp; security</category>
    </item>
    <item>
      <title>Making telecom node provisioning repeatable</title>
      <link>https://anupojuprudhvi.github.io/case-studies/telecom/platform-automation-engine-v1-to-v10.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/telecom/platform-automation-engine-v1-to-v10.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Turning manual host configuration and recurring migration defects into a provisioning workflow with explicit config, service reconciliation, and smoke tests.</description>
      <category>Platform &amp; delivery</category>
    </item>
    <item>
      <title>Diagnosing a silent call-record ingestion failure</title>
      <link>https://anupojuprudhvi.github.io/case-studies/telecom/cdr-ingestion-pipeline-incident-rca.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/telecom/cdr-ingestion-pipeline-incident-rca.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Tracing missing call records through consumer output and SSH transfer, then replacing process-only checks with data-flow monitoring.</description>
      <category>Operations &amp; incidents</category>
    </item>
    <item>
      <title>A Transit Gateway hub that keeps account routing deliberate</title>
      <link>https://anupojuprudhvi.github.io/case-studies/tolling/transit-gateway-hub-and-spoke.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/tolling/transit-gateway-hub-and-spoke.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Connecting shared services, workload accounts, security inspection, and a recovery region through one governed Transit Gateway, not a full mesh of VPC routes.</description>
      <category>Networking &amp; security</category>
    </item>
    <item>
      <title>Make Aurora DR behave like the primary, not exist beside it</title>
      <link>https://anupojuprudhvi.github.io/case-studies/tolling/aurora-multi-region-dr-parity.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/tolling/aurora-multi-region-dr-parity.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Closing the two gaps that can make a replicated Aurora environment fail differently in recovery: secondary parameter-group drift and missing regional secrets.</description>
      <category>Resilience &amp; DR</category>
    </item>
    <item>
      <title>Turn an EKS ingress incident into a diagnosable traffic path</title>
      <link>https://anupojuprudhvi.github.io/case-studies/tolling/eks-ingress-incident-rca.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/tolling/eks-ingress-incident-rca.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>A structured RCA pattern for an EKS ingress failure that separates DNS, load-balancer, routing, network-policy, and application causes, not just &quot;5xx.&quot;</description>
      <category>Operations &amp; incidents</category>
    </item>
    <item>
      <title>A reusable CI/CD engine with safe-by-default delivery</title>
      <link>https://anupojuprudhvi.github.io/case-studies/tolling/cicd-delivery-engine.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/tolling/cicd-delivery-engine.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Bootstrapping AWS OIDC roles once with SSO, then reusing one GitHub Actions engine for speculative plans and gated, single-environment Terraform deploys.</description>
      <category>Platform &amp; delivery</category>
    </item>
    <item>
      <title>Make organization CloudTrail evidence difficult to alter</title>
      <link>https://anupojuprudhvi.github.io/case-studies/tolling/cloudtrail-tamper-protection.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/tolling/cloudtrail-tamper-protection.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Centralizing CloudTrail events in a separately governed archive account, with encryption, a restrictive bucket policy, retention controls, and change alerting.</description>
      <category>Foundation &amp; governance</category>
    </item>
    <item>
      <title>Corporate SSO for Amazon WorkSpaces, without losing AD</title>
      <link>https://anupojuprudhvi.github.io/case-studies/tolling/entra-workspaces-saml.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/tolling/entra-workspaces-saml.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Separating Entra authentication from AD machine operations so Personal and Pool WorkSpaces get corporate sign-in without weakening the domain boundary.</description>
      <category>Networking &amp; security</category>
    </item>
    <item>
      <title>One DNS model for public services and private environments</title>
      <link>https://anupojuprudhvi.github.io/case-studies/tolling/route53-shared-dns.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/tolling/route53-shared-dns.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Separating public internet resolution from private VPC resolution, then associating one centrally managed hosted zone with shared and environment VPCs.</description>
      <category>Networking &amp; security</category>
    </item>
    <item>
      <title>Institutional digital asset platform · AWS MAP business case</title>
      <link>https://anupojuprudhvi.github.io/case-studies/partner-engagements/fintech-map-assess-business-case.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/partner-engagements/fintech-map-assess-business-case.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>An agentless VMware discovery, a third-party IdP-to-Identity Center SAML fix, and a Directional Business Case for an institutional financial platform.</description>
      <category>Migration &amp; strategy</category>
    </item>
    <item>
      <title>Global media platform · Cross-region MAP migration</title>
      <link>https://anupojuprudhvi.github.io/case-studies/partner-engagements/media-cross-region-map-migration.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/partner-engagements/media-cross-region-map-migration.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Inventory profiling and cloud transformation across US and EU data centers, sizing high-capacity media storage, compute, and localized workflows under AWS MAP.</description>
      <category>Migration &amp; strategy</category>
    </item>
    <item>
      <title>Enterprise IT monitoring · VMware Tanzu to EKS assessment</title>
      <link>https://anupojuprudhvi.github.io/case-studies/partner-engagements/it-monitoring-tanzu-to-eks-map-assessment.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/partner-engagements/it-monitoring-tanzu-to-eks-map-assessment.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>An AWS MAP Assess evaluation for a European IT monitoring enterprise, transitioning VMware Tanzu Kubernetes to Amazon EKS with Karpenter and a TCO analysis.</description>
      <category>Migration &amp; strategy</category>
    </item>
    <item>
      <title>Connected IoT platform · Monolith to AWS cloud migration</title>
      <link>https://anupojuprudhvi.github.io/case-studies/partner-engagements/iot-telemetry-monolith-to-cloud-migration.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/partner-engagements/iot-telemetry-monolith-to-cloud-migration.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Moving a connected-device platform from on-premise servers to AWS managed services: mapping each old service to its AWS replacement, cost estimates, and a MAP Mobilize roadmap.</description>
      <category>Migration &amp; strategy</category>
    </item>
    <item>
      <title>Enterprise AdTech SaaS · Cloud marketplace onboarding</title>
      <link>https://anupojuprudhvi.github.io/case-studies/partner-engagements/adtech-saas-marketplace-onboarding.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/partner-engagements/adtech-saas-marketplace-onboarding.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Getting an AdTech SaaS product listed and sold through a cloud marketplace: the buyer sign-up flow, usage-based billing, and checks after launch.</description>
      <category>Applications &amp; integration</category>
    </item>
    <item>
      <title>Enterprise Repository &amp; Module Layout</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/terraform/01-enterprise-module-design.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/terraform/01-enterprise-module-design.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>How to lay out a Terraform codebase for a team: reusable child modules kept apart from the root deployments that use them, state split into layers, and versions pinned so plans don't change by surprise.</description>
      <category>Terraform for Enterprise Production</category>
    </item>
    <item>
      <title>State Isolation, Remote Locking &amp; Blast Radius Control</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/terraform/02-state-isolation-and-locking.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/terraform/02-state-isolation-and-locking.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>A secure S3 state backend with native locking, state split into layers so one mistake can't reach everything, and SSM parameters instead of remote_state for sharing values between layers.</description>
      <category>Terraform for Enterprise Production</category>
    </item>
    <item>
      <title>Modern HCL: Types, Validations &amp; Preconditions</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/terraform/03-variables-validation-and-types.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/terraform/03-variables-validation-and-types.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Modules that check their own inputs: typed variables, validation blocks, preconditions and postconditions, and for_each with stable keys so removing one item doesn't replace the others.</description>
      <category>Terraform for Enterprise Production</category>
    </item>
    <item>
      <title>Zero-Plaintext Secret Architecture</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/terraform/04-secrets-and-sensitive-values.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/terraform/04-secrets-and-sensitive-values.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Why sensitive = true doesn't protect secrets in state, how to keep database passwords out of Terraform entirely, passing secret ARNs instead of values, and replacing static access keys with OIDC roles.</description>
      <category>Terraform for Enterprise Production</category>
    </item>
    <item>
      <title>Zero-Downtime Refactoring with Moved &amp; Import Blocks</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/terraform/05-refactoring-with-moved-blocks.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/terraform/05-refactoring-with-moved-blocks.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Rename, restructure, adopt, and let go of resources without outages, using moved, import, and removed blocks that are reviewed in a pull request like any other code.</description>
      <category>Terraform for Enterprise Production</category>
    </item>
    <item>
      <title>CI/CD Guardrails: TFLint, Checkov &amp; Plan Automation</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/terraform/06-ci-cd-security-linting-testing.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/terraform/06-ci-cd-security-linting-testing.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>A three-tier pipeline for Terraform: fast format and lint checks, Checkov security scanning, a plan posted on every pull request, and a nightly check for drift.</description>
      <category>Terraform for Enterprise Production</category>
    </item>
    <item>
      <title>Assessment Frameworks · Rapid vs. Deep Enterprise</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/migration-journey/01-assessment-paths-rapid-vs-deep.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/migration-journey/01-assessment-paths-rapid-vs-deep.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Choosing between a rapid 4–6 week assessment driven by tools and a deep 3–4 month study of the organization across the six AWS Cloud Adoption Framework (CAF) perspectives, and the signs that tell you which one you need.</description>
      <category>Enterprise Cloud Migration: Assess, Mobilize &amp; Modernize</category>
    </item>
    <item>
      <title>Discovery Telemetry · RVTools, AWS Transform &amp; Sizing</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/migration-journey/02-discovery-telemetry-and-inventory.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/migration-journey/02-discovery-telemetry-and-inventory.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Collecting what you have and how much of it is really used. RVTools for a quick inventory, an agentless collector for usage over time, and right-sizing compute, storage, and processor type so the AWS estimate isn't built on oversized VMs.</description>
      <category>Enterprise Cloud Migration: Assess, Mobilize &amp; Modernize</category>
    </item>
    <item>
      <title>Financial Engineering · 3-Year TCO &amp; Licensing</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/migration-journey/03-financial-engineering-tco-and-licensing.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/migration-journey/03-financial-engineering-tco-and-licensing.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Building the cost case. On-Demand vs. 1-year and 3-year Savings Plans, a blended commitment strategy, Windows Server and SQL Server licensing choices, how MAP funding fits in, and what goes into the business case leadership signs.</description>
      <category>Enterprise Cloud Migration: Assess, Mobilize &amp; Modernize</category>
    </item>
    <item>
      <title>Target State Blueprint · Landing Zone &amp; 7Rs Roadmap</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/migration-journey/04-target-architecture-and-landing-zone.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/migration-journey/04-target-architecture-and-landing-zone.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>The foundation to build before anything moves. A multi-account landing zone with guardrails, single sign-on, and hub networking, and the 7Rs, the strategy that decides what happens to each workload.</description>
      <category>Enterprise Cloud Migration: Assess, Mobilize &amp; Modernize</category>
    </item>
    <item>
      <title>The Mobilize Phase · Wave Planning &amp; Lighthouse Pilot</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/migration-journey/05-mobilize-wave-planning-and-pilot.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/migration-journey/05-mobilize-wave-planning-and-pilot.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>From plan to practice. Working as one team with the client's engineers, grouping servers into migration waves, and moving one real application first, the pilot, to prove the cutover and rollback before the rest follow.</description>
      <category>Enterprise Cloud Migration: Assess, Mobilize &amp; Modernize</category>
    </item>
    <item>
      <title>Migrate &amp; Modernize · In-Flight vs. Sequential Factory</title>
      <link>https://anupojuprudhvi.github.io/learning-paths/migration-journey/06-migrate-and-modernize-strategies.html</link>
      <guid>https://anupojuprudhvi.github.io/learning-paths/migration-journey/06-migrate-and-modernize-strategies.html</guid>
      <pubDate>Thu, 17 Sep 2026 00:00:00 GMT</pubDate>
      <description>Move first and improve later, or modernize during the move? When each approach fits, the common modernization targets (containers on EKS, Aurora, and managed messaging), and what the final phase hands over.</description>
      <category>Enterprise Cloud Migration: Assess, Mobilize &amp; Modernize</category>
    </item>
    <item>
      <title>One governed cloud foundation under 40+ accounts</title>
      <link>https://anupojuprudhvi.github.io/case-studies/tolling/cloud-foundation.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/tolling/cloud-foundation.html</guid>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <description>A four-layer landing zone, one hub-and-spoke network, and a CI/CD pipeline where an unintended apply is structurally impossible.</description>
      <category>Foundation &amp; governance</category>
    </item>
    <item>
      <title>Letting a SaaS webhook reach a private service, safely</title>
      <link>https://anupojuprudhvi.github.io/case-studies/tolling/jsm-integration.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/tolling/jsm-integration.html</guid>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <description>A layered, authenticated path from Jira Service Management into a private service, using CloudFront and a Lambda authorizer because simpler options don't work.</description>
      <category>Applications &amp; integration</category>
    </item>
    <item>
      <title>A private image API without a proxy application to operate</title>
      <link>https://anupojuprudhvi.github.io/case-studies/tolling/s3-image-api.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/tolling/s3-image-api.html</guid>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <description>Removing a load balancer and a Lambda proxy from the image path, leaving API Gateway talking to S3 directly through one shared private endpoint.</description>
      <category>Applications &amp; integration</category>
    </item>
    <item>
      <title>Clinical platform modernization and cost architecture</title>
      <link>https://anupojuprudhvi.github.io/case-studies/healthcare/clinical-platform-modernization-and-cost-optimization.html</link>
      <guid>https://anupojuprudhvi.github.io/case-studies/healthcare/clinical-platform-modernization-and-cost-optimization.html</guid>
      <pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate>
      <description>Decomposing an on-premise clinical monolith into containerized services, and taking reporting load off the live database with a decoupled analytics pipeline.</description>
      <category>Applications &amp; integration</category>
    </item>
  </channel>
</rss>
