Tuesday, January 27, 2026
Log tracing with OpenTelemetry and Jaeger: Code Example
Wednesday, November 12, 2025
Create VPC and Subnets in AWS CDK (Python) | Explained Step-by-Step 🚀
In this blog, we’ll explore how to create a VPC and subnets using AWS CDK in Python. Whether you’re new to AWS CDK or cloud networking, this post will help you understand how to set up a VPC with public and private subnets, configure CIDR blocks correctly, and understand how AWS handles availability zones.
You can also watch the complete hands-on tutorial on my YouTube channel here:
When you create a VPC using AWS CDK, you define the following:
-
CIDR Block (e.g.,
10.0.0.0/28) -
Subnets (public/private/isolated)
-
Availability Zones
-
NAT Gateway (if private subnets need internet access)
| Command | Purpose |
|---|---|
cdk synth |
Synthesizes your CDK code into a CloudFormation template |
cdk bootstrap |
Prepares your AWS environment for CDK deployments |
cdk deploy |
Deploys your stack(s) to AWS |
Thursday, October 30, 2025
Learn AWS FREE! | Best Way to Start AWS Cloud Training (Official AWS Ski...
Want to start your AWS Cloud journey for FREE? 🌩️
In this video, I’ll show you how you can learn AWS services completely free using the official AWS Skill Builder platform — straight from Amazon Web Services itself!
🎓 What you’ll learn in this video:
✅ How to access AWS Skill Builder
✅ Best free courses to start with (Cloud Practitioner, EC2, S3, Lambda, etc.)
✅ How to get AWS Cloud Practitioner Certified (with no cost!)
✅ Tips to learn faster and track your AWS progress
📚 Start learning now:
👉 https://skillbuilder.aws
💡 Whether you’re a beginner or want to upgrade your cloud skills, this video will help you kickstart your AWS journey without spending a single rupee!
If you found this video helpful, don’t forget to LIKE 👍, SUBSCRIBE 🔔, and SHARE it with your friends who want to learn AWS for free
Saturday, September 13, 2025
Build a RAG-Based AI Chatbot with Multi-File Upload and Chroma DB (Vector DB) Integration
Retrieval-Augmented Generation (RAG) has become a popular approach in building AI chatbots that provide accurate and context-aware answers. In this tutorial, we will build a RAG-based chatbot where users can upload multiple documents (PDF, Word, etc.) to create a custom knowledge base. When users query, the chatbot will fetch relevant context from these documents using Chroma DB (a vector database) and provide precise answers.
Watch the full step-by-step video tutorial here:
👉 YouTube Video: Build RAG-Based Chatbot with Multi-File Upload + Chroma DB
What is RAG (Retrieval-Augmented Generation)?
RAG combines:
-
Retrieval → Fetches relevant information from a knowledge base.
-
Generation → Uses an LLM (Large Language Model) like OpenAI GPT to generate context-aware answers.
This approach ensures:
-
No hallucinations (random answers).
-
Context-based responses from your documents.
- User uploads documents (PDF, Word, PPT, etc.)
- Text extraction → Convert documents into text.
- Embeddings creation → Convert text into vector embeddings.
- Store embeddings in Chroma DB
- Query flow:
- Convert user query into an embedding.
- Fetch top N relevant chunks from Chroma DB.
- Pass context + query to LLM for response.
Tools & Libraries Used:
- Python for backend
- Chroma DB for vector storage
- Hugging Face LLM
- Hugging Face Embedding Model
- Flask for API
Store embedded data in Chroma DB:
Combine with LLM for Answer Generation:
✅ Full Video Tutorial
Thursday, September 4, 2025
Deploy AWS Lambda Using AWS CDK in Python (Step-by-Step Guide)
If you want to learn how to deploy an AWS Lambda function using the AWS Cloud Development Kit (CDK) in Python, you’ve landed in the right place! In this post, I’ll walk you through the prerequisites, setup, and exact steps you need to follow. I’ll also share some code snippets and give a reference to my YouTube video tutorial for better understanding.
🎥 Watch the complete tutorial on YouTube here: AWS CDK Tutorial in Python | Deploy Lambda from S3
Before we get started, make sure you have the following ready:
Programming Language Setup – Install Python (preferably 3.10+).
Free-tier AWS Account – Sign up at AWS.
Node.js and NPM Installed – Required for CDK installation.
With AWS CDK in Python, deploying a Lambda function directly from an S3 bucket is simple and efficient. By following these steps, you can manage your infrastructure as code and automate serverless deployments.
📺 Don’t forget to watch the complete tutorial video for a practical walkthrough: Click here to watch
Tuesday, April 22, 2025
Microservices Communication Using Istio | Docker + Minikube Setup on Windows (Hands-on Tutorial)
Introduction
In the ever-evolving world of microservices architecture, choosing the right way to enable service-to-service communication is key. Whether you're building an enterprise-scale solution or experimenting with distributed systems, understanding how microservices talk to each other is a must.
In this blog, we will explore the popular ways of microservices communication, understand the power of the Service Mesh pattern with Istio, and finally go hands-on by setting up Istio on Windows using Docker and Minikube.
🎥 Watch Full Tutorial Here:
👉 Microservices Communication Using Istio | Docker + Minikube Setup on Windows (Hands-on Tutorial)
Microservices can communicate in a few different ways:
-
HTTP REST APIs – Most common and simple.
-
gRPC – Efficient and high-performance.
-
Message Queues (Kafka, RabbitMQ) – For asynchronous and decoupled communication.
However, with increasing complexity, managing this communication becomes harder — that’s where Service Mesh comes in.
What is a Service Mesh?
A Service Mesh is a design pattern that provides a dedicated infrastructure layer to manage service-to-service communication. It offers:
-
Load balancing
Service discovery
-
Traffic management
-
Observability
-
Security (mTLS)
-
Fault tolerance
All without changing the application code!
Sidecar Proxy & Control Plane:
The service mesh uses the Sidecar Pattern, where each service instance runs alongside a proxy container (usually Envoy).
This proxy handles all the incoming and outgoing traffic, enabling advanced traffic control and telemetry.
The Control Plane (like Istio) configures these proxies and coordinates their behavior across the mesh.
Why Istio?
Istio is one of the most powerful and widely-used service meshes. It simplifies observability, traffic management, and security for microservices. It works seamlessly with Kubernetes and supports features like:
-
Traffic shaping
-
Canary deployments
-
Circuit breakers
-
Dashboards (Kiali, Jaeger)
Step-by-Step Setup (Windows + Docker + Minikube)
Prerequisites
-
Install Docker Desktop
-
Set Environment Path for Docker
-
Install Minikube (ensure virtualization support is enabled)
-
Create a DockerHub account
Service Mesh Setup Using Istio
1. Create Microservices
-
User Service
-
Order Service
-
Payment Service
docker build -t user-service ./userdocker build -t order-service ./orderdocker build -t payment-service ./payment
3. Push Images to DockerHub
docker push docker-hub-username/user-service
docker push docker-hub-username/order-service
docker push docker-hub-username/payment-service
4. Start Minikube
minikube start
5. Install istio
istioctl install --set profile=demo -y
6. Inject Istio container as a sidecar proxy in each pod
kubectl label namespace default istio-injection=enabled
7. Run deployment yaml files to create POD replicas
kubectl apply -f user-deployment.yaml
kubectl apply -f order-deployment.yaml
kubectl apply -f payment-deployment.yaml
8. Run Istio yaml file to enable external gateway
kubectl apply -f istio-gateway.yaml
9. Run horizonal pod autoscaling yaml
kubectl apply -f order-hpa.yaml
kubectl apply -f payment-hpa.yaml
kubectl apply -f user-hpa.yaml
10. Run Circuit breaker yaml file
kubectl apply -f payment-cb.yaml
11. Get External IP that is exposed by Istio gateway
minikube tunnel
# In another terminal
kubectl get svc istio-ingressgateway -n istio-system
12. Enable Observability - Optional
istioctl dashboard kiali
istioctl dashboard jaeger
13. Test the User API through postman with below url and input body data
Setting up a service mesh using Istio may seem overwhelming at first, but once done, it significantly simplifies and strengthens your microservice communication.
If you found this blog helpful, don't forget to subscribe, like, and share the video to help others learn!
👉 Click here to watch the complete hands-on tutorial on YouTube
Saturday, December 28, 2024
Master IAM Authentication: Lambda, API Gateway, and Signature V4 in Action
Authentication and Authorization two very important pillar of web security. Authentication is basically used to identify the user. It verifies the user is the same user that he is supposed to be. Authorization is used to verify what the user can do. What access he is having.
Here, I am going to discuss about the Authorization. In AWS, authorization can be implemented in 3 ways:
- IAM Auth
- Lambda authorizer
- Token authorizer
I have created an youtube video on IAM Auth. Here I have shown lambda function creation, API creation, Route Creation, attaching routes with corresponding lambda functions, associating IAM auth with routes, User group creation, User creation, Policy creation and passing signature version 4 token in postman to test authorization of these routes. Below are the steps:
- Create two lambda functions for handling two routes
- In API Gateway - Create two routes like /helloadmin and /hellouser with GET method
- Attach both routes with corresponding lambda functions
- Attach each route with IAM auth for authorization
- In IAM - Create two groups say Admin and Client
- Create two users named as admin_user and client_user under corresponding groups
- Create in line policy for both groups
Sunday, November 3, 2024
PM2 vs Kubernetes : Do You Really Need Both for Your Node.js App
- Process management and monitoring
- Automatic restart on failure
- Load balancing
- Graceful shutdown
- Real time metrics and logging
Tuesday, October 1, 2024
Master PM2: Ultimate Guide to Node.js Process Management & Optimization
- Automatic Restart: If your application crashes, PM2 automatically restarts it, ensuring minimal downtime.
- Load balancing: PM2 can run your application in cluster mode, leveraging multi-core processors for better performance and scalability.
- Process monitoring: It tracks resource consumption (CPU, memory) and provides insights through monitoring tools.
- Log Management: PM2 aggregates logs from multiple instances of your application, providing centralized logging and an easy way to debug issues. It also allows you to view real-time logs and can be configured to send logs to external log services.
- Performance Optimization: PM2 allows you to run multiple instances of your application (in cluster mode), distributing the load across multiple CPU cores, improving application throughput.
- Environment Management: PM2 supports different environments (development, production) and allows you to define different configurations for each environment.
- Memory Management: PM2 provides options to set memory limits for your applications. When memory consumption exceeds the limit, it will automatically restart the app, preventing memory leaks from causing issues.
- Real-time Monitoring Dashboard: PM2 offers a real-time web dashboard to monitor application status, CPU, memory, and other metrics. This helps in identifying performance bottlenecks or issues in real time.
Passing Environment variables: We can pass some secure data to our application at startup time in PM2 through environment variables using below command:
Similarly, if we want to run another application by using ecosystem.config.js file, then we have to create a separate ecosystem.config.js file and run the command "pm2 start ecosystem.config.js" with respect to this file.

