馃憢 Welcome to my blog!
- This is where i share my Learnings as well as useful content found around the web.
馃憢 Welcome to my blog!
Introduction While much of the online discourse related to Generative AI is focussed on Automated code Generation. 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: ...
Introduction A Software Bill of Materials (SBOM) is a list of all the components, libraries, and modules that make up a software, providing transparency into its composition. It describes various packages and dependencies that go into creating a software artifact. Software products are composed of many different components, some of which might come from third party sources. These third-party components and dependencies can have vulnerabilities, which attackers can exploit, leading to security incident or breaches. Key threats include attackers inserting malicious code, vulnerabilities in outdated components, and breaches by compromised suppliers. These issues can lead to data breaches, operational disruptions, and reputational damage. SBOM can help improve software security and protect against potential threats. ...