<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Raphael Gab-Momoh — Cloud Engineering Blog</title>
    <link>https://raphaelgmomoh.pages.dev</link>
    <description>Deep-dive operational blueprints, architecture decision records, and FinOps guides from Raphael Gab-Momoh, 5x Microsoft MVP.</description>
    <language>en-us</language>
    <atom:link href="https://raphaelgmomoh.pages.dev/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Building AI-Powered Applications with Azure Database for PostgreSQL</title>
      <link>https://raphaelgmomoh.pages.dev/articles/azure-postgresql-ai-rag-applications</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/azure-postgresql-ai-rag-applications</guid>
      <pubDate>Mon, 31 Aug 2026 23:00:00 GMT</pubDate>
      <description>A granular walkthrough of turning Azure Database for PostgreSQL into an AI application backend — pgvector embeddings, semantic search, in-database Azure OpenAI calls, a full RAG pipeline, and a simple generative agent.</description>
      <category>Azure Database for PostgreSQL</category>
      <category>pgvector</category>
      <category>RAG</category>
      <category>Azure OpenAI</category>
      <category>AI</category>
    </item>
    <item>
      <title>Configuring and Migrating to Azure Database for PostgreSQL</title>
      <link>https://raphaelgmomoh.pages.dev/articles/azure-postgresql-migration-and-high-availability</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/azure-postgresql-migration-and-high-availability</guid>
      <pubDate>Mon, 31 Aug 2026 23:00:00 GMT</pubDate>
      <description>A granular DBA-level walkthrough — migrating a database with minimal downtime, configuring zone-redundant high availability, tuning query performance, and locking down identity and network access.</description>
      <category>Azure Database for PostgreSQL</category>
      <category>Migration</category>
      <category>High Availability</category>
      <category>Database Administration</category>
      <category>PostgreSQL</category>
    </item>
    <item>
      <title>Deploying Cloud-Native Apps with Azure Container Apps</title>
      <link>https://raphaelgmomoh.pages.dev/articles/azure-container-apps-cicd-and-scaling</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/azure-container-apps-cicd-and-scaling</guid>
      <pubDate>Mon, 31 Aug 2026 23:00:00 GMT</pubDate>
      <description>A granular build: a secure, identity-based connection to Azure Container Registry, KEDA-based autoscaling rules, continuous deployment via Azure Pipelines, and safe revision management for zero-downtime rollouts.</description>
      <category>Azure Container Apps</category>
      <category>Azure Container Registry</category>
      <category>Azure Pipelines</category>
      <category>CI/CD</category>
      <category>DevOps</category>
    </item>
    <item>
      <title>Containerizing MultiLangua for Azure Container Apps</title>
      <link>https://raphaelgmomoh.pages.dev/articles/containerize-deploy-multlingua-azure-container-apps</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/containerize-deploy-multlingua-azure-container-apps</guid>
      <pubDate>Mon, 31 Aug 2026 23:00:00 GMT</pubDate>
      <description>A real migration, not a toy example — MultiLangua&apos;s Firebase Hosting deployment only serves static files, so its AI chat backend never actually runs in production. Containerizing it for Azure Container Apps is what makes the full app work end to end.</description>
      <category>Azure Container Apps</category>
      <category>Docker</category>
      <category>CI/CD</category>
      <category>GitHub Actions</category>
      <category>Migration</category>
    </item>
    <item>
      <title>Containerizing ORIN: From Docker to Azure App Service and a Plain VM</title>
      <link>https://raphaelgmomoh.pages.dev/articles/orin-containerize-azure-app-service-vm</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/orin-containerize-azure-app-service-vm</guid>
      <pubDate>Mon, 31 Aug 2026 23:00:00 GMT</pubDate>
      <description>The same Express + Vite app, deployed two different ways — Azure App Service and a plain Azure VM — to see exactly what a managed PaaS product is buying you over doing it by hand, then automated end to end with GitHub Actions.</description>
      <category>Azure App Service</category>
      <category>Azure VM</category>
      <category>Docker</category>
      <category>CI/CD</category>
      <category>GitHub Actions</category>
    </item>
    <item>
      <title>Networking MYRIX: Hub-Spoke VNets, Bastion, and Load-Balancer Health on Azure</title>
      <link>https://raphaelgmomoh.pages.dev/articles/myrix-azure-hub-spoke-networking-monitoring</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/myrix-azure-hub-spoke-networking-monitoring</guid>
      <pubDate>Mon, 31 Aug 2026 23:00:00 GMT</pubDate>
      <description>A containerized Flutter game deployed to a plain Azure VM with no public IP at all — reached only through a hub-spoke VNet, peered networks, Azure Bastion for management, and a Standard Load Balancer whose health probe is the actual first line of monitoring.</description>
      <category>Azure Networking</category>
      <category>VNet Peering</category>
      <category>Azure Bastion</category>
      <category>Load Balancer</category>
      <category>Azure Monitor</category>
    </item>
    <item>
      <title>Supabase vs. MongoDB vs. Firebase: A Real App, Three Backends</title>
      <link>https://raphaelgmomoh.pages.dev/articles/supabase-vs-mongodb-vs-firebase-real-comparison</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/supabase-vs-mongodb-vs-firebase-real-comparison</guid>
      <pubDate>Mon, 31 Aug 2026 23:00:00 GMT</pubDate>
      <description>The same minimal notes app — signup, create a note, list notes — built three times against three real backends. One needed zero backend code. One needed a hand-written auth server. One rejected a write with a real 403 and exposed a genuine tooling limitation along the way.</description>
      <category>Supabase</category>
      <category>MongoDB</category>
      <category>Firebase</category>
      <category>Backend as a Service</category>
    </item>
    <item>
      <title>Zero Trust Network Architecture in Azure: Firewalls, Private Link &amp; NSGs</title>
      <link>https://raphaelgmomoh.pages.dev/articles/zero-trust-azure-networking</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/zero-trust-azure-networking</guid>
      <pubDate>Fri, 31 Jul 2026 23:00:00 GMT</pubDate>
      <description>A deep dive into perimeter-less networking, micro-segmentation, and central hub-and-spoke security enforcement.</description>
      <category>Zero Trust</category>
      <category>Azure Firewall</category>
      <category>Security</category>
      <category>VNet</category>
      <category>Private Link</category>
    </item>
    <item>
      <title>Automate Azure Load Testing Using GitHub Actions</title>
      <link>https://raphaelgmomoh.pages.dev/articles/automate-azure-load-testing-github-actions</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/automate-azure-load-testing-github-actions</guid>
      <pubDate>Fri, 31 Jul 2026 23:00:00 GMT</pubDate>
      <description>Wiring Azure Load Testing into a GitHub Actions pipeline so every pull request gets an automated, pass/fail-gated performance test — based on the pattern in Microsoft&apos;s Automate Azure Load Testing Applied Skills path.</description>
      <category>Azure Load Testing</category>
      <category>GitHub Actions</category>
      <category>CI/CD</category>
      <category>Performance Engineering</category>
      <category>Azure</category>
    </item>
    <item>
      <title>Cloud Security and Monitoring in Azure: Defender for Cloud, Key Vault, Firewall, and Log Analytics</title>
      <link>https://raphaelgmomoh.pages.dev/articles/azure-cloud-security-and-monitoring-fundamentals</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/azure-cloud-security-and-monitoring-fundamentals</guid>
      <pubDate>Fri, 31 Jul 2026 23:00:00 GMT</pubDate>
      <description>A granular, hands-on walkthrough of the four pillars a security engineer sets up first in Azure — workload protection with Defender for Cloud, key management with Key Vault, network filtering with Azure Firewall, and centralized monitoring with a Log Analytics workspace.</description>
      <category>Microsoft Defender for Cloud</category>
      <category>Azure Key Vault</category>
      <category>Azure Firewall</category>
      <category>Azure Monitor</category>
      <category>Security</category>
    </item>
    <item>
      <title>FinOps for Kubernetes: Cost Optimization &amp; Sizing on Azure AKS</title>
      <link>https://raphaelgmomoh.pages.dev/articles/finops-kubernetes-azure-aks-optimization</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/finops-kubernetes-azure-aks-optimization</guid>
      <pubDate>Tue, 30 Jun 2026 23:00:00 GMT</pubDate>
      <description>Practical strategies to slash compute spend by 40% on AKS clusters using spot node pools, KEDA auto-scalers, and Azure Data Lake Gen2 tiering.</description>
      <category>FinOps</category>
      <category>AKS</category>
      <category>Kubernetes</category>
      <category>Data Lake Gen2</category>
      <category>Azure</category>
    </item>
    <item>
      <title>FinOps in Practice: Stop Wasting Money on Idle Azure Resources</title>
      <link>https://raphaelgmomoh.pages.dev/articles/finops-azure-idle-resource-cleanup</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/finops-azure-idle-resource-cleanup</guid>
      <pubDate>Tue, 30 Jun 2026 23:00:00 GMT</pubDate>
      <description>A practical guide to using Azure Resource Graph, Azure Policy, Azure Advisor, Cost Management, and automation to identify unused resources, reduce cloud waste, and establish sustainable FinOps governance.</description>
      <category>FinOps</category>
      <category>Governance</category>
      <category>Resource Graph</category>
      <category>Azure Policy</category>
    </item>
    <item>
      <title>Alibaba Cloud for African Developers: Building a Low-Cost Cloud Architecture</title>
      <link>https://raphaelgmomoh.pages.dev/articles/alibaba-cloud-for-african-developers</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/alibaba-cloud-for-african-developers</guid>
      <pubDate>Tue, 30 Jun 2026 23:00:00 GMT</pubDate>
      <description>How a small African startup can build a first production platform without over-engineering — a realistic reference architecture, and an honest account of which components to skip until you actually need them.</description>
      <category>Alibaba Cloud Engineering Lab Series</category>
      <category>Community</category>
      <category>Alibaba Cloud</category>
      <category>Cost Optimization</category>
      <category>Developer Advocacy</category>
    </item>
    <item>
      <title>Building Resilient Azure OpenAI Apps: Rate Limits, Fallbacks &amp; Private Networking</title>
      <link>https://raphaelgmomoh.pages.dev/articles/resilient-azure-openai-apps</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/resilient-azure-openai-apps</guid>
      <pubDate>Sun, 31 May 2026 23:00:00 GMT</pubDate>
      <description>A practical architectural guide to handling TPM/RPM throttling, regional failover, graceful degradation, and private connectivity for production-grade Azure OpenAI applications.</description>
      <category>Azure OpenAI</category>
      <category>Architecture</category>
      <category>Resilience</category>
      <category>Bicep</category>
    </item>
    <item>
      <title>Alibaba Cloud Observability Lab: Finding a Production Problem Before Users Do</title>
      <link>https://raphaelgmomoh.pages.dev/articles/alibaba-cloud-observability-incident-response</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/alibaba-cloud-observability-incident-response</guid>
      <pubDate>Sun, 31 May 2026 23:00:00 GMT</pubDate>
      <description>A deliberately broken application, investigated end-to-end: metrics, logs, alerts, root-cause analysis, fix, and verification — an incident-response walkthrough, not a monitoring-tool tutorial.</description>
      <category>Alibaba Cloud Engineering Lab Series</category>
      <category>Observability</category>
      <category>SRE</category>
      <category>Incident Response</category>
      <category>Alibaba Cloud</category>
    </item>
    <item>
      <title>Disaster Recovery on Alibaba Cloud: Designing for Failure</title>
      <link>https://raphaelgmomoh.pages.dev/articles/disaster-recovery-alibaba-cloud</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/disaster-recovery-alibaba-cloud</guid>
      <pubDate>Thu, 30 Apr 2026 23:00:00 GMT</pubDate>
      <description>A real disaster-recovery experiment — deliberately failing ECS, a container, and a data object, then measuring actual recovery time against target RTOs rather than assuming a runbook works.</description>
      <category>Alibaba Cloud Engineering Lab Series</category>
      <category>Disaster Recovery</category>
      <category>Reliability</category>
      <category>Alibaba Cloud</category>
    </item>
    <item>
      <title>Building a DevSecOps Pipeline on Alibaba Cloud</title>
      <link>https://raphaelgmomoh.pages.dev/articles/devsecops-pipeline-alibaba-cloud</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/devsecops-pipeline-alibaba-cloud</guid>
      <pubDate>Tue, 31 Mar 2026 23:00:00 GMT</pubDate>
      <description>Security folded into every stage of the delivery pipeline — code scanning, container image scanning, secrets management, and IAM controls — rather than a checklist run once before production.</description>
      <category>Alibaba Cloud Engineering Lab Series</category>
      <category>DevSecOps</category>
      <category>Security</category>
      <category>CI/CD</category>
      <category>Alibaba Cloud</category>
    </item>
    <item>
      <title>Docker Compose for Real Local Dev Parity</title>
      <link>https://raphaelgmomoh.pages.dev/articles/docker-compose-local-dev-parity</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/docker-compose-local-dev-parity</guid>
      <pubDate>Tue, 31 Mar 2026 23:00:00 GMT</pubDate>
      <description>An app and a Postgres database, wired together with health-gated startup ordering and a named volume — torn all the way down and brought back up to prove the data actually survives, not just assumed to.</description>
      <category>Docker</category>
      <category>Docker Compose</category>
      <category>PostgreSQL</category>
      <category>Local Development</category>
    </item>
    <item>
      <title>GitOps on Alibaba Cloud ACK: Automating Kubernetes Deployments with Git</title>
      <link>https://raphaelgmomoh.pages.dev/articles/gitops-on-alibaba-cloud-ack</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/gitops-on-alibaba-cloud-ack</guid>
      <pubDate>Sat, 28 Feb 2026 23:00:00 GMT</pubDate>
      <description>A full GitOps workflow on ACK with ArgoCD — repo structure, environment separation, automated sync — and a documented account of what happens, and how to recover, when a deployment fails.</description>
      <category>Alibaba Cloud Engineering Lab Series</category>
      <category>GitOps</category>
      <category>ACK</category>
      <category>Kubernetes</category>
      <category>Alibaba Cloud</category>
    </item>
    <item>
      <title>Rootless Containers: Converting a Real Image and Fixing What Breaks</title>
      <link>https://raphaelgmomoh.pages.dev/articles/docker-rootless-containers-converting-what-breaks</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/docker-rootless-containers-converting-what-breaks</guid>
      <pubDate>Sat, 28 Feb 2026 23:00:00 GMT</pubDate>
      <description>Adding one USER line to a working Dockerfile is easy. Watching the container crash with a real EACCES error the moment it tries to write a file — and fixing it properly — is what actually teaches you why most images still run as root.</description>
      <category>Docker</category>
      <category>Security</category>
      <category>Rootless Containers</category>
      <category>Azure Container Instances</category>
    </item>
    <item>
      <title>Building a Secure Alibaba Cloud VPC: From Public Internet to Private Architecture</title>
      <link>https://raphaelgmomoh.pages.dev/articles/secure-alibaba-cloud-vpc-architecture</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/secure-alibaba-cloud-vpc-architecture</guid>
      <pubDate>Sat, 31 Jan 2026 23:00:00 GMT</pubDate>
      <description>A realistic multi-tier network build — public frontend, private backend, database-tier isolation, bastion access, and the troubleshooting session that happens when a route table is wrong.</description>
      <category>Alibaba Cloud Engineering Lab Series</category>
      <category>Networking</category>
      <category>VPC</category>
      <category>Security</category>
      <category>Alibaba Cloud</category>
    </item>
    <item>
      <title>BuildKit Cache Mounts: A Benchmark That Didn&apos;t Go the Way I Expected</title>
      <link>https://raphaelgmomoh.pages.dev/articles/buildkit-cache-mounts-benchmark</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/buildkit-cache-mounts-benchmark</guid>
      <pubDate>Sat, 31 Jan 2026 23:00:00 GMT</pubDate>
      <description>I expected RUN --mount=type=cache to dramatically speed up repeated npm installs. I benchmarked it in a real GitHub Actions workflow instead of assuming, and the honest result was smaller than the hype — here&apos;s why, with the actual timing logs.</description>
      <category>Docker</category>
      <category>BuildKit</category>
      <category>CI/CD</category>
      <category>GitHub Actions</category>
    </item>
    <item>
      <title>Alibaba Cloud AI Infrastructure: Building an AI Application with ECS and PAI</title>
      <link>https://raphaelgmomoh.pages.dev/articles/alibaba-cloud-ai-infrastructure-ecs-pai</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/alibaba-cloud-ai-infrastructure-ecs-pai</guid>
      <pubDate>Wed, 31 Dec 2025 23:00:00 GMT</pubDate>
      <description>What it actually takes to move an AI prototype into cloud infrastructure — ECS compute, Platform for AI (PAI) model serving, OSS-backed model artifacts, and the API layer that ties it together.</description>
      <category>Alibaba Cloud Engineering Lab Series</category>
      <category>AI Infrastructure</category>
      <category>PAI</category>
      <category>ECS</category>
      <category>Alibaba Cloud</category>
    </item>
    <item>
      <title>Multi-Stage Builds: What Actually Gets Thrown Away</title>
      <link>https://raphaelgmomoh.pages.dev/articles/docker-multistage-builds-what-gets-thrown-away</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/docker-multistage-builds-what-gets-thrown-away</guid>
      <pubDate>Wed, 31 Dec 2025 23:00:00 GMT</pubDate>
      <description>The same app, the same dependencies, built two ways — a naive single-stage Dockerfile and a real multi-stage one — measured byte-for-byte to see exactly what a second FROM line throws away.</description>
      <category>Docker</category>
      <category>Multi-Stage Builds</category>
      <category>BuildKit</category>
      <category>Container Images</category>
    </item>
    <item>
      <title>FinOps on Alibaba Cloud: Cost Visibility, Governance, and Optimization at Scale</title>
      <link>https://raphaelgmomoh.pages.dev/articles/finops-on-alibaba-cloud</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/finops-on-alibaba-cloud</guid>
      <pubDate>Sun, 30 Nov 2025 23:00:00 GMT</pubDate>
      <description>Applying FinOps discipline — cost allocation, RI/Savings Plan strategy, and automated waste elimination — to Alibaba Cloud, for engineers extending a multi-cloud cost-optimization practice beyond Azure.</description>
      <category>FinOps</category>
      <category>Alibaba Cloud</category>
      <category>Cost Optimization</category>
      <category>Governance</category>
    </item>
    <item>
      <title>Kubernetes on ACK: Cloud-Native Operations and Troubleshooting on Alibaba Cloud</title>
      <link>https://raphaelgmomoh.pages.dev/articles/kubernetes-on-ack</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/kubernetes-on-ack</guid>
      <pubDate>Fri, 31 Oct 2025 23:00:00 GMT</pubDate>
      <description>A hands-on operational guide to Container Service for Kubernetes (ACK) — cluster provisioning, node pool autoscaling, ingress, and the diagnostic workflow for troubleshooting production incidents.</description>
      <category>Kubernetes</category>
      <category>ACK</category>
      <category>Alibaba Cloud</category>
      <category>Architecture</category>
      <category>Troubleshooting</category>
    </item>
    <item>
      <title>Terraform on Alibaba Cloud: Building Repeatable Infrastructure as Code</title>
      <link>https://raphaelgmomoh.pages.dev/articles/terraform-on-alibaba-cloud</link>
      <guid isPermaLink="true">https://raphaelgmomoh.pages.dev/articles/terraform-on-alibaba-cloud</guid>
      <pubDate>Tue, 30 Sep 2025 23:00:00 GMT</pubDate>
      <description>A complete Terraform project on Alibaba Cloud — module structure, state management, CI/CD, drift detection, and the boundary where Terraform ends and configuration management begins.</description>
      <category>Terraform</category>
      <category>Alibaba Cloud</category>
      <category>IaC</category>
      <category>Multi-Cloud</category>
      <category>Architecture</category>
    </item>
  </channel>
</rss>
