<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: kasi suresh</title>
    <description>The latest articles on DEV Community by kasi suresh (@kasisureshd).</description>
    <link>https://dev.to/kasisureshd</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3360780%2Fcae8b2a0-fd91-485c-a78a-a64493e58d7d.jpg</url>
      <title>DEV Community: kasi suresh</title>
      <link>https://dev.to/kasisureshd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kasisureshd"/>
    <language>en</language>
    <item>
      <title>RAG</title>
      <dc:creator>kasi suresh</dc:creator>
      <pubDate>Mon, 21 Jul 2025 17:59:31 +0000</pubDate>
      <link>https://dev.to/kasisureshd/rag-2ndp</link>
      <guid>https://dev.to/kasisureshd/rag-2ndp</guid>
      <description>&lt;p&gt;What is RAG in Gen AI — and Why Should You Care?&lt;/p&gt;

&lt;p&gt;RAG = Retrieval-Augmented Generation&lt;/p&gt;

&lt;p&gt;It’s a game-changer when it comes to combining LLMs + real-time data.&lt;br&gt;
Instead of just relying on pre-trained knowledge, RAG allows your AI to fetch relevant context from your data (PDFs, docs, databases) before answering a question.&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;You ask: “What’s our Azure cost trend last quarter?”&lt;br&gt;
Traditional LLM: “I don’t have real-time data.”&lt;br&gt;
RAG-powered LLM: Fetches your cost reports → reads them → gives a context-aware answer. &lt;/p&gt;

&lt;p&gt;How It Works (Simplified):&lt;/p&gt;

&lt;p&gt;User Question →&lt;br&gt;
Retrieve relevant chunks from your data using embeddings →&lt;br&gt;
Feed into LLM as context →&lt;br&gt;
LLM generates a much more accurate + personalized response&lt;/p&gt;

&lt;p&gt;Why It Matters:&lt;br&gt;
Keeps LLMs up-to-date&lt;br&gt;
Reduces hallucinations&lt;br&gt;
Makes GenAI enterprise-ready&lt;/p&gt;

&lt;p&gt;Want to explore RAG with a practical lens?&lt;br&gt;
 Check out the full post: kasdevtech.com/ai/rag&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Azure Private Endpoints for Secure Networking</title>
      <dc:creator>kasi suresh</dc:creator>
      <pubDate>Thu, 17 Jul 2025 18:21:56 +0000</pubDate>
      <link>https://dev.to/kasisureshd/azure-private-endpoints-for-secure-networking-42o5</link>
      <guid>https://dev.to/kasisureshd/azure-private-endpoints-for-secure-networking-42o5</guid>
      <description>&lt;p&gt;What is a Private Endpoint?#&lt;/p&gt;

&lt;p&gt;A Private Endpoint in Azure allows you to connect to Azure services (like Storage, SQL, CosmosDB, etc.) over a private IP inside your Azure Virtual Network (VNet), instead of using the public internet.&lt;/p&gt;

&lt;p&gt;Think of it as a private IP address for an Azure service. This ensures:&lt;/p&gt;

&lt;p&gt;No traffic goes over the internet&lt;br&gt;
Improved security (zero public exposure)&lt;br&gt;
You can apply NSG, firewall, and custom routing&lt;br&gt;
When to Use Private Endpoints?&lt;/p&gt;

&lt;p&gt;Scenario    Private Endpoint Recommended?&lt;br&gt;
Critical data (PII, financial, healthcare)  Yes&lt;br&gt;
Internal line-of-business apps  Yes&lt;br&gt;
Public APIs serving global customers    No — consider public endpoint&lt;br&gt;
Hybrid network (on-premises + Azure)    Yes&lt;br&gt;
Regulatory/compliance (GDPR, HIPAA, PCI)    Yes&lt;br&gt;
Common Use Cases:&lt;/p&gt;

&lt;p&gt;Azure Storage Account&lt;br&gt;
Azure SQL Database&lt;br&gt;
Azure Cosmos DB&lt;br&gt;
Azure App Services (via Private Link)&lt;br&gt;
Azure Key Vault&lt;br&gt;
Step-by-Step Example: Secure a Storage Account with Private Endpoint&lt;/p&gt;

&lt;p&gt;a) Prerequisites&lt;/p&gt;

&lt;p&gt;Azure Subscription&lt;br&gt;
Existing Virtual Network (VNet)&lt;br&gt;
Existing Storage Account&lt;br&gt;
b) Architecture Diagram&lt;/p&gt;

&lt;p&gt;Azure VNet → Subnet (10.0.1.0/24) → Private IP (e.g. 10.0.1.5) for Storage Account → Private Endpoint → VNet&lt;/p&gt;

&lt;p&gt;c) Step 1: Create a Private Endpoint&lt;/p&gt;

&lt;p&gt;CLI Example:&lt;/p&gt;

&lt;h1&gt;
  
  
  Variables
&lt;/h1&gt;

&lt;p&gt;RG_NAME="demo-rg"&lt;br&gt;
VNET_NAME="demo-vnet"&lt;br&gt;
SUBNET_NAME="demo-subnet"&lt;br&gt;
STORAGE_NAME="mystorageaccountxyz"&lt;/p&gt;

&lt;h1&gt;
  
  
  Create Private Endpoint
&lt;/h1&gt;

&lt;p&gt;az network private-endpoint create \&lt;br&gt;
  --resource-group $RG_NAME \&lt;br&gt;
  --name pe-storage \&lt;br&gt;
  --vnet-name $VNET_NAME \&lt;br&gt;
  --subnet $SUBNET_NAME \&lt;br&gt;
  --private-connection-resource-id $(az storage account show --name $STORAGE_NAME --query id -o tsv) \&lt;br&gt;
  --group-id blob \&lt;br&gt;
  --connection-name pe-conn-storage&lt;/p&gt;

&lt;p&gt;d) Step 2: Create Private DNS Zone&lt;/p&gt;

&lt;p&gt;az network private-dns zone create \&lt;br&gt;
  --resource-group $RG_NAME \&lt;br&gt;
  --name "privatelink.blob.core.windows.net"&lt;/p&gt;

&lt;h1&gt;
  
  
  Link the DNS zone with your VNet
&lt;/h1&gt;

&lt;p&gt;az network private-dns link vnet create \&lt;br&gt;
  --resource-group $RG_NAME \&lt;br&gt;
  --zone-name "privatelink.blob.core.windows.net" \&lt;br&gt;
  --name "dns-link-storage" \&lt;br&gt;
  --virtual-network $VNET_NAME \&lt;br&gt;
  --registration-enabled false&lt;/p&gt;

&lt;h1&gt;
  
  
  Add A record for Storage Account
&lt;/h1&gt;

&lt;p&gt;az network private-dns record-set a create \&lt;br&gt;
  --name $STORAGE_NAME \&lt;br&gt;
  --zone-name "privatelink.blob.core.windows.net" \&lt;br&gt;
  --resource-group $RG_NAME&lt;br&gt;
Tip: Auto-managed if you use Azure Portal Private Link center.&lt;/p&gt;

&lt;p&gt;e) Step 3: Restrict Public Network Access&lt;br&gt;
az storage account update \&lt;br&gt;
  --name $STORAGE_NAME \&lt;br&gt;
  --resource-group $RG_NAME \&lt;br&gt;
  --default-action Deny&lt;br&gt;
Now, only traffic from the private endpoint in VNet is allowed! &lt;br&gt;
Testing with Private IP Only&lt;/p&gt;

&lt;p&gt;a) From VM inside VNet&lt;/p&gt;

&lt;h1&gt;
  
  
  nslookup should resolve to private IP
&lt;/h1&gt;

&lt;p&gt;nslookup mystorageaccountxyz.blob.core.windows.net&lt;/p&gt;

&lt;h1&gt;
  
  
  Test connectivity
&lt;/h1&gt;

&lt;p&gt;curl &lt;a href="https://mystorageaccountxyz.blob.core.windows.net" rel="noopener noreferrer"&gt;https://mystorageaccountxyz.blob.core.windows.net&lt;/a&gt;&lt;br&gt;
b) From outside VNet (should fail)&lt;/p&gt;

&lt;h1&gt;
  
  
  From your laptop or public IP
&lt;/h1&gt;

&lt;p&gt;curl &lt;a href="https://mystorageaccountxyz.blob.core.windows.net" rel="noopener noreferrer"&gt;https://mystorageaccountxyz.blob.core.windows.net&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Expected: Access denied or timeout
&lt;/h1&gt;

&lt;p&gt;Summary&lt;/p&gt;

&lt;p&gt;Private Endpoints help you securely access Azure services inside your VNet&lt;br&gt;
No public IP needed&lt;br&gt;
Great for internal, sensitive, or regulated workloads&lt;br&gt;
Works across Azure Storage, SQL, CosmosDB, Key Vault, App Services, and more&lt;/p&gt;

</description>
      <category>azure</category>
      <category>endpoints</category>
      <category>kasdevtech</category>
    </item>
    <item>
      <title>When DNS Broke Our Azure App — and Everything Looked Healthy</title>
      <dc:creator>kasi suresh</dc:creator>
      <pubDate>Thu, 17 Jul 2025 18:16:35 +0000</pubDate>
      <link>https://dev.to/kasisureshd/when-dns-broke-our-azure-app-and-everything-looked-healthy-28aj</link>
      <guid>https://dev.to/kasisureshd/when-dns-broke-our-azure-app-and-everything-looked-healthy-28aj</guid>
      <description>&lt;p&gt;When DNS Broke Our Azure App — and Everything Looked Healthy&lt;/p&gt;

&lt;p&gt;This one was sneaky.&lt;br&gt;
Azure App Gateway — healthy&lt;br&gt;
App Service — running&lt;br&gt;
AFD probes — green&lt;br&gt;
Logs — clean&lt;/p&gt;

&lt;p&gt;But users were timing out. Pages were loading slow. Something was off.&lt;/p&gt;

&lt;p&gt;The Issue with ?&lt;br&gt;
Private DNS Zone wasn’t linked to the right VNet.&lt;br&gt;
Our backend API (moved behind a Private Endpoint) couldn’t resolve the FQDN.&lt;br&gt;
No error — just quiet timeouts. &lt;/p&gt;

&lt;p&gt;Fix Applied:&lt;br&gt;
Linked the right Private DNS Zone to staging VNet&lt;br&gt;
Cleared stale records&lt;br&gt;
Restarted the App Service to reset DNS cache&lt;/p&gt;

&lt;p&gt;Learnings:&lt;br&gt;
In Azure, DNS issues don’t always throw errors — sometimes they just break user experience silently.&lt;br&gt;
Always double-check:&lt;br&gt;
DNS zone links&lt;br&gt;
NSG + UDR routing&lt;br&gt;
App-level DNS caching&lt;br&gt;
Have you been bitten by DNS in the cloud? Let’s share battle scars &lt;/p&gt;

&lt;h1&gt;
  
  
  Azure #KasdevTech #DNSIssue #PrivateEndpoints #AzureWorld #MicrosoftCloud #AppService #DevOps #CloudNetworking #Troubleshooting
&lt;/h1&gt;

</description>
      <category>azure</category>
      <category>devops</category>
      <category>kasdevtech</category>
      <category>azurefunctions</category>
    </item>
  </channel>
</rss>
