Posts

Featured:

Generative AI - Chat with your data

Image
 Overview In the digital age, we can use the power of generative AI to build custom innovative solutions by enabling users to interact with their documents or websites through natural language conversations. This blog-post focuses on a simple use-case where the user can chat/query an uploaded PDF, JSON data or an existing website with natural language conversations using RAG(Retrieval-Augmented Generation). The entire stack is based on open source technologies and can be implemented without having to pay a dime. Tech stack: Node js - Popular Backend framework based on Javascript Langchain JS   - Javascript based framework for developing applications powered by language models Cohere - Open source LLM model Mongo DB Atlas -  an integrated suite of data services centered around a cloud database which can also store vector embeddings. Pre-Requisites Node JS -  Install version 18 and above. Cohere API Key - Sign up to Cohere and procure an API Key (free of cost) Mongo DB Atlas - Sign up

Continuous Delivery with Argo CD and Kubernetes

Image
Overview Continuous Delivery (CD) has become a cornerstone practice for organizations striving to deliver high-quality software at scale, efficiently and reliably. Among the myriad of tools available to facilitate CD, Argo CD stands out as a powerful and flexible solution for managing Kubernetes applications. Argo CD Argo CD is an open-source, declarative continuous delivery tool designed to automate the deployment of applications to Kubernetes clusters. It provides a GitOps-driven approach, where the desired state of your applications is defined in Git repositories, and Argo CD ensures that the actual state matches the desired state, continuously reconciling any discrepancies. Some of the Important features of Argo CD are as follows: Declarative Configuration : Argo CD uses declarative YAML manifests to define the desired state of applications and their environments, making it easy to version control and manage changes. GitOps Workflow : With Argo CD, the entire application deployment

Kubernetes made easy with AWS EKS

Image
 Overview Kubernetes Kubernetes (K8s) is an open-source system for automating deployment, scaling and management of containerized applications. Some of the key features of Kubernetes are: Automated rollouts and rollbacks Storage orchestration Service discovery and load balancing Self-healing Secret and configuration management Horizontal scaling AWS EKS Amazon Elastic Kubernetes Service (Amazon EKS) is a managed Kubernetes service to run Kubernetes in the AWS cloud. Amazon EKS automatically manages the availability and scalability of the Kubernetes control plane nodes responsible for scheduling containers, managing application availability, storing cluster data, and other key tasks. With Amazon EKS, you can take advantage of all the performance, scale, reliability, and availability of AWS infrastructure, as well as integrations with AWS networking and security services. Create EKS Cluster & Node Groups We will be trying to setup an EKS cluster on AWS using the following tools: AWS

Serverless Workflows using AWS Step Functions

Image
Overview AWS Step Functions is a visual workflow service that helps developers use AWS services to build distributed applications, automate processes, orchestrate microservices in a serverless manner. Step Functions simplifies the process of managing complex workflows, allowing you to focus on business logic rather than infrastructure management. Key Features and Benefits 1. Visual Workflow Designer Step Functions provides a visual workflow designer that allows you to define and visualize your workflows graphically. This intuitive interface makes it easy to model complex workflows using a state machine-based approach. By dragging and dropping states onto the canvas, you can design workflows with ease, gaining a comprehensive understanding of the entire process at a glance. 2. Scalability and Resilience One of the primary advantages of Step Functions is its scala

AWS Lambda with API Gateway and spring boot

Image
Authentication with Firebase using AWS Lambda, API Gateway and Spring boot In this post, i will show you an example on how to create a Lambda function using a spring boot application, and then access the lambda function using API Gateway. A good use- case for this kind of set-up is as follows: Consider you have an api key which you are using to access a backend service like Firebase authentication.  Assuming that you have a frontend single page application like Angular, React etc, in a typical scenario you provide the api key in the environment.ts file and then invoke the backend using the api.  The biggest problem obviously is that since the single page applications are executed on the browser, anyone accessing the application can use the api key. There are different ways to solve this problem, for example keep the key in some backend application and make a request to the backend application to fetch the key. Though i feel this is not the best solution as the end users can still inspe