Someswar's Tech blog

I plan to use this platform to share my knowledge, experiences, and technical expertise with the aim of motivating other software engineers. Whether you’re new to coding or an experienced developer looking for new ideas, I welcome you to join me in this journey of discovery and creativity.

Stop Building Uncontrolled AI Agents: Apply Distributed Systems Principles to Agentic AI

Introduction: The Agent That Worked Perfectly in the Demo Imagine building an AI agent that helps customer support teams resolve ride-hailing issues. A user asks: My driver never arrived, but I was charged a cancellation fee. Can you investigate and refund the amount if I’m eligible? The agent needs to perform several steps: A capable … Read more

RAG Is Not a Vector Database Problem: Engineering Retrieval Systems That Actually Work

Introduction: The RAG Demo That Works Until It Meets Reality Retrieval-Augmented Generation (RAG) has become one of the most practical approaches to building applications powered by Large Language Models (LLMs). The idea is straightforward: retrieve relevant information from your own data, provide it to an LLM as context, and generate an answer grounded in that … Read more

Scaling AWS SQS Event Processing with Java Virtual Threads

Scaling AWS SQS Event Processing with Java Virtual Threads

Introduction In today’s event-driven architectures, processing millions of events efficiently while maintaining high throughput and low latency is a challenging task. The traditional threading model struggles to scale when dealing with thousands of AWS SQS queues, each requiring continuous polling and message processing. In this blog, I’ll walk you through how I designed a high-performance, … Read more

Async or Sync? Choosing the Right DynamoDB Client for High-Concurrency Applications​

Java Async dynamodb

Introduction: A High-Concurrency Problem Picture this: You’re asked to build a high-concurrency application with dynamodb and Java. What dynamodb client will you choose? Async or Sync? No worries, we will analyze here: Let’s think the high concurrency application is webhook-driven system with three core services—Config, Event Processor, and Webhook Dispatcher—all talking to a single, centralized … Read more

Optimize Your Development: Essential Insights into the Top 3 Serverless Patterns

Image courtesy: https://aws.amazon.com/solutions/implementations/serverless-image-handler/

In today’s fast-moving tech world, making development easier is super important. One big thing folks are talking about is serverless computing. It’s like having super flexible and scalable tools for building stuff. This article dives into the top three serverless patterns to help make your development work smoother. Understanding Serverless:  Before we get into the … Read more

Optimize, Retry, Succeed: Enhancing AWS SQS Message Processing with Java

In this blog, I’ll delve into asynchronous retry mechanisms and illustrate the process of implementing retries through the inherent functions of a broker, leveraging AWS SQS. This method will optimize the message processing in success and failure cases. While crafting our integration points with remote APIs, it’s crucial to account for potential error scenarios, categorized … Read more