<?xml version="1.0" encoding="UTF-8"?>
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>Backend & Cloud Engineering Articles</title>
      <link>https://blog.dulanwirajith.com/articles</link>
      <description>Technical articles on backend systems, cloud architecture, distributed systems, and production engineering.</description>
      <language>en-us</language>

      <atom:link href="https://blog.dulanwirajith.com/rss" rel="self" type="application/rss+xml" />

      
        <item>
          <title>Engineering Time Synchronization in a Real-Time Auction System: A Deep Dive into Clock Calibration at Scale</title>
          <link>https://blog.dulanwirajith.com/articles/system-design/time-synchronization-auction-system</link>
          <guid isPermaLink="true">https://blog.dulanwirajith.com/articles/system-design/time-synchronization-auction-system</guid>
          <description>How we fixed a 54-second clock skew bug in our auction platform using NTP-inspired calibration, zero backend changes, and five lines of math.</description>
          <pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate>
          <category>system-design</category>
        </item>

        <item>
          <title>When a Healthy Service Goes Dark: Debugging an Nginx Segmentation Fault in Production</title>
          <link>https://blog.dulanwirajith.com/articles/backend/nginx-segfault-production-debugging</link>
          <guid isPermaLink="true">https://blog.dulanwirajith.com/articles/backend/nginx-segfault-production-debugging</guid>
          <description>Health checks passed. PM2 was online. SSL was valid. Yet every request returned 500. How a crashing Nginx worker hid behind a perfectly healthy application.</description>
          <pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate>
          <category>backend</category>
        </item>

        <item>
          <title>The Decisions, Near-Disasters, and 35% Cost Savings from Rebuilding a Live Bidding Engine</title>
          <link>https://blog.dulanwirajith.com/articles/modernization/bidding-engine-tradeoffs-lessons</link>
          <guid isPermaLink="true">https://blog.dulanwirajith.com/articles/modernization/bidding-engine-tradeoffs-lessons</guid>
          <description>Why Redis and not Kafka? Why Fargate and not Kubernetes? And what happened in staging that nearly derailed the entire migration? The honest debrief, tradeoffs, the mistake that almost broke production, and the final results.</description>
          <pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate>
          <category>modernization</category>
        </item>

        <item>
          <title>AWS Cost Optimization in Australia: How AU Companies Save 40%+ in 2026</title>
          <link>https://blog.dulanwirajith.com/articles/aws/aws-cost-optimization-australia</link>
          <guid isPermaLink="true">https://blog.dulanwirajith.com/articles/aws/aws-cost-optimization-australia</guid>
          <description>Most Australian companies waste 30% on AWS. Learn real cost-cutting strategies from Sydney startups. Complete guide with code and metrics.</description>
          <pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate>
          <category>aws</category>
        </item>

        <item>
          <title>What Happens When a Container Dies Mid-Auction: Resilience Engineering in Practice</title>
          <link>https://blog.dulanwirajith.com/articles/modernization/bidding-engine-resilience</link>
          <guid isPermaLink="true">https://blog.dulanwirajith.com/articles/modernization/bidding-engine-resilience</guid>
          <description>Building a reliable system means planning for failure, not just success. Here&apos;s how we engineered Multi-AZ failover, sub-30-second crash recovery, and observability that turned hour-long incidents into 10-minute fixes.</description>
          <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
          <category>modernization</category>
        </item>

        <item>
          <title>Connecting a Fleet: How Redis Pub/Sub Makes Socket.IO Scale Across Containers</title>
          <link>https://blog.dulanwirajith.com/articles/modernization/redis-socketio-scaling</link>
          <guid isPermaLink="true">https://blog.dulanwirajith.com/articles/modernization/redis-socketio-scaling</guid>
          <description>The core challenge of scaling Socket.IO is that each server instance is an isolated island. Here&apos;s how we used @socket.io/redis-adapter and the Socket.IO v4 upgrade to bridge those islands into one unified real-time system.</description>
          <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
          <category>modernization</category>
        </item>

        <item>
          <title>System Design Trade-offs Every Engineer Should Understand</title>
          <link>https://blog.dulanwirajith.com/articles/system-design/system-design-tradeoffs</link>
          <guid isPermaLink="true">https://blog.dulanwirajith.com/articles/system-design/system-design-tradeoffs</guid>
          <description>The real-world engineering decisions behind scalable systems-consistency vs availability, monolith vs microservices, sync vs async.</description>
          <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
          <category>system-design</category>
        </item>

        <item>
          <title>Redesigning for Scale: The Architecture That Replaced a Single Point of Failure</title>
          <link>https://blog.dulanwirajith.com/articles/modernization/bidding-engine-architecture</link>
          <guid isPermaLink="true">https://blog.dulanwirajith.com/articles/modernization/bidding-engine-architecture</guid>
          <description>After the production outage, we had a clear mandate: no more single points of failure. Here&apos;s the new distributed architecture we designed, from ALB through ECS Fargate to Redis, and why we made each choice.</description>
          <pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate>
          <category>modernization</category>
        </item>

        <item>
          <title>Reducing AWS Costs by 40% Through System Optimization</title>
          <link>https://blog.dulanwirajith.com/articles/aws/aws-cost-optimization</link>
          <guid isPermaLink="true">https://blog.dulanwirajith.com/articles/aws/aws-cost-optimization</guid>
          <description>Real-world cloud cost optimization strategies applied to a production AWS environment-without sacrificing performance or reliability.</description>
          <pubDate>Wed, 06 May 2026 00:00:00 GMT</pubDate>
          <category>aws</category>
        </item>

        <item>
          <title>Scaling Backend Systems for High Concurrency</title>
          <link>https://blog.dulanwirajith.com/articles/backend/scaling-backends</link>
          <guid isPermaLink="true">https://blog.dulanwirajith.com/articles/backend/scaling-backends</guid>
          <description>How production systems handle 100K+ concurrent users without degrading latency or reliability.</description>
          <pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate>
          <category>backend</category>
        </item>

        <item>
          <title>The Day Our Auction Platform Went Dark: A Production Post-Mortem</title>
          <link>https://blog.dulanwirajith.com/articles/modernization/bidding-engine-incident</link>
          <guid isPermaLink="true">https://blog.dulanwirajith.com/articles/modernization/bidding-engine-incident</guid>
          <description>A traffic spike brought down our entire real-time platform without warning. Here&apos;s the story of what broke, why it broke, and the architectural decisions that followed.</description>
          <pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate>
          <category>modernization</category>
        </item>
    </channel>
  </rss>