<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Edwin Jonathan — Engineering Platform on Edwin Jonathan — Platform, Cloud &amp; DevOps Engineering</title><link>https://edwinjdevops.github.io/engineering-platform/</link><description>Recent content in Edwin Jonathan — Engineering Platform on Edwin Jonathan — Platform, Cloud &amp; DevOps Engineering</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Mon, 12 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://edwinjdevops.github.io/engineering-platform/index.xml" rel="self" type="application/rss+xml"/><item><title>A Public Delivery Record</title><link>https://edwinjdevops.github.io/engineering-platform/engineering/delivery-record/</link><pubDate>Sun, 11 Oct 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/engineering/delivery-record/</guid><description>&lt;p&gt;This is an independently inspectable example from my &lt;strong&gt;own engineering-platform repository&lt;/strong&gt;. It is &lt;strong&gt;not a customer project, anonymous client case study, testimonial or claim about customer satisfaction&lt;/strong&gt;. The evidence is public, so a technical reviewer can follow the change without receiving private client information.&lt;/p&gt;
&lt;h2 id="1-the-defect"&gt;1. The defect&lt;/h2&gt;
&lt;p&gt;The editorial redesign introduced article covers with remotely hosted publication images. Browser screenshots taken during the release review showed that a missing or not-yet-loaded external image could leave a visually empty dark cover. The original fallback typography existed in the design but was not always rendered under the remote image.&lt;/p&gt;</description></item><item><title>Consequential Execution Runtime</title><link>https://edwinjdevops.github.io/engineering-platform/projects/consequential-execution-runtime/</link><pubDate>Sun, 11 Oct 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/projects/consequential-execution-runtime/</guid><description>&lt;h2 id="why-the-project-exists"&gt;Why the project exists&lt;/h2&gt;
&lt;p&gt;An agent can issue individually valid requests across multiple systems while the overall outcome remains unsafe, stale or unrecoverable. Consequential Execution Runtime (CER) investigates how a runtime can bind an approval to one exact operation and make ambiguous external side effects explicit.&lt;/p&gt;
&lt;h2 id="implemented-foundation"&gt;Implemented foundation&lt;/h2&gt;
&lt;p&gt;The public repository describes a Rust execution kernel with canonical action identity, strict JSON ingress, effect contracts, provider-aware retry decisions and explicit &lt;code&gt;IN_DOUBT&lt;/code&gt; handling when reconciliation cannot establish an outcome.&lt;/p&gt;</description></item><item><title>InfraGuard</title><link>https://edwinjdevops.github.io/engineering-platform/projects/infraguard/</link><pubDate>Sun, 11 Oct 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/projects/infraguard/</guid><description>&lt;h2 id="what-this-workstream-is"&gt;What this workstream is&lt;/h2&gt;
&lt;p&gt;InfraGuard refers here to the &lt;strong&gt;Security Hub remediation hardening workstream&lt;/strong&gt; under the existing &lt;a href="https://github.com/EdwinJdevops/infraguard-agent"&gt;InfraGuard Agent repository&lt;/a&gt;, not a separate source repository or a second deployed product. The distinction matters: the Agent&amp;rsquo;s released prototype and the newer hardened AWS path have different evidence boundaries.&lt;/p&gt;
&lt;h2 id="problem-and-trust-boundary"&gt;Problem and trust boundary&lt;/h2&gt;
&lt;p&gt;An alert is not adequate authority to change infrastructure. The proposed hardening flow validates a supported Security Hub event, independently checks live EC2 security-group rules, binds account, region and resource identity, and requires evidence that Terraform owns the resource before a proposed change can proceed.&lt;/p&gt;</description></item><item><title>Warden</title><link>https://edwinjdevops.github.io/engineering-platform/projects/warden/</link><pubDate>Sun, 11 Oct 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/projects/warden/</guid><description>&lt;h2 id="the-engineering-problem"&gt;The engineering problem&lt;/h2&gt;
&lt;p&gt;A policy violation detected by Kyverno does not automatically establish which source change is safe to make. Directly mutating a live workload can also bypass the GitOps review boundary. Warden investigates a remediation path that keeps Git as the intended authority and enforces a policy-defined ceiling on automation.&lt;/p&gt;
&lt;h2 id="repository-backed-implementation"&gt;Repository-backed implementation&lt;/h2&gt;
&lt;p&gt;The public repository contains a Go controller, policy-tier classification, resource-limit patch generation, Kubernetes client dependencies and GitHub pull-request integration. The source README documents tests for the manual approval boundary and deterministic remediation. The controller&amp;rsquo;s PR integration is &lt;strong&gt;dry-run by default&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>When an AWS inventory failure looks like Terraform drift</title><link>https://edwinjdevops.github.io/engineering-platform/articles/aws-inventory-failure-terraform-drift/</link><pubDate>Sat, 10 Oct 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/aws-inventory-failure-terraform-drift/</guid><description>&lt;p&gt;Infrastructure drift detection sounds straightforward: read the desired Terraform state, collect live cloud resources, and compare the two. The difficult part is establishing whether the live observation is complete enough to justify a conclusion.&lt;/p&gt;
&lt;p&gt;I examined this problem in &lt;a href="https://github.com/EdwinJdevops/driftguard"&gt;DriftGuard&lt;/a&gt;, an AWS-focused drift detection project that proposes remediation through reviewable GitHub pull requests rather than applying changes automatically. The original defect has since been addressed in &lt;a href="https://github.com/EdwinJdevops/driftguard/pull/3"&gt;merged PR #3&lt;/a&gt;. This article records both the failure mode and what the current source actually verifies; it is &lt;strong&gt;not&lt;/strong&gt; a claim of production-scale validation.&lt;/p&gt;</description></item><item><title>ARCHNET</title><link>https://edwinjdevops.github.io/engineering-platform/projects/archnet/</link><pubDate>Sat, 26 Sep 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/projects/archnet/</guid><description>&lt;h2 id="scope"&gt;Scope&lt;/h2&gt;
&lt;p&gt;ARCHNET explores the infrastructure and delivery path for a small Kubernetes platform: AWS networking and compute, k3s bootstrap, ArgoCD reconciliation, an example workload and Prometheus alert configuration.&lt;/p&gt;
&lt;p&gt;The repository README calls the system a production-grade zero-trust internal developer platform. The checked-in implementation does not yet justify that description, so this case study uses the narrower term &lt;strong&gt;platform prototype&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="implemented-architecture"&gt;Implemented architecture&lt;/h2&gt;
&lt;p&gt;The repository contains Terraform for an AWS VPC, public subnet, internet gateway, route table, security group and EC2 instance; a k3s/ArgoCD bootstrap shell script; an ArgoCD Application manifest with automated prune and self-heal enabled; an nginx Deployment and ClusterIP Service; Prometheus scrape configuration and two alert rules; and a GitHub Actions workflow for structural checks and a Trivy filesystem scan.&lt;/p&gt;</description></item><item><title>DriftGuard</title><link>https://edwinjdevops.github.io/engineering-platform/projects/driftguard/</link><pubDate>Sat, 26 Sep 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/projects/driftguard/</guid><description>&lt;h2 id="problem"&gt;Problem&lt;/h2&gt;
&lt;p&gt;Terraform state records the infrastructure Terraform knows about. Operational changes can still happen outside the intended workflow. DriftGuard is built to compare Terraform state with live AWS state and turn detected discrepancies into reviewable engineering evidence rather than silently changing infrastructure.&lt;/p&gt;
&lt;h2 id="system-boundary"&gt;System boundary&lt;/h2&gt;
&lt;p&gt;The current implementation is AWS-specific. It parses Terraform state, collects live AWS resource state, analyzes differences, maps supported findings to security context, stores scan results, and can generate a proposed HCL remediation in a GitHub pull request.&lt;/p&gt;</description></item><item><title>InfraGuard Agent</title><link>https://edwinjdevops.github.io/engineering-platform/projects/infraguard-agent/</link><pubDate>Sat, 26 Sep 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/projects/infraguard-agent/</guid><description>&lt;h2 id="scope"&gt;Scope&lt;/h2&gt;
&lt;p&gt;InfraGuard explores a constrained agentic security workflow: accept a cloud-security finding, map it to known security context, produce a proposed Terraform remediation and deliver that proposal through GitHub for human review.&lt;/p&gt;
&lt;p&gt;The important boundary is that proposal generation and infrastructure mutation are different operations. The implementation on the main branch creates a Git branch, commits a Terraform artifact and opens a pull request; it does not call Terraform apply or directly mutate AWS resources.&lt;/p&gt;</description></item><item><title>Optimization Evidence</title><link>https://edwinjdevops.github.io/engineering-platform/projects/optimization-evidence/</link><pubDate>Sat, 26 Sep 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/projects/optimization-evidence/</guid><description>&lt;h2 id="problem"&gt;Problem&lt;/h2&gt;
&lt;p&gt;An infrastructure optimization recommendation is not the same thing as realized savings.&lt;/p&gt;
&lt;p&gt;A Kubernetes request reduction can release schedulable capacity without removing a billable node. A lower cloud bill can also occur for reasons unrelated to an optimization. Optimization Evidence is an engineering research project built around that distinction.&lt;/p&gt;
&lt;p&gt;The causal chain under investigation crosses the change itself, runtime capacity, billable resources, provider billing evidence and attribution. Operational safety is evaluated separately.&lt;/p&gt;</description></item><item><title>SENTINEL</title><link>https://edwinjdevops.github.io/engineering-platform/projects/sentinel/</link><pubDate>Sat, 26 Sep 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/projects/sentinel/</guid><description>&lt;h2 id="scope"&gt;Scope&lt;/h2&gt;
&lt;p&gt;SENTINEL is a Kubernetes security-scanning lab. Its repository contains Trivy and Kubescape scan artifacts, a scheduled GitHub Actions workflow, a small report aggregator and Terraform for local Kubernetes namespaces.&lt;/p&gt;
&lt;p&gt;This case study deliberately uses a narrower description than the repository README. The checked-in implementation does not currently establish the full production security-platform architecture described there.&lt;/p&gt;
&lt;h2 id="implemented-evidence"&gt;Implemented evidence&lt;/h2&gt;
&lt;p&gt;The repository contains persisted Trivy and Kubescape JSON reports. It also contains a GitHub Actions workflow that runs on pushes to the main branch and on a daily schedule.&lt;/p&gt;</description></item><item><title>Building Production AI Observability on Kubernetes: OpenTelemetry, Langfuse, Prometheus &amp; Grafana From Zero to Scale</title><link>https://edwinjdevops.github.io/engineering-platform/articles/building-production-ai-observability-on-kubernetes-opentelemetry-langfuse-prometheus-grafana-from-zero-to-scale/</link><pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/building-production-ai-observability-on-kubernetes-opentelemetry-langfuse-prometheus-grafana-from-zero-to-scale/</guid><description>&lt;h2 id="building-production-grade-ai-observability-on-kubernetes"&gt;Building Production-Grade AI Observability on Kubernetes&lt;/h2&gt;
&lt;p&gt;Most AI teams are solving the wrong problem.&lt;/p&gt;
&lt;p&gt;Everyone is benchmarking models.&lt;/p&gt;
&lt;p&gt;Very few teams are benchmarking infrastructure.&lt;/p&gt;
&lt;p&gt;Production failures rarely happen because GPT-5, Claude or Gemini suddenly become &amp;ldquo;less intelligent.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;They happen because nobody knows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;why latency suddenly doubled&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;which prompt caused hallucinations&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;which deployment increased token usage&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;why costs exploded overnight&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;which customer experienced degraded responses&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;where requests failed across twenty microservices&lt;/p&gt;</description></item><item><title>Why Most GitOps Migrations Fail After Six Months</title><link>https://edwinjdevops.github.io/engineering-platform/articles/why-most-gitops-migrations-fail-after-six-months/</link><pubDate>Tue, 21 Jul 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/why-most-gitops-migrations-fail-after-six-months/</guid><description>&lt;h2 id="the-problem"&gt;The Problem&lt;/h2&gt;
&lt;p&gt;Before discussing why GitOps projects fail, it&amp;rsquo;s useful to understand the production architecture this article refers to.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://cdn.hashnode.com/uploads/covers/69eb5d4d1e45c4e0dadd0fc8/c043b545-d3b2-4a89-8f52-34ec81fa6b4d.png" alt="Illustration accompanying The Problem"&gt;&lt;/p&gt;
&lt;p&gt;Everyone talks about GitOps as if installing ArgoCD is the finish line.&lt;/p&gt;
&lt;p&gt;It isn&amp;rsquo;t.&lt;/p&gt;
&lt;p&gt;Most GitOps migrations succeed during the first few weeks. Deployments become automated, clusters synchronize from Git, and teams celebrate moving away from manual releases.&lt;/p&gt;
&lt;p&gt;Then production happens.&lt;/p&gt;
&lt;p&gt;New services appear. Different teams adopt different deployment patterns. Security requirements grow. Kubernetes versions change. Infrastructure evolves. Suddenly the Git repository that once looked clean becomes difficult to manage, deployments become slower, and engineers begin bypassing the GitOps workflow &amp;ldquo;just this once.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Building an Agentic Operations Assistant on AWS with Amazon Bedrock and Amazon S3</title><link>https://edwinjdevops.github.io/engineering-platform/articles/building-agentic-operations-assistant-aws-bedrock-s3/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/building-agentic-operations-assistant-aws-bedrock-s3/</guid><description>&lt;p&gt;Every few months, a new AI demo appears.&lt;/p&gt;
&lt;p&gt;It writes code.&lt;br&gt;
It summarizes documents.&lt;br&gt;
It answers questions.&lt;/p&gt;
&lt;p&gt;Most of those demos fail the moment they&amp;rsquo;re introduced to a real production environment.&lt;/p&gt;
&lt;p&gt;Operations teams don&amp;rsquo;t need another chatbot.&lt;/p&gt;
&lt;p&gt;They need a system that can answer questions using infrastructure they already trust.&lt;/p&gt;
&lt;p&gt;CloudTrail logs.&lt;/p&gt;
&lt;p&gt;Terraform plans.&lt;/p&gt;
&lt;p&gt;Architecture decisions.&lt;/p&gt;
&lt;p&gt;Incident reports.&lt;/p&gt;
&lt;p&gt;Compliance evidence.&lt;/p&gt;
&lt;p&gt;Runbooks.&lt;/p&gt;
&lt;p&gt;Those documents already exist. The challenge isn&amp;rsquo;t generating text—it&amp;rsquo;s retrieving the right information without exposing data that shouldn&amp;rsquo;t leave the organization.&lt;/p&gt;</description></item><item><title>The Open-Source Collapse: Why AI Is Quietly Killing the People Who Built the Internet</title><link>https://edwinjdevops.github.io/engineering-platform/articles/open-source-collapse-ai-killing-internet-builders/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/open-source-collapse-ai-killing-internet-builders/</guid><description>&lt;p&gt;Every time someone says AI will replace developers, I know they don&amp;rsquo;t understand where AI came from.&lt;/p&gt;
&lt;p&gt;And honestly?&lt;/p&gt;
&lt;p&gt;A lot of senior engineers don&amp;rsquo;t either.&lt;/p&gt;
&lt;p&gt;The entire AI boom is standing on top of 20 years of free labor.&lt;/p&gt;
&lt;p&gt;Millions of blog posts.&lt;/p&gt;
&lt;p&gt;Stack Overflow answers.&lt;/p&gt;
&lt;p&gt;GitHub repositories.&lt;/p&gt;
&lt;p&gt;Open-source maintainers fixing bugs at 2 AM.&lt;/p&gt;
&lt;p&gt;Random engineers writing tutorials after work because they wanted to help somebody else.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s the training data.&lt;/p&gt;</description></item><item><title>Your Terraform State Is Lying to You. I Built the Tool That Proves It.</title><link>https://edwinjdevops.github.io/engineering-platform/articles/your-terraform-state-is-lying-to-you-i-built-the-tool-that-proves-it/</link><pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/your-terraform-state-is-lying-to-you-i-built-the-tool-that-proves-it/</guid><description>&lt;h2 id="the-quiet-failure-mode-every-aws-team-pretends-doesnt-exist-i-found-the-gap-every-devops-tool-stopped-short-of-closing-nobody-finished-this-tool-so-i-did"&gt;The Quiet Failure Mode Every AWS Team Pretends Doesn&amp;rsquo;t Exist I Found the Gap Every DevOps Tool Stopped Short Of Closing Nobody Finished This Tool. So I Did&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt; Open your AWS console right now and compare it to your Terraform state file, line by line. I'll save you the trouble. They don't match.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Not because you did anything wrong. Because someone — you, a teammate, a contractor with console access nobody revoked — made a change outside the pipeline. A security group rule got loosened during an incident and never got tightened back. An S3 bucket lost its encryption config mid-debug. A database got flagged publicly accessible for twenty minutes of convenience and stayed that way for three months because nobody was watching.&lt;/p&gt;</description></item><item><title>Junior Engineers Are Learning AI Faster Than They Are Learning Systems</title><link>https://edwinjdevops.github.io/engineering-platform/articles/junior-engineers-are-learning-ai-faster-than-they-are-learning-systems/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/junior-engineers-are-learning-ai-faster-than-they-are-learning-systems/</guid><description>&lt;h2 id="the-most-important-engineering-gap-nobody-seems-interested-in-talking-about"&gt;&lt;strong&gt;The most important engineering gap nobody seems interested in talking about&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;A few months ago, I noticed something strange.&lt;/p&gt;
&lt;p&gt;Everywhere I looked, people were learning AI.&lt;/p&gt;
&lt;p&gt;People were building agents.
People were generating code.
People were creating AI startups.
People were posting AI projects.&lt;/p&gt;
&lt;p&gt;Yet when basic infrastructure questions appeared, many of the same people struggled.&lt;/p&gt;
&lt;p&gt;Questions about networking.&lt;/p&gt;
&lt;p&gt;Questions about Linux.&lt;/p&gt;
&lt;p&gt;Questions about containers.&lt;/p&gt;
&lt;p&gt;Questions about DNS.&lt;/p&gt;
&lt;p&gt;Questions about how applications actually move from a laptop to production.&lt;/p&gt;</description></item><item><title>DRIFTGUARD</title><link>https://edwinjdevops.github.io/engineering-platform/articles/driftguard/</link><pubDate>Thu, 11 Jun 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/driftguard/</guid><description>&lt;p&gt;Hey DEV.to
&lt;img src="https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8o5w3w705vvykgrmcjpo.jpeg" alt="Image description"&gt;👋&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m Edwin, a self-taught Cloud &amp;amp; DevOps Engineer from Lagos, Nigeria.&lt;/p&gt;
&lt;p&gt;I built DriftGuard because I kept watching the same thing
happen: engineers write perfect Terraform, apply it, and
then someone clicks around in the AWS console three weeks
later. Security group opened. S3 encryption disabled. RDS
made publicly accessible. Nobody knows until something
breaks or gets breached.&lt;/p&gt;
&lt;p&gt;Driftctl is abandoned. Checkov only scans. Infracost only
costs. Nothing combined all three with auto-remediation.&lt;/p&gt;</description></item><item><title>Deployment Isn't the Hard Part. Recovery Is.</title><link>https://edwinjdevops.github.io/engineering-platform/articles/deployment-isn-t-the-hard-part-recovery-is/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/deployment-isn-t-the-hard-part-recovery-is/</guid><description>&lt;p&gt;When I first started learning DevOps, I thought deployment was the destination.&lt;/p&gt;
&lt;p&gt;Build the application.&lt;/p&gt;
&lt;p&gt;Push the code.&lt;/p&gt;
&lt;p&gt;Deploy to production.&lt;/p&gt;
&lt;p&gt;Repeat.&lt;/p&gt;
&lt;p&gt;Simple.&lt;/p&gt;
&lt;p&gt;At least that&amp;rsquo;s what most tutorials make it look like.&lt;/p&gt;
&lt;p&gt;The deeper I went into cloud engineering, the more I realized that production systems don&amp;rsquo;t care how beautiful your CI/CD pipeline is.&lt;/p&gt;
&lt;p&gt;Production only cares about one thing:&lt;/p&gt;
&lt;p&gt;Can the system survive when something goes wrong?&lt;/p&gt;
&lt;p&gt;That question completely changed how I think about engineering.&lt;/p&gt;</description></item><item><title>The Day I Realized Backups Aren't Disaster Recovery: Lessons From Building an AWS Recovery Strategy</title><link>https://edwinjdevops.github.io/engineering-platform/articles/the-day-i-realized-backups-aren-t-disaster-recovery-lessons-from-building-an-aws-recovery-/</link><pubDate>Wed, 03 Jun 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/the-day-i-realized-backups-aren-t-disaster-recovery-lessons-from-building-an-aws-recovery-/</guid><description>&lt;p&gt;One of the biggest misconceptions in cloud engineering is believing that backups automatically mean you&amp;rsquo;re prepared for a disaster.&lt;/p&gt;
&lt;p&gt;I used to think the same thing.&lt;/p&gt;
&lt;p&gt;As long as snapshots existed, backups were running, and databases were stored somewhere safe, everything felt secure.&lt;/p&gt;
&lt;p&gt;Then I worked on a disaster recovery project.&lt;/p&gt;
&lt;p&gt;And I learned very quickly that recovery is a completely different problem from backup.&lt;/p&gt;
&lt;p&gt;A backup answers:&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Can we restore the data?&amp;rdquo;&lt;/p&gt;</description></item><item><title>I’m 17, Building in Cloud &amp; DevOps From Nigeria — and No, My Journey Isn’t “AI Generated”</title><link>https://edwinjdevops.github.io/engineering-platform/articles/i-m-17-building-in-cloud-devops-from-nigeria-and-no-my-journey-isn-t-ai-generated/</link><pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/i-m-17-building-in-cloud-devops-from-nigeria-and-no-my-journey-isn-t-ai-generated/</guid><description>&lt;p&gt;People assume my work is fake because they cannot imagine someone my age writing with this level of clarity, structure, and technical direction. This is the truth behind my journey.&lt;/p&gt;
&lt;p&gt;There’s something strange happening in tech culture lately.&lt;/p&gt;
&lt;p&gt;The moment a young person sounds too polished, too intentional, or too technically aware, people immediately assume it’s fake.&lt;/p&gt;
&lt;p&gt;“AI wrote this.”&lt;/p&gt;
&lt;p&gt;“This experience isn’t real.”&lt;/p&gt;
&lt;p&gt;“He’s just posting motivational content.”&lt;/p&gt;
&lt;p&gt;“He’s too young to actually understand DevOps.”&lt;/p&gt;</description></item><item><title>Why Most “Senior” DevOps Engineers Are Building Fragile Infrastructure — And Why the Industry Rewards It</title><link>https://edwinjdevops.github.io/engineering-platform/articles/why-most-senior-devops-engineers-are-building-fragile-infrastructure-and-why-the-industry-/</link><pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/why-most-senior-devops-engineers-are-building-fragile-infrastructure-and-why-the-industry-/</guid><description>&lt;p&gt;For years, the tech industry has sold an illusion.&lt;/p&gt;
&lt;p&gt;The illusion is that more tools automatically mean better engineering.&lt;/p&gt;
&lt;p&gt;More Kubernetes operators.
More CI/CD layers.
More observability stacks.
More Terraform modules.
More dashboards.
More YAML.
More abstraction.&lt;/p&gt;
&lt;p&gt;And somewhere in the middle of this chaos, the industry quietly stopped valuing one thing:&lt;/p&gt;
&lt;p&gt;Infrastructure that actually survives pressure.&lt;/p&gt;
&lt;p&gt;Modern DevOps culture has become dangerously addicted to complexity disguised as innovation.&lt;/p&gt;
&lt;p&gt;A shocking number of “production-grade” systems today are nothing more than fragile towers of automation held together by copied GitHub repositories, AI-generated scripts, and engineers who have never experienced real infrastructure failure under pressure.&lt;/p&gt;</description></item><item><title>IAM Least Privilege in Practice — What Most Tutorials Get Wrong</title><link>https://edwinjdevops.github.io/engineering-platform/articles/iam-least-privilege-in-practice-what-most-tutorials-get-wrong/</link><pubDate>Sun, 17 May 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/iam-least-privilege-in-practice-what-most-tutorials-get-wrong/</guid><description>&lt;h3 id="introduction"&gt;Introduction&lt;/h3&gt;
&lt;p&gt;Every AWS tutorial tells you to use least privilege. Almost none of them show you what it actually looks like. Most examples online attach &lt;code&gt;AdministratorAccess&lt;/code&gt; to a role &amp;ldquo;for simplicity&amp;rdquo; and move on.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s not simplicity. That&amp;rsquo;s a breach waiting to happen. Here&amp;rsquo;s what real IAM discipline looks like.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="the-most-common-mistakes"&gt;The Most Common Mistakes&lt;/h3&gt;
&lt;h3 id="mistake-1--wildcard-actions-on-wildcard-resources"&gt;Mistake 1 — Wildcard actions on wildcard resources&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;&amp;#34;Effect&amp;#34;&lt;/span&gt;: &lt;span style="color:#f1fa8c"&gt;&amp;#34;Allow&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;&amp;#34;Action&amp;#34;&lt;/span&gt;: &lt;span style="color:#f1fa8c"&gt;&amp;#34;*&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#ff79c6"&gt;&amp;#34;Resource&amp;#34;&lt;/span&gt;: &lt;span style="color:#f1fa8c"&gt;&amp;#34;*&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This is AdministratorAccess. Never use it outside break-glass emergency scenarios.&lt;/p&gt;</description></item><item><title>How I Secured an ECS Fargate Deployment With OIDC and ECR — No Static Keys</title><link>https://edwinjdevops.github.io/engineering-platform/articles/how-i-secured-an-ecs-fargate-deployment-with-oidc-and-ecr-no-static-keys/</link><pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/how-i-secured-an-ecs-fargate-deployment-with-oidc-and-ecr-no-static-keys/</guid><description>&lt;h3 id="introduction"&gt;Introduction&lt;/h3&gt;
&lt;p&gt;Most AWS CI/CD tutorials hand you a &lt;code&gt;AWS_ACCESS_KEY_ID&lt;/code&gt; and &lt;code&gt;AWS_SECRET_ACCESS_KEY&lt;/code&gt; and call it a day. That&amp;rsquo;s a security failure waiting to happen. Static keys get leaked in logs, committed to repos, and rotated too late.&lt;/p&gt;
&lt;p&gt;I built a full deployment pipeline for a real DevOps challenge — GitHub Actions → ECR → ECS Fargate — with zero static credentials. Here&amp;rsquo;s exactly how.&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id="the-problem-with-static-keys"&gt;The Problem With Static Keys&lt;/h3&gt;
&lt;p&gt;When you store AWS credentials as GitHub secrets and reference them in your pipeline, you&amp;rsquo;re creating long-lived credentials that:&lt;/p&gt;</description></item><item><title>AI Agents in DevOps: Building Autonomous Cloud Infrastructure That Operates Itself</title><link>https://edwinjdevops.github.io/engineering-platform/articles/ai-agents-in-devops-building-autonomous-cloud-infrastructure-that-operates-itself/</link><pubDate>Sun, 10 May 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/ai-agents-in-devops-building-autonomous-cloud-infrastructure-that-operates-itself/</guid><description>&lt;p&gt;The traditional DevOps pipeline is breaking under modern infrastructure scale.&lt;/p&gt;
&lt;p&gt;Cloud environments have become too dynamic for human-centered operations alone. Containers spin up and disappear in seconds. Multi-cloud systems generate terabytes of telemetry daily. Incidents cascade faster than engineers can respond manually.&lt;/p&gt;
&lt;p&gt;Most teams are still operating infrastructure reactively:Humans investigate alerts&lt;/p&gt;
&lt;p&gt;**.**Humans scale workloads&lt;/p&gt;
&lt;p&gt;.Humans restart failed services&lt;/p&gt;
&lt;p&gt;**.**Humans patch vulnerabilities&lt;/p&gt;
&lt;p&gt;**.**Humans approve repetitive deployments&lt;/p&gt;
&lt;p&gt;**.**Humans correlate logs during outages&lt;/p&gt;</description></item><item><title>Securing AWS deployments with GitHub Actions OIDC — a production walkthrough</title><link>https://edwinjdevops.github.io/engineering-platform/articles/securing-aws-deployments-with-github-actions-oidc-a-production-walkthrough/</link><pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/securing-aws-deployments-with-github-actions-oidc-a-production-walkthrough/</guid><description>&lt;h3 id="the-problem-nobody-talks-about-enough"&gt;The Problem Nobody Talks About Enough&lt;/h3&gt;
&lt;p&gt;Every tutorial shows you how to deploy to AWS from GitHub Actions using `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` stored as repository secrets.&lt;/p&gt;
&lt;p&gt;That is a liability. Static keys don&amp;rsquo;t expire. If your repo is compromised, your AWS account goes with it. If a team member leaves and you forget to rotate, the key still works. At scale, this becomes a ticking clock.&lt;/p&gt;
&lt;p&gt;The production answer is OIDC — and most engineers using it don&amp;rsquo;t fully understand how the trust chain works. This article fixes that.&lt;/p&gt;</description></item><item><title>AI Agents in DevOps Engineering: The Death of Manual Operations Has Already Started</title><link>https://edwinjdevops.github.io/engineering-platform/articles/ai-agents-in-devops-engineering-the-death-of-manual-operations/</link><pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/ai-agents-in-devops-engineering-the-death-of-manual-operations/</guid><description>&lt;p&gt;Most engineers still think AI in DevOps means “Copilot autocomplete.”&lt;/p&gt;
&lt;p&gt;That is beginner-level thinking.&lt;/p&gt;
&lt;p&gt;The real shift is happening deeper in infrastructure, incident response, platform engineering, observability, CI/CD orchestration, and autonomous operations.&lt;/p&gt;
&lt;p&gt;We are entering the era of Agentic DevOps — where AI systems do not just assist engineers, but actively reason, execute, recover, optimize, and coordinate infrastructure operations across cloud environments.&lt;/p&gt;
&lt;p&gt;The engineers who understand this transition early will dominate the next decade of infrastructure engineering.&lt;/p&gt;</description></item><item><title>How I Used OIDC to Eliminate Static AWS Keys from GitHub Actions (Real Pipeline Walkthrough)</title><link>https://edwinjdevops.github.io/engineering-platform/articles/how-i-used-oidc-to-eliminate-static-aws-keys-from-github-actions-real-pipeline-walkthrough/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/how-i-used-oidc-to-eliminate-static-aws-keys-from-github-actions-real-pipeline-walkthrough/</guid><description>&lt;p&gt;Static AWS access keys in GitHub Actions secrets is how
production environments get breached.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s how I replaced every static key with OIDC federation
for the Damolak Technologies DevOps challenge —
and why you should too.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;The Problem With Static Keys&lt;/p&gt;
&lt;p&gt;When you do this:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
You have a long-lived credential sitting in GitHub that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Never rotates automatically&lt;/li&gt;
&lt;li&gt;Has blast radius if the repo is compromised&lt;/li&gt;
&lt;li&gt;Violates least-privilege by existing at all&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;The Fix: OIDC&lt;/p&gt;</description></item><item><title>I Built a Production-Grade Internal Developer Platform at 17 — Full Architecture</title><link>https://edwinjdevops.github.io/engineering-platform/articles/i-built-a-production-grade-internal-developer-platform-at-17-full-architecture/</link><pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/i-built-a-production-grade-internal-developer-platform-at-17-full-architecture/</guid><description>&lt;p&gt;The Problem&lt;/p&gt;
&lt;p&gt;Most engineers deploy to Kubernetes by clicking buttons in a UI.
That&amp;rsquo;s not DevOps. That&amp;rsquo;s manual labor with extra steps.&lt;/p&gt;
&lt;p&gt;I built Archnet — a fully automated Internal Developer Platform
that handles deployments, secrets, observability, and self-healing
with zero human intervention after setup.&lt;/p&gt;
&lt;p&gt;What is an Internal Developer Platform?&lt;/p&gt;
&lt;p&gt;An IDP is the infrastructure layer that sits between your code
and your cloud. It handles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How code gets deployed&lt;/li&gt;
&lt;li&gt;How secrets are managed&lt;/li&gt;
&lt;li&gt;How the system monitors itself&lt;/li&gt;
&lt;li&gt;How failures get detected and fixed&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Most companies pay Humanitec or Backstage $50k+/month for this.
I built it from scratch.&lt;/p&gt;</description></item><item><title>How I Built a Production GitOps Pipeline on AWS at 17 — K3s + ArgoCD + GitHub Actions from Scratch</title><link>https://edwinjdevops.github.io/engineering-platform/articles/how-i-built-a-production-gitops-pipeline-on-aws-at-17-k3s-argocd-github-actions-from-scratch/</link><pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate><guid>https://edwinjdevops.github.io/engineering-platform/articles/how-i-built-a-production-gitops-pipeline-on-aws-at-17-k3s-argocd-github-actions-from-scratch/</guid><description>&lt;p&gt;-&amp;ndash;&lt;/p&gt;
&lt;h2 id="the-problem-with-learning-devops"&gt;The Problem With &amp;ldquo;Learning&amp;rdquo; DevOps&lt;/h2&gt;
&lt;p&gt;Most people learning DevOps are watching tutorials, copying commands they don&amp;rsquo;t understand, and calling it experience.&lt;/p&gt;
&lt;p&gt;I decided to build instead.&lt;/p&gt;
&lt;p&gt;This is the exact breakdown of how I built **DevShelf** — a real Internal Developer Platform running on AWS with a full GitOps CI/CD pipeline. No shortcuts. No cloud sandboxes. Real infrastructure, real AWS costs, real engineering decisions.&lt;/p&gt;
&lt;p&gt;-&amp;ndash;&lt;/p&gt;
&lt;h2 id="what-is-gitops-and-why-it-matters"&gt;What is GitOps and Why It Matters&lt;/h2&gt;
&lt;p&gt;GitOps is a deployment model where your Git repository is the single source of truth for infrastructure state. You don&amp;rsquo;t manually deploy. You push code, and the system reconciles itself to match what&amp;rsquo;s in Git.&lt;/p&gt;</description></item></channel></rss>