# Source: https://docs.lancedb.com/enterprise/deployment/azure.md

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lancedb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Azure deployment guide

> Learn how to deploy LanceDB Enterprise on Azure with AKS, Private Link, and Blob Storage.

LanceDB Enterprise can be deployed on Azure using Azure Kubernetes Service (AKS) with Azure Blob Storage for data persistence and Azure Private Link for secure connectivity.

## General Architecture Overview

```mermaid  theme={"theme":{"light":"vitesse-light","dark":"catppuccin-mocha"}}
graph TB
    subgraph "Client VPC"
        Client[Client Applications]
    end
    
    subgraph "Server VPC"
        PLS[Azure Private Link Service]
        
        subgraph "AKS Cluster"
            LDB[LanceDB Enterprise<br/>Query Nodes, Plan Executors,<br/>Lance Agent, Indexer Pods]
        end
        
        EH[Azure EventHub<br/>for LanceDB internal<br/>message passing]
        
        BS[Azure Blob Storage]
        
        WI[Azure Workload Identity]
    end
    
    Client ==>|Private Link| PLS
    PLS ==> LDB
    LDB <-->|Read/Write| BS
    LDB -->|Async Events| EH
    EH -->|Process| LDB
    
    WI -.->|RBAC| BS
    WI -.->|Assigned| LDB
    
    style Client fill:#d7e3fc,stroke:#5c6bc0,stroke-width:2px,color:#0d1b2a
    style PLS fill:#f3e5f5,stroke:#ab47bc,stroke-width:2px,color:#311432
    style LDB fill:#ffe0b2,stroke:#fb8c00,stroke-width:2px,color:#4a2f11
    style EH fill:#f8bbd0,stroke:#ec407a,stroke-width:2px,color:#4a0821
    style BS fill:#e0f2f1,stroke:#26a69a,stroke-width:2px,color:#09312d
    style WI fill:#e6f4ea,stroke:#66bb6a,stroke-width:2px,color:#1d3a1f
```

### Key Components

* **LanceDB architecture** is deployed in an AKS cluster within its own VPC
* **Client applications** connect to the cluster securely using Azure Private Link
* **AKS cluster** is granted Azure Blob Storage read/write permissions using Azure Workload Identity
* **Azure EventHub** can be used as the message queue by LanceDB Enterprise for internal message communication (alternative: self-hosted Kafka cluster in AKS)

## Read Path Architecture

```mermaid  theme={"theme":{"light":"vitesse-light","dark":"catppuccin-mocha"}}
graph LR
    subgraph "Client Network"
        C[Client App]
    end
    
    subgraph "Azure AKS Cluster"
        PL[Private Link<br/>Service]
        QN[Query Nodes<br/>Phalanx]
        PE[Plan Executors<br/>Distributed Data Cache]
    end
    
    subgraph "Storage"
        BS[Azure Blob<br/>Storage]
    end
    
    C -->|Private<br/>Connection| PL
    PL --> QN
    QN -->|Query<br/>Request| PE
    PE -->|Cache Miss<br/>Read Data| BS
    
    style C fill:#d7e3fc,stroke:#5c6bc0,color:#0d1b2a
    style PL fill:#f3e5f5,stroke:#ab47bc,color:#311432
    style QN fill:#ffe0b2,stroke:#fb8c00,color:#4a2f11
    style PE fill:#ffecb3,stroke:#ffb74d,color:#4a2f11
    style BS fill:#e0f2f1,stroke:#26a69a,color:#09312d
```

### Read Path Flow

1. **Client Application** sends query request through Private Link
2. **Query Nodes** receive and process the request
3. **Plan Executors** optimize and execute the query using distributed data cache to speed up read queries
4. **Azure Blob Storage** stores data and indices in Lance, while Plan Executors maintain distributed cache for performance

## Write Path Architecture

```mermaid  theme={"theme":{"light":"vitesse-light","dark":"catppuccin-mocha"}}
graph LR
    subgraph "Client Network"
        C[Client App]
    end
    
    subgraph "Azure AKS Cluster"
        PL[Private Link<br/>Service]
        QN[Query Nodes<br/>Phalanx]
        LA[Lance Agent]
        IP[Indexer Pods<br/>On-Demand]
    end
    
    subgraph "Messaging"
        EH[Azure EventHub<br/>Write Events]
    end
    
    subgraph "Storage"
        BS[Azure Blob<br/>Storage]
    end
    
    C -->|Private<br/>Connection| PL
    PL --> QN
    QN -->|Sync<br/>Write| BS
    QN -->|Async<br/>Events| EH
    EH -->|Consume| LA
    LA -->|Launch| IP
    IP -->|Index &<br/>Optimize| BS
    
    style C fill:#d7e3fc,stroke:#5c6bc0,color:#0d1b2a
    style PL fill:#f3e5f5,stroke:#ab47bc,color:#311432
    style QN fill:#ffe0b2,stroke:#fb8c00,color:#4a2f11
    style LA fill:#ffe5c3,stroke:#ffb74d,color:#4a2f11
    style IP fill:#ffe5c3,stroke:#ffb74d,color:#4a2f11
    style EH fill:#f8bbd0,stroke:#ec407a,color:#4a0821
    style BS fill:#e0f2f1,stroke:#26a69a,color:#09312d
```

### Write Path Flow

Query nodes write data and indices synchronously to Azure Blob Storage in Lance data format while asynchronously sending data modification events to Azure EventHub (or self-hosted Kafka cluster). These write events are processed by the Lance Agent, which launches indexing pods or data optimization pods to optimize data for better read performance.

## Deployment Options

### Storage Architecture Support

```mermaid  theme={"theme":{"light":"vitesse-light","dark":"catppuccin-mocha"}}
graph TB
    subgraph "Multi-Account & Multi-Container Support"
        SA1[Storage Account 1]
        SA2[Storage Account 2]
        SA3[Storage Account N]
        
        SA1 --> C1A[Container A]
        SA1 --> C1B[Container B]
        SA1 --> C1C[Container C]
        
        SA2 --> C2A[Container X]
        SA2 --> C2B[Container Y]
        
        SA3 --> C3A[Container 1]
        SA3 --> C3B[Container 2]
    end
    
    style SA1 fill:#e0f2f1,stroke:#26a69a,color:#09312d
    style SA2 fill:#e0f2f1,stroke:#26a69a,color:#09312d
    style SA3 fill:#e0f2f1,stroke:#26a69a,color:#09312d
```

### Deployment Models

LanceDB Enterprise supports three deployment models on Azure:

#### 1. Fully Managed Service

* **Infrastructure and storage** in LanceDB's Azure account
* **Complete management** by LanceDB team
* **Simplest setup** for customers

#### 2. BYOC (Bring Your Own Cloud)

* **Infrastructure and storage** in customer's Azure account
* **Fully Managed by LanceDB**
* **Full control** over data residency

#### 3. Hybrid - Bring Your Own Container

* **Infrastructure** in LanceDB's account
* **Storage containers** in customer's account

<Note>
  For private deployments, high performance at extreme scale, or if you have strict security requirements, [contact us about LanceDB Enterprise](mailto:contact@lancedb.com).
</Note>