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

# Instalação no Azure

> Deploy do strattum.ai em uma Azure VM com Docker Compose (tier Starter) ou AKS (tiers Growth e Scale).

> [!NOTE]
>
> O deploy no Azure é realizado pelo time da Strattum via ferramenta automatizada. Esta página documenta o processo para referência técnica do cliente e do time de operações.

## Modelo de deploy BYOC

O strattum.ai opera no modelo **BYOC (Bring Your Own Cloud)**: toda a plataforma é instalada na subscription Azure do próprio cliente. Os dados nunca saem do ambiente corporativo. O time da Strattum acessa apenas logs de infraestrutura via Azure Bastion — nunca os dados de negócio.

> [!TIP]
>
> O Azure é a opção natural para clientes que já usam o ecossistema Microsoft — especialmente se utilizam Microsoft 365, Teams, Copilot ou Azure OpenAI. A integração com Microsoft Copilot via MCP Server é mais direta nesse ambiente.

***

## Tiers disponíveis

| Tier | Infra | Preço | Capacidade |
| - | - | - | - |
| **Starter** | 1 VM `Standard_B4ms` + Docker Compose | \~R\$ 1.350/mês | Até 50K entidades, até 5 conectores |
| **Growth** | AKS (2–3 nodes) | \~R\$ 3.000/mês | Até 500K entidades, até 15 conectores |
| **Scale** | AKS cloud-native com HPA | \~R\$ 5.500+/mês | Sem limite, multi-zone |

> [!WARNING]
>
> O Azure Starter tem custo \~46% maior que AWS e \~70% maior que GCP principalmente pelo Azure Bastion (\~R\$ 700/mês). Clientes que já usam Azure costumam absorver esse custo como parte do contrato Enterprise existente com a Microsoft.

***

## Tier Starter — Azure VM com Docker Compose

### Pré-requisitos

* [ ] Subscription Azure com billing ativo
* [ ] Resource Group criado (ou permissão para criar)
* [ ] Permissões: `Contributor` na subscription ou Resource Group
* [ ] Região definida (recomendação: `brazilsouth` — São Paulo)
* [ ] SSH public key disponível
* [ ] Credenciais dos conectores coletadas (CRM, ERP, etc.)

### Infraestrutura provisionada pelo Terraform

O Terraform da Strattum cria automaticamente:

| Recurso Azure | Especificação | Finalidade |
| - | - | - |
| Azure VM `Standard_B4ms` | 4 vCPU / 16GB RAM | Host principal da plataforma |
| VNet + Subnet | 1 VNet privada + 1 subnet | Isolamento de rede |
| NSG (Network Security Group) | Ports 443 (HTTPS), 51820/UDP (WireGuard) | Controle de acesso |
| Azure Blob Storage | Container `strattum-data` | Data Lake (arquivos Parquet) |
| Azure Key Vault | 1 vault por cliente | Credenciais e chaves |
| Managed Identity | Atribuída à VM | Acesso ao Blob e Key Vault |
| Static Public IP | 1 IP estático | Endereço fixo da VM |
| Azure Bastion | Standard SKU | Acesso SSH sem porta pública |

### Processo de instalação

O time da Strattum executa:

```bash theme={null}
strattum init \
  --cloud azure \
  --tier starter \
  --client <nome-do-cliente> \
  --subscription <subscription-id> \
  --region brazilsouth
```

### SSH via Azure Bastion

O acesso SSH à VM é feito via Azure Bastion:

```bash theme={null}
# Via Azure CLI
az network bastion ssh \
  --name strattum-bastion \
  --resource-group strattum-<client>-rg \
  --target-resource-id /subscriptions/<sub-id>/resourceGroups/strattum-<client>-rg/providers/Microsoft.Compute/virtualMachines/strattum-<client>-vm \
  --auth-type ssh-key \
  --username azureuser \
  --ssh-key ~/.ssh/id_rsa
```

### Variáveis de ambiente obrigatórias

```bash theme={null}
# Storage Azure Blob
STORAGE_BACKEND=azure
AZURE_STORAGE_ACCOUNT=<storage-account-name>
AZURE_STORAGE_CONTAINER=strattum-data

# LLM Provider — Azure OpenAI (recomendado para clientes Microsoft)
LLM_PROVIDER=azure_openai
LLM_API_KEY=<azure-openai-api-key>
LLM_MODEL=gpt-4o
LLM_ENDPOINT=https://<seu-recurso>.openai.azure.com/

# Domínio público
TRAEFIK_DOMAIN=app.<dominio-do-cliente>.com.br
TRAEFIK_ACME_EMAIL=ops@<dominio-do-cliente>.com.br

# Zitadel
ZITADEL_DOMAIN=auth.<dominio-do-cliente>.com.br
ZITADEL_MASTERKEY=<gerado-via-openssl>
```

> [!NOTE]
>
> Para clientes com Azure OpenAI, defina `LLM_PROVIDER=azure_openai` e preencha `LLM_ENDPOINT` com o endpoint do recurso Azure OpenAI. O modelo de embedding deve ser deployado separadamente no recurso Azure OpenAI.

### Acesso após instalação

| URL | Descrição |
| - | - |
| `https://app.<dominio>.com.br` | Console UI (HTTPS via Let's Encrypt) |
| `https://auth.<dominio>.com.br` | Zitadel — identity provider |
| VPN WireGuard `:51820` | Acesso operacional |
| Azure Bastion | Acesso SSH da Strattum SRE |

***

## Integração com Microsoft Copilot

Uma das vantagens do deploy no Azure é a proximidade com o ecossistema Microsoft. O MCP Server do strattum.ai pode ser conectado diretamente ao Microsoft Copilot, expondo a memória e o conhecimento da plataforma para o Copilot for Microsoft 365.

Para configurar esta integração, consulte o guia [MCP Server — Microsoft Copilot](https://docs.strattum.ai/mcp-server/microsoft-copilot.md).

***

## Tier Growth/Scale — AKS

Para tiers Growth e Scale, a plataforma roda em um cluster AKS com:

* 2–3 nodes (`Standard_D4s_v3` ou similar)
* PostgreSQL managed via Azure Database for PostgreSQL (Flexible Server)
* HPA nas APIs stateless
* Azure Load Balancer como ingress

> [!WARNING]
>
> Especificações exatas de node types para os tiers Growth e Scale precisam ser validadas com o time de engenharia antes de ir para produção.

***

## Custos estimados (Starter — brazilsouth)

| Recurso | Custo estimado/mês |
| - | - |
| VM `Standard_B4ms` | \~R\$ 580 |
| Azure Blob Storage (100 GB) | \~R\$ 11 |
| Managed Disk Premium LRS (100 GB) | \~R\$ 60 |
| Azure Bastion (Standard) | \~R\$ 700 |
| **Total** | **\~R\$ 1.350** |

> [!TIP]
>
> Para reduzir o custo do Azure Bastion, o time da Strattum pode configurar uma VPN alternativa via WireGuard (já incluso na plataforma) e usar apenas o WireGuard para acesso operacional, eliminando o Bastion após o setup inicial.

***

## Segurança

A configuração padrão inclui:

* Encryption at rest nos discos e Azure Blob (gerenciada pela Microsoft por padrão)
* TLS entre todos os serviços internos
* Zero IP público nas APIs internas (acessíveis apenas via VPN WireGuard)
* Secrets no Azure Key Vault — nunca em plaintext no `.env`
* Managed Identity com princípio de menor privilégio
* Backup automatizado: PostgreSQL (7 dias via Azure Database backups), FalkorDB (diário via cron)

***

## Suporte

Dúvidas sobre o deploy? Entre em contato com o time da Strattum:

* Canal Slack compartilhado: `#strattum-suporte`
* Todas as ações do time Strattum ficam registradas em **Governance → Audit Log** no Console


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.