Cloud Architecture & Deployment Plan

ComponentsAzure Service
PrototypeHosted on AZ vm
Authenticated user loginAz appservice (Azure identity provider)
Frontend (Web APP)Az app service
Backend APIAz Function
Document StorageAz Blob Storage
Metadata / logsAz cosmos DB
Vector EmbeddingsAz AI Search
LLMs (Agents)Az OpenAI Service
Monitoring and logsAz Monitor + Az Application Insights

Phase 1: Prototype Deployment

Initially, the entire application will be hosted on a single Azure Virtual Machine (VM). This allows rapid iteration and validation before modularizing services into dedicated Azure resources.

ComponentDeployment (Prototype Phase)
Full Stack PrototypeAzure Virtual Machine (Linux)
All servicesContainerized/locally hosted on VM

Phase 2: Modular Cloud Services Deployment (Post-Prototype)

Once validated, each component will be migrated to its respective managed Azure service for scalability, security, and cost efficiency.

Frontend (Document Upload + Chat Interface)

  • Service: Azure App Service (Web App)

  • Features:

    • Scalable web hosting for UI and APIs
    • Use Standard or Basic Tier for cost savings
  • Cost Optimization:

    • Auto-scale during business hours only
    • Use CDN (Azure Front Door or Azure CDN) for static assets

API Layer (Document Processing & Orchestration)

  • Service: Azure Functions (Serverless)

  • Use for:

    • Upload handling
    • API endpoints
    • Triggering workflows
  • Cost Optimization:

    • Pay-per-execution
    • Best for variable workloads (spiky traffic)

NLP Processing Engine

  • Service: Azure Machine Learning or Azure Container Instances
  • Model Hosting Options:
    • Use Azure Kubernetes Service (AKS) with spot instances for LayoutLM
    • Use Azure OpenAI Service for GPT-based processing if available

Vector Search (RAG System)


Storage Systems

  • Service: Azure Blob Storage
  • Usage:
    • Raw documents
    • Processed JSON
    • Generated videos, audio, and images
  • Cost Optimization:
    • Use Hot tier for recent uploads, Cool/Archive for older assets
    • Use lifecycle rules to auto-move blobs to cheaper tiers