馃憢 Welcome to my blog!
- This is where i share my Learnings as well as useful content found around the web.
馃憢 Welcome to my blog!
Executive Summary and key Constraints In enterprise, there are applications with specific high availability requirements. Online transaction processing (OLTP) applications are prime examples of this requirement. Deploying high-availability (HA) architectures for these applications across multi-site environments requires balancing data consistency, recovery objectives, and operational complexity while adhering to constraints. This post evaluates architecture options for a write-heavy, mission-critical OLTP application deployed across two on-premise data centers using open-source tools. Current State (Deployment) ...
Introduction Nowadays, much of the online commentary related to Generative AI is focussed on Automated code Generation and rightly so. But Lets look at alternate use case of it. Traditionally, Business Intelligence (BI) relies on custom-built dashboards and reports that query a data warehouse. This often requires heavy intervention from engineering teams to analyze requirements, develop artifacts, and maintain them over time. Imagine your data warehouse is built on a SQL-based DBMS with a custom web interface for analytics. Even with this setup, typical challenges remain: ...
Introduction This article explores various ways in which Dapr helps with development and operations of distributed applications. If you build software today, you are likely building a distributed system. Whether it鈥檚 two services talking or a monolith calling a lambda, you have crossed the process boundary. Distributed applications are software systems that consist of multiple components or modules running independently over network. These components work together to achieve a common goal while communicating and coordinating their actions across the network. ...
Introduction This article compiles my notes on an excellent architectural deep-dive by Jeffrey Richter. He outlines how to architect robust AI Agents using Google鈥檚 Agent-to-Agent (A2A) protocol for coordination and Anthropic鈥檚 Model Context Protocol (MCP) for tool integration. It is a must-read for anyone moving beyond simple chatbots to complex agentic workflows. You can read the original article here. ...
Introduction Good software architecture is crucial for a business to reach its goals. It provides a structured way to build software that is easy to maintain, reliable, and performs well. Key drivers of software architecture Several factors influence a software鈥檚 architecture: Business requirements: What the software needs to do. Quality attributes: How well the software performs, such as its speed, scalability, and availability. Agility: How quickly the development team can adapt to changes. Constraints: The limitations of the deployment environment, such as the hardware or operating system. Principles: Established practices, like automated testing and deployment, that guide the development process. Different Ways to Structure Software There are two main ways to build software applications: ...