# Migre da Fastly para a Azion | Guia completo

import Tabs from '~/components/tabs/Tabs'
import Code from '~/components/Code/Code.astro'

# Migre da Fastly para a Azion

Uma migração de plataforma geralmente começa muito antes de o primeiro serviço ser clonado ou o primeiro domínio ser migrado. Começa quando uma equipe percebe que entrega, compute, cache, segurança e observabilidade estão espalhados por muitas superfícies de configuração.

Para equipes que usam Fastly, esse momento costuma aparecer depois de anos de lógica de entrega acumulada: serviços com múltiplas origens, snippets VCL, pacotes Compute, dictionaries, cache overrides, automação TLS, políticas WAF, endpoints de logging e dashboards de inspeção. Cada camada pode funcionar individualmente, mas o modelo operacional combinado pode desacelerar releases e tornar mudanças mais difíceis de validar.

Para equipes que usam Fastly Full-Site Delivery, Compute, Edge Data Storage, Object Storage, Image Optimizer, Fastly Next-Gen WAF, DDoS Protection, Bot Management, Platform TLS, High Volume Logging, Domain Inspector, Origin Inspector ou Log Explorer & Insights, a Azion oferece recursos equivalentes por meio de Applications, Functions, KV Store, Object Storage, Image Processor, Firewall, Web Application Firewall, DDoS Protection, Bot Manager, Certificate Manager, Data Stream, Real-Time Events e Real-Time Metrics.

O motivo mais forte para migrar não é simplesmente substituir um fornecedor por outro. É consolidar entrega de aplicações, compute, storage, segurança e observabilidade em uma plataforma unificada projetada para aplicações distribuídas globalmente.

## Como Funciona a Migração da Fastly para a Azion

Migrações de plataforma tradicionais frequentemente exigem reescrever lógica de serviço, reconfigurar origens do zero e recriar comportamento de segurança e logging sob pressão. Essa abordagem cria risco operacional, estende prazos e dificulta rollback.

A abordagem de migração da Azion preserva o comportamento da sua aplicação enquanto faz a transição para uma plataforma unificada:

1. **Caminho de migração incremental.** Comece com um serviço Fastly representativo, valide entrega e segurança na Azion e expanda para serviços adicionais somente depois que o padrão estiver comprovado.

2. **Lógica de aplicação preservada.** Origens, políticas de cache, redirects, headers, controles de segurança e padrões de acesso a dados mapeiam para Azion Applications, Rules Engine, Functions, Connectors, KV Store e Object Storage com mudanças de configuração focadas.

3. **Modelo de plataforma unificado.** Em vez de gerenciar entrega, compute, storage, segurança e observabilidade como produtos desconectados, a Azion reúne esses recursos com APIs, fluxos de Console e padrões de deployment consistentes.

## Mapeamento de Recursos

A tabela a seguir fornece um mapeamento abrangente dos produtos e áreas de configuração da Fastly para seus equivalentes na Azion. Um traço (`-`) indica que a Azion atualmente não oferece um equivalente direto.

| Produto ou Recurso Fastly | Descrição | Equivalente Azion |
| :------------------------ | :---------- | :---------------- |
| **Full-Site Delivery** | Entrega de sites, aplicações, APIs e tráfego mobile por meio de serviços Fastly. | [Applications](https://www.azion.com/pt-br/documentacao/produtos/build/applications/) |
| **Serviços Fastly** | Principal recurso de entrega para domínios, origens, caching, tratamento de requisições e versões de serviço. | [Applications](https://www.azion.com/pt-br/documentacao/produtos/build/applications/) + [Workloads](https://www.azion.com/pt-br/documentacao/produtos/secure/workloads/) |
| **Domains** | Hostnames associados a serviços Fastly. | [Workloads](https://www.azion.com/pt-br/documentacao/produtos/secure/workloads/) |
| **Hosts e origens** | Configuração de backend origin para serviços de entrega Fastly. | [Connectors](https://www.azion.com/pt-br/documentacao/produtos/secure/connectors/) |
| **Origin Shield / padrões de shielding** | Reduz tráfego na origem roteando cache misses por uma localização intermediária de shield. | [Origin Shield](https://www.azion.com/pt-br/documentacao/produtos/secure/connectors/origin-shield/) + [Tiered Cache](https://www.azion.com/pt-br/documentacao/produtos/build/applications/cache/tiered-cache/) |
| **Conditions** | Condições de request, cache e response na configuração de serviço Fastly. | [Rules Engine para Applications](https://www.azion.com/pt-br/documentacao/produtos/build/applications/rules-engine/) |
| **Request settings** | Manipulação, encaminhamento e tratamento de requisições. | [Rules Engine para Applications](https://www.azion.com/pt-br/documentacao/produtos/build/applications/rules-engine/) + [Functions](https://www.azion.com/pt-br/documentacao/produtos/build/applications/functions/) |
| **Response settings** | Comportamento de headers de resposta e entrega. | [Rules Engine para Applications](https://www.azion.com/pt-br/documentacao/produtos/build/applications/rules-engine/) |
| **VCL snippets / VCL customizado** | Lógica customizada de entrega para redirects, headers, cache keys, seleção de origem e controle de requisições. | [Rules Engine para Applications](https://www.azion.com/pt-br/documentacao/produtos/build/applications/rules-engine/) + [Functions](https://www.azion.com/pt-br/documentacao/produtos/build/applications/functions/) |
| **Compute** | Plataforma de compute serverless que executa código customizado na rede da Fastly. | [Functions para Applications](https://www.azion.com/pt-br/documentacao/produtos/build/applications/functions/) |
| **Compute packages** | Código de aplicação empacotado e publicado no Fastly Compute. | [Functions](https://www.azion.com/pt-br/documentacao/produtos/build/applications/functions/) + [Azion CLI](https://www.azion.com/pt-br/documentacao/produtos/azion-cli/visao-geral/) |
| **Edge Data Storage** | Dados key-value usados por serviços Fastly Compute. | [KV Store](https://www.azion.com/pt-br/documentacao/produtos/store/kv-store/) |
| **Object Storage** | Object storage compatível com S3 integrado a serviços de entrega e compute. | [Object Storage](https://www.azion.com/pt-br/documentacao/produtos/store/object-storage/) |
| **Cache Reservation** | Capacidade reservada de cache para conteúdo na Fastly. | [Cache](https://www.azion.com/pt-br/documentacao/produtos/build/applications/cache/) + [Tiered Cache](https://www.azion.com/pt-br/documentacao/produtos/build/applications/cache/tiered-cache/) |
| **Cache APIs** | Padrões de interação programática com cache para aplicações Compute. | [Functions](https://www.azion.com/pt-br/documentacao/produtos/build/applications/functions/) + [Cache](https://www.azion.com/pt-br/documentacao/produtos/build/applications/cache/) + [Real-Time Purge](https://www.azion.com/pt-br/documentacao/produtos/build/applications/real-time-purge/) |
| **Streaming Delivery** | Entrega de conteúdo de live streaming e video-on-demand. | [Applications](https://www.azion.com/pt-br/documentacao/produtos/build/applications/) + [Cache](https://www.azion.com/pt-br/documentacao/produtos/build/applications/cache/) + [Object Storage](https://www.azion.com/pt-br/documentacao/produtos/store/object-storage/) |
| **Media Shield for Live** | Reduz tráfego na origem em fluxos de vídeo ao vivo. | [Tiered Cache](https://www.azion.com/pt-br/documentacao/produtos/build/applications/cache/tiered-cache/) + [Origin Shield](https://www.azion.com/pt-br/documentacao/produtos/secure/connectors/origin-shield/) |
| **Media Shield for VOD** | Reduz tráfego na origem em fluxos de video-on-demand. | [Tiered Cache](https://www.azion.com/pt-br/documentacao/produtos/build/applications/cache/tiered-cache/) + [Origin Shield](https://www.azion.com/pt-br/documentacao/produtos/secure/connectors/origin-shield/) |
| **Image Optimizer** | Serviço de transformação e otimização de imagens em tempo real. | [Image Processor](https://www.azion.com/pt-br/documentacao/produtos/build/applications/image-processor/) |
| **WebSockets** | Comunicação bidirecional e persistente para aplicações em tempo real. | [WebSocket Proxy](https://www.azion.com/pt-br/documentacao/produtos/build/applications/websocket/) + [WebSocket API](https://www.azion.com/pt-br/documentacao/runtime/api-reference/websocket/) |
| **Fanout** | Padrões de mensagem publish-subscribe na Fastly. | [Functions](https://www.azion.com/pt-br/documentacao/produtos/build/applications/functions/) + [WebSocket Proxy](https://www.azion.com/pt-br/documentacao/produtos/build/applications/websocket/) |
| **AI Accelerator** | Cache semântico e aceleração de tráfego para APIs de IA generativa. | [AI Inference](https://www.azion.com/pt-br/documentacao/produtos/ai/ai-inference/) + [Cache](https://www.azion.com/pt-br/documentacao/produtos/build/applications/cache/) |
| **Fastly Next-Gen WAF** | Web application firewall para detectar tráfego suspeito e proteger aplicações. | [Web Application Firewall](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/web-application-firewall/) |
| **Edge Rate Limiting** | Conta requisições e aplica ações quando limites são excedidos. | [Rules Engine para Firewall](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/rules-engine/) + [Functions para Firewall](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/functions/) |
| **Fastly DDoS Protection** | Visibilidade e mitigação de DDoS. | [DDoS Protection](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/ddos-protection/) + [Network Shield](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/network-shield/) |
| **Bot Management** | Detecta e responde a tráfego automatizado. | [Bot Manager](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/bot-manager/) + [Bot Manager Lite](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/bot-manager-lite/) |
| **Certainly** | Autoridade certificadora da Fastly para certificados TLS. | [Certificate Manager](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/certificate-manager/) |
| **Platform TLS** | Gerenciamento de certificados TLS e chaves via API. | [Certificate Manager](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/certificate-manager/) + [Azion API](https://www.azion.com/pt-br/documentacao/produtos/devtools/primeiros-passos-api/) |
| **TLS Service Options** | Configuração TLS para servir sites e aplicações por HTTPS. | [Certificate Manager](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/certificate-manager/) + [Workloads](https://www.azion.com/pt-br/documentacao/produtos/secure/workloads/) |
| **High Volume Logging** | Streaming de logs em tempo real para destinos externos. | [Data Stream](https://www.azion.com/pt-br/documentacao/produtos/observe/data-stream/) |
| **Log Explorer & Insights** | Inspeciona e monitora dados de log na plataforma Fastly. | [Real-Time Events](https://www.azion.com/pt-br/documentacao/produtos/observe/real-time-events/) |
| **Domain Inspector** | Visibilidade e relatórios de tráfego em nível de domínio. | [Real-Time Metrics](https://www.azion.com/pt-br/documentacao/produtos/observe/real-time-metrics/) |
| **Origin Inspector** | Visibilidade e relatórios de respostas da origem. | [Real-Time Metrics](https://www.azion.com/pt-br/documentacao/produtos/observe/real-time-metrics/) + [Real-Time Events](https://www.azion.com/pt-br/documentacao/produtos/observe/real-time-events/) |
| **Observability features** | Visibilidade de tráfego, segurança, performance e origem. | [Real-Time Metrics](https://www.azion.com/pt-br/documentacao/produtos/observe/real-time-metrics/) + [Real-Time Events](https://www.azion.com/pt-br/documentacao/produtos/observe/real-time-events/) + [Data Stream](https://www.azion.com/pt-br/documentacao/produtos/observe/data-stream/) |
| **Fastly API** | Gerenciamento programático de recursos Fastly. | [Azion API](https://www.azion.com/pt-br/documentacao/produtos/devtools/primeiros-passos-api/) |
| **Fastly CLI** | Fluxo de linha de comando para serviços Fastly e projetos Compute. | [Azion CLI](https://www.azion.com/pt-br/documentacao/produtos/azion-cli/visao-geral/) |
| **Fastly Terraform Provider** | Infrastructure as Code para recursos Fastly. | [Terraform Provider](https://www.azion.com/pt-br/documentacao/produtos/terraform-provider/) |

## Estratégia de Migração

A migração é organizada em torno das quatro categorias de produtos da Azion, permitindo que as equipes planejem e executem cada camada independentemente:

- **Build**: migre serviços de entrega, origens, comportamento VCL, código Compute, políticas de cache, otimização de imagens, streaming, WebSocket e padrões de aceleração de IA.
- **Secure**: migre domínios, certificados, políticas WAF, proteção DDoS, controles de bots e rate limiting.
- **Store**: migre object storage e dados key-value para Object Storage e KV Store.
- **Observe**: migre logging, inspectors, métricas, dashboards e destinos externos de logs para a stack de observabilidade em tempo real da Azion.

:::note
Se você não precisa de tempo de inatividade próximo de zero, pode migrar em fases com janelas de manutenção. Isso permite parar escritas durante cada etapa de migração sem exigir sincronização paralela de dados.
:::

## Build

A categoria Build cobre deployment de aplicações, configuração de entrega, compute, roteamento, cache e otimização de mídia. Comece aqui para recriar o comportamento da aplicação que os usuários veem antes de mover camadas de segurança, dados e observabilidade.

### 1. Configuração do Projeto na Azion

O primeiro passo traz sua aplicação para a Azion de uma forma familiar para equipes que já gerenciam serviços Fastly e projetos Compute. Se você usou versões de serviço Fastly, pacotes Compute e deployments via CLI, já entende o padrão: definir configuração, publicar uma versão, validar comportamento e promover tráfego quando estiver pronto.

A Azion segue um fluxo similar, mas consolida entrega de aplicações, Functions, regras, segurança e observabilidade no mesmo contexto de plataforma.

#### Diferenças Principais

| Aspecto | Fastly | Azion |
| :------ | :----- | :---- |
| **Recurso principal de entrega** | Service | Application + Workload |
| **Arquivo de config** | `fastly.toml`, VCL, configuração de versão de serviço | `azion.config.js` e configuração via Console |
| **Deployment de compute** | Compute package | Function + Function Instance |
| **Roteamento e comportamento** | VCL, conditions, request/response settings | Rules Engine + Functions |
| **Observabilidade** | Inspectors, logging endpoints, Log Explorer | Real-Time Metrics, Real-Time Events, Data Stream |

#### Conecte Seu Repositório

1. Abra o [Azion Console](https://console.azion.com/).
2. Clique em **+ Create** > **Import from GitHub**.
3. Autorize o GitHub App da Azion.
4. Selecione o repositório que deseja migrar.

:::note
Mantenha o primeiro deployment intencionalmente pequeno. Não tente migrar todos os serviços Fastly, domínios, snippets VCL, pacotes Compute, dependências de storage, políticas de segurança e endpoints de logging de uma vez. Comece provando que um serviço representativo consegue rodar na Azion.
:::

#### Configure Seu Build

A Azion detecta automaticamente seu framework e configura as definições de build. Sobrescreva o preset detectado em `azion.config.js`:

<Code lang="javascript" code={`
import { defineConfig } from 'azion'

export default defineConfig({
  name: 'my-fastly-migration',
  preset: 'nextjs', // Sobrescreva a auto-detecção se necessário
})
`} />

#### Faça Deploy e Verifique

Faça deploy pelo Azion Console ou CLI. Sua URL temporária da Azion segue este padrão:

<Code lang="text" code={`
https://xxxxxxxxxx.map.azionedge.net/
`} />

Valide o deployment antes de mover domínios de produção:

<Code lang="bash" code={`
curl -I https://xxxxxxxxxx.map.azionedge.net/
curl https://xxxxxxxxxx.map.azionedge.net/health
`} />

#### Documentação de referência

* [Applications](https://www.azion.com/pt-br/documentacao/produtos/build/applications/)
* [Applications primeiros passos](https://www.azion.com/pt-br/documentacao/produtos/build/applications/primeiros-passos/)
* [Azion CLI visão geral](https://www.azion.com/pt-br/documentacao/produtos/azion-cli/visao-geral/)
* [Importe um projeto existente do GitHub](https://www.azion.com/pt-br/documentacao/produtos/guias/importar-um-projeto-existente-do-github/)

### 2. Convertendo Configuração de Serviço e Build

Uma migração pode parecer bem-sucedida quando a primeira requisição retorna `200`, mas falhar depois quando comportamento de cache, redirects, headers ou roteamento de origem difere da Fastly. Revise cuidadosamente a configuração do serviço em vez de tratar a migração como uma simples substituição de comandos.

#### Referência Rápida de CLI

| Tarefa | Fastly CLI | Azion CLI |
| :----- | :--------- | :-------- |
| **Instalar** | `brew install fastly/tap/fastly` | `curl -fsSL https://cli.azion.app/install.sh \| bash` |
| **Login** | `fastly profile create` | `azion login` |
| **Dev local** | `fastly compute serve` | `azion dev` |
| **Deploy** | `fastly compute publish` ou ativação de serviço | `azion deploy` |
| **Ver logs** | Logging endpoint Fastly ou Log Explorer | `azion logs` |
| **Purge** | `fastly purge` | `azion purge` |

#### Inventário de Configuração

Antes de recriar o serviço na Azion, faça inventário de:

* Serviços Fastly ativos e versões de serviço
* Domínios e certificados TLS
* Origens, shielding, health checks e lógica de failover
* Configurações de cache, cache keys, comportamento stale e fluxos de purge
* Conditions, snippets VCL, VCL customizado e request/response settings
* Pacotes Compute e runtimes de linguagem
* Dictionaries, dados de Config Store, valores de Secret Store e Edge Data Storage
* Políticas WAF, controles de bot, proteções DDoS e rate limits
* Logging endpoints, dashboards de inspector e dependências de alertas

#### Documentação de referência

* [Azion CLI visão geral](https://www.azion.com/pt-br/documentacao/produtos/azion-cli/visao-geral/)
* [azion.config.js referência](https://www.azion.com/pt-br/documentacao/devtools/cli/configs/azion-config-js/)
* [azion deploy comando](https://www.azion.com/pt-br/documentacao/devtools/cli/deploy/)

### 3. Migrando Variáveis de Ambiente e Secrets

Variáveis de ambiente e secrets contêm API keys, credenciais de origem, feature flags, endpoints de terceiros e configurações operacionais. Migrá-las incorretamente causa falhas de runtime mesmo quando o deployment é bem-sucedido.

#### Diferenças Principais

| Aspecto | Fastly | Azion |
| :------ | :----- | :---- |
| **Acesso em Compute** | APIs de ambiente ou secrets específicas por linguagem | `Azion.env.get('VARIABLE')` |
| **Dados de configuração** | Dictionaries, Config Store, Secret Store | Variables, KV Store, Function Instances |
| **Escopo de runtime** | Contexto de serviço ou pacote Compute | Contexto de Function instance e application |

#### Avalie Suas Variáveis

Antes de alterar código, identifique todas as variáveis em:

* `fastly.toml` e configuração do projeto Compute
* Dictionaries e Config Store da Fastly
* Valores no Fastly Secret Store
* Configurações de ambiente CI/CD
* Configuração de runtime no código fonte

#### Crie Variáveis na Azion

<Tabs client:visible>
    <Fragment slot="tab.console">Console</Fragment>
    <Fragment slot="tab.api">API</Fragment>

<Fragment slot="panel.console">
1. Acesse o [Azion Console](https://console.azion.com/).
2. Navegue para **Build > Variables**.
3. Clique em **Add Variable**.
4. Insira o nome e valor da variável.
5. Clique em **Save**.
</Fragment>

<Fragment slot="panel.api">
<Code lang="bash" code={`
curl -X POST 'https://api.azionapi.net/variables' \
--header 'Accept: application/json; version=3' \
--header 'Authorization: Token [TOKEN VALUE]' \
--header 'Content-Type: application/json' \
--data '{
  "key": "API_TOKEN",
  "value": "token-value"
}'
`} />
:::note
A Azion gerencia variáveis de ambiente no nível da Function instance, não por meio de uma API standalone de variáveis. As variáveis são configuradas como pares key-value no campo `vars` ao criar ou atualizar uma Function instance. Consulte a [documentação de Functions Instances](https://www.azion.com/pt-br/documentacao/produtos/build/applications/functions-instances/) para detalhes.
:::
</Fragment>
</Tabs>

#### Atualize Seu Código

<Code lang="javascript" code={`
// Antes: acesso a configuração no Fastly Compute varia por runtime
const apiKey = process.env.API_KEY;

// Depois: Azion Functions
const apiKey = Azion.env.get('API_KEY');
`} />

:::caution[warning]
Evite copiar secrets para notas locais, tickets, mensagens de chat ou documentos temporários. Mantenha secrets em sistemas aprovados e limite acesso aos processos que precisam deles.
:::

#### Documentação de referência

* [Environment Variables](https://www.azion.com/pt-br/documentacao/produtos/build/environment-variables/)
* [Trabalhando com variáveis](https://www.azion.com/pt-br/documentacao/produtos/guias/deploy/trabalhar-com-variaveis/)
* [Functions Instances](https://www.azion.com/pt-br/documentacao/produtos/build/applications/functions-instances/)

### 4. Migrando Full-Site Delivery para Applications

Serviços Fastly Full-Site Delivery entregam sites, aplicações, APIs e tráfego mobile por meio de domínios, origens, regras de cache e lógica customizada de entrega. Azion Applications fornecem recursos equivalentes com Rules Engine, Cache, Functions e Connectors integrados.

#### Diferenças Principais

| Aspecto | Fastly Full-Site Delivery | Azion Applications |
| :------ | :------------------------ | :----------------- |
| **Recurso de entrega** | Service e versão de serviço | Application |
| **Domínios** | Domínios do serviço | Workloads e domínios customizados |
| **Origens** | Hosts e backends | Connectors |
| **Lógica de comportamento** | Conditions, request/response settings, VCL | Rules Engine e Functions |
| **Controle de cache** | Cache settings, VCL, surrogate keys | Cache Settings, Rules Engine, Real-Time Purge |

#### Passos de Configuração

<Tabs client:visible>
    <Fragment slot="tab.console">Console</Fragment>
    <Fragment slot="tab.api">API</Fragment>

<Fragment slot="panel.console">
1. Acesse o [Azion Console](https://console.azion.com/).
2. Navegue para **Build > Applications**.
3. Clique em **Add Application**.
4. Configure suas **Main Settings**.
5. Crie Connectors para cada origem Fastly.
6. Configure **Cache Settings** e **Rules Engine**.
7. Adicione domínios customizados por Workloads quando estiver pronto para o cutover.
</Fragment>

<Fragment slot="panel.api">
<Code lang="bash" code={`
curl -X POST 'https://api.azionapi.net/v4/workspace/applications' \
  --header 'Authorization: Token YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "fastly-service-migration",
    "origins": [
      {
        "name": "origin-main",
        "addresses": [
          {
            "address": "origin.example.com",
            "weight": 1
          }
        ]
      }
    ],
    "cache_settings": {
      "default_ttl": 3600
    }
  }'
`} />
</Fragment>
</Tabs>

#### Migração de Configuração de Serviço

<Code lang="javascript" code={`
import { defineConfig } from 'azion'

export default defineConfig({
  name: 'fastly-service-migration',
  applications: [{
    name: 'main-app',
    origins: [{
      name: 'primary-origin',
      type: 'http',
      addresses: [{
        address: 'origin.example.com',
        weight: 1
      }]
    }],
    cache: {
      ttl: 3600,
      staleWhileRevalidate: 300
    },
    rules: {
      request: [{
        name: 'API routes bypass cache',
        criteria: [{
          variable: 'uri',
          operator: 'starts_with',
          argument: '/api/'
        }],
        behavior: {
          bypassCache: true,
          setOrigin: 'primary-origin'
        }
      }]
    }
  }]
})
`} />

#### Documentação de referência

* [Applications](https://www.azion.com/pt-br/documentacao/produtos/build/applications/)
* [Applications Main Settings](https://www.azion.com/pt-br/documentacao/produtos/build/applications/main-settings/)
* [Rules Engine para Applications](https://www.azion.com/pt-br/documentacao/produtos/build/applications/rules-engine/)
* [Connectors](https://www.azion.com/pt-br/documentacao/produtos/secure/connectors/)

### 5. Migrando VCL, Conditions e Headers

Serviços Fastly frequentemente contêm comportamento crítico em snippets VCL, conditions e request ou response settings. Migre regras simples para Rules Engine e reserve Functions para comportamento que exige código.

#### Diferenças Principais

| Aspecto | Fastly | Azion |
| :------ | :----- | :---- |
| **Redirects simples** | VCL ou request settings | Comportamento de redirect no Rules Engine |
| **Alterações de header** | VCL, response settings | Comportamento de request/response no Rules Engine |
| **Seleção de origem** | Seleção de backend em VCL | Rules Engine + Connectors |
| **Lógica complexa** | VCL customizado ou Compute | Functions |
| **Pattern matching** | Conditions e expressões VCL | Critérios do Rules Engine e regex |

#### Exemplo de Migração de Redirect

<Code lang="text" code={`
# Padrão VCL da Fastly
if (req.url.path ~ "^/old/(.*)$") {
  set req.http.Location = "/new/" + re.group.1;
  error 750 "Moved Permanently";
}

# Rules Engine da Azion
Criteria: \${uri} matches ^/old/(.*)$
Behavior: Redirect To (301): /new/%{capture[1]}
`} />

#### Exemplo de Migração de Headers de Segurança

<Code lang="javascript" code={`
import type { AzionConfig } from 'azion/config';

const config: AzionConfig = {
  applications: [{
    name: 'my-app',
    rules: {
      response: [{
        name: 'Security Headers',
        active: true,
        criteria: [{
          variable: 'uri',
          conditional: 'if',
          operator: 'starts_with',
          argument: '/'
        }],
        behavior: {
          addResponseHeader: [
            'X-Frame-Options: SAMEORIGIN',
            'X-Content-Type-Options: nosniff'
          ]
        }
      }]
    }
  }]
};

export default config;
`} />

#### Checklist de Migração

* Converta condições baseadas em path para critérios do Rules Engine.
* Mova adições simples de headers para regras de resposta.
* Mova normalização de headers de requisição para regras de request.
* Recrie seleção de origem com Connectors e Rules Engine.
* Use Functions apenas quando as condições exigirem código, consultas externas, signed tokens ou algoritmos customizados.

#### Documentação de referência

* [Rules Engine para Applications](https://www.azion.com/pt-br/documentacao/produtos/build/applications/rules-engine/)
* [Functions](https://www.azion.com/pt-br/documentacao/produtos/build/applications/functions/)
* [azion.config.js referência](https://www.azion.com/pt-br/documentacao/devtools/cli/configs/azion-config-js/)

### 6. Migrando Compute para Functions

Serviços Fastly Compute executam código empacotado na rede da Fastly. Azion Functions oferecem execução JavaScript distribuída para tratamento de requisições, orquestração de APIs, personalização, redirects, autenticação e lógica de integração.

#### Diferenças Principais

| Aspecto | Fastly Compute | Azion Functions |
| :------ | :------------- | :-------------- |
| **Unidade de deployment** | Compute package | Function e Function Instance |
| **Modelo de runtime** | Runtimes baseados em WebAssembly | Runtime JavaScript |
| **Assinatura de função** | Handler de requisição específico por runtime | `export default { async fetch(request) {} }` |
| **Acesso ao ambiente** | APIs de ambiente específicas por runtime | `Azion.env.get('VARIABLE')` |
| **Acesso a dados da plataforma** | Edge Data Storage, Config Store, Secret Store | KV Store, Object Storage, Variables |

#### Atualize a Assinatura da Função

<Code lang="javascript" code={`
// Antes: estilo JavaScript do Fastly Compute
addEventListener('fetch', (event) => {
  event.respondWith(handleRequest(event.request));
});

async function handleRequest(request) {
  const url = new URL(request.url);
  return new Response('Path: ' + url.pathname, {
    status: 200,
    headers: { 'Content-Type': 'text/plain' }
  });
}

// Depois: Azion Functions
export default {
  async fetch(request) {
    const url = new URL(request.url);
    return new Response('Path: ' + url.pathname, {
      status: 200,
      headers: { 'Content-Type': 'text/plain' }
    });
  }
};
`} />

#### Atualize Acesso à Configuração

<Code lang="javascript" code={`
// Antes: acesso à configuração no Fastly Compute varia por runtime
const apiToken = process.env.API_TOKEN;

// Depois: Azion Functions
const apiToken = Azion.env.get('API_TOKEN');
`} />

#### Código Compute que Não Está em JavaScript

Projetos Fastly Compute escritos em Rust, Go ou outras linguagens que compilam para WebAssembly devem ser reescritos em JavaScript para Azion Functions. Durante a reescrita, separe lógica de negócio genérica de APIs específicas da plataforma:

| Área de Código | Orientação de Migração |
| :------------- | :--------------------- |
| Parsing de requisição | Use as APIs padrão `Request` e `URL`. |
| Criação de resposta | Use a API padrão `Response`. |
| Headers | Use `request.headers` e headers de resposta. |
| Valores de ambiente | Use `Azion.env.get()`. |
| Dados key-value | Use `Azion.KV`. |
| Serviços externos | Use `fetch()`. |

#### Documentação de referência

* [Functions](https://www.azion.com/pt-br/documentacao/produtos/build/applications/functions/)
* [Functions Instances](https://www.azion.com/pt-br/documentacao/produtos/build/applications/functions-instances/)
* [Runtime APIs](https://www.azion.com/pt-br/documentacao/produtos/build/desenvolvimento-azion/runtime/)
* [Referência de JavaScript Runtime APIs](https://www.azion.com/pt-br/documentacao/runtime-apis/javascript/)

### 7. Migrando Load Balancing e Failover de Origem

Configurações de origem da Fastly podem incluir múltiplos backends, shielding, health checks e lógica de failover. A Azion usa Connectors, Load Balancer e Rules Engine para recriar roteamento de origem e comportamento de disponibilidade.

#### Diferenças Principais

| Aspecto | Fastly | Azion |
| :------ | :----- | :---- |
| **Recurso de origem** | Backend ou host | Connector |
| **Health checks** | Health checks de backend | Health checks de Connector |
| **Failover** | VCL ou configurações de serviço | Load Balancer e Rules Engine |
| **Origin shielding** | Shielding | Origin Shield e Tiered Cache |
| **Origens ponderadas** | Lógica de seleção de backend | Pesos de endereço no Load Balancer |

#### Passos de Configuração

<Tabs client:visible>
    <Fragment slot="tab.console">Console</Fragment>
    <Fragment slot="tab.api">API</Fragment>

<Fragment slot="panel.console">
1. Acesse o [Azion Console](https://console.azion.com/).
2. Vá para **Products menu** > **Connectors**.
3. Crie um Connector para cada servidor de origem.
4. Configure health checks.
5. Configure pesos de origem e comportamento de failover.
6. Associe Connectors às regras da sua Application.
</Fragment>

<Fragment slot="panel.api">
<Code lang="bash" code={`
curl -X POST 'https://api.azionapi.net/v4/workspace/connectors' \
  --header 'Authorization: Token YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "origin-pool",
    "type": "http",
    "attributes": {
      "addresses": [
        {
          "address": "origin1.example.com",
          "active": true,
          "modules": {
            "load_balancer": {
              "weight": 3,
              "method": "round_robin"
            }
          }
        },
        {
          "address": "origin2.example.com",
          "active": true,
          "modules": {
            "load_balancer": {
              "weight": 1,
              "method": "round_robin"
            }
          }
        }
      ]
    }
  }'
`} />
</Fragment>
</Tabs>

#### Documentação de referência

* [Connectors](https://www.azion.com/pt-br/documentacao/produtos/secure/connectors/)
* [Load Balancer](https://www.azion.com/pt-br/documentacao/produtos/secure/connectors/load-balancer/)
* [Origin Shield](https://www.azion.com/pt-br/documentacao/produtos/secure/connectors/origin-shield/)

### 8. Migrando Configuração de Cache

A configuração de cache determina como conteúdo é armazenado, revalidado e purgado. O comportamento de cache da Fastly frequentemente combina service settings, VCL, surrogate keys, cache overrides e APIs de purge. A Azion fornece Cache Settings, Rules Engine, Tiered Cache e Real-Time Purge.

#### Diferenças Principais

| Aspecto | Fastly Cache | Azion Cache |
| :------ | :----------- | :---------- |
| **Política de cache** | Service settings, VCL, cache overrides | Cache Settings e Rules Engine |
| **Cache key** | VCL e configuração de cache | Advanced Cache Key |
| **Shielding** | Shield POP | Tiered Cache e Origin Shield |
| **Purge** | URL, surrogate key, service purge | URL, Cache Key, Wildcard purge |
| **Conteúdo stale** | VCL e stale settings | Configurações stale-while-revalidate |

#### Passos de Configuração

<Tabs client:visible>
    <Fragment slot="tab.console">Console</Fragment>
    <Fragment slot="tab.api">API</Fragment>

<Fragment slot="panel.console">
1. Acesse o [Azion Console](https://console.azion.com/).
2. Edite sua **Application**.
3. Navegue para **Cache Settings**.
4. Configure o TTL padrão de cache.
5. Habilite **Tiered Cache** quando for necessário reduzir carga na origem.
6. Adicione regras de cache customizadas pelo **Rules Engine**.
</Fragment>

<Fragment slot="panel.api">
<Code lang="bash" code={`
curl -X PATCH 'https://api.azion.com/v4/workspace/applications/{application_id}/cache_settings/{cache_setting_id}' \
  --header 'Authorization: Token YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "default-cache",
    "browser_cache": {
      "ttl": 3600
    },
    "modules": {
      "cache": {
        "ttl": 86400
      },
      "tiered_cache": {
        "enabled": true
      }
    }
  }'
`} />
:::note
Cache settings são gerenciadas como sub-recursos em Applications. Você deve especificar `application_id` e `cache_setting_id` para atualizar a configuração de cache.
:::
</Fragment>
</Tabs>

#### Fastly Purge para Azion Purge

<Code lang="bash" code={`
# Antes: Fastly purge por URL
fastly purge --service-id SERVICE_ID https://www.example.com/images/logo.png

# Depois: Azion purge por URL
curl -X POST 'https://api.azion.com/v4/workspace/purge/url' \
  --header 'Authorization: Token YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "items": ["https://www.example.com/images/logo.png"],
    "layer": "cache"
  }'

# Depois: Azion purge por wildcard
curl -X POST 'https://api.azion.com/v4/workspace/purge/wildcard' \
  --header 'Authorization: Token YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "items": ["https://www.example.com/images/*"],
    "layer": "cache"
  }'
`} />

#### Documentação de referência

* [Cache](https://www.azion.com/pt-br/documentacao/produtos/build/applications/cache/)
* [Cache Settings](https://www.azion.com/pt-br/documentacao/produtos/build/applications/cache-settings/)
* [Tiered Cache](https://www.azion.com/pt-br/documentacao/produtos/build/applications/cache/tiered-cache/)
* [Real-Time Purge](https://www.azion.com/pt-br/documentacao/produtos/build/applications/real-time-purge/)

### 9. Migrando Image Optimizer para Image Processor

Otimização de imagens reduz o tamanho dos arquivos preservando qualidade visual. Azion Image Processor transforma, otimiza e entrega imagens de locais distribuídos usando parâmetros de URL e configuração de application.

#### Diferenças Principais

| Aspecto | Fastly Image Optimizer | Azion Image Processor |
| :------ | :--------------------- | :-------------------- |
| **Transformações** | Transformações de imagem em tempo real | Resize, crop, fit, otimização de formato |
| **Formato de URL** | Query parameters ou opções de imagem configuradas | Query parameter `?ims=<OPTIONS>` |
| **Suporte a formatos** | Formatos de imagem otimizados | WebP, AVIF, JPEG, PNG |
| **Caminho de entrega** | Serviço Fastly | Azion Application com Image Processor |
| **Fonte de storage** | Origem ou object storage | Origem HTTP ou Object Storage |

#### Passos de Configuração

<Tabs client:visible>
    <Fragment slot="tab.console">Console</Fragment>
    <Fragment slot="tab.api">API</Fragment>

<Fragment slot="panel.console">
1. Acesse o [Azion Console](https://console.azion.com/).
2. Edite sua **Application**.
3. Navegue para configurações de **Image Processor**.
4. Habilite Image Processor.
5. Configure comportamento padrão de qualidade e formato.
6. Valide URLs representativas de imagem antes do cutover.
</Fragment>

<Fragment slot="panel.api">
<Code lang="bash" code={`
curl -X PATCH 'https://api.azionapi.net/v4/workspace/applications/{application_id}' \
  --header 'Authorization: Token YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "modules": {
      "image_processor": {
        "enabled": true
      }
    }
  }'
`} />
:::note
A configuração `image_processor` deve ser aninhada em `modules` no corpo da requisição. Image Processor é gerenciado no nível da application.
:::
</Fragment>
</Tabs>

#### Comparação de Formato de URL

<Code lang="text" code={`
# Padrões de transformação de imagem da Fastly variam por implementação
https://www.example.com/image.jpg?width=400&quality=85

# Azion Image Processor
https://www.example.com/image.jpg?ims=400x400
`} />

#### Parâmetros de Transformação

| Sintaxe | Descrição | Exemplo |
| :------ | :-------- | :------ |
| `?ims=WxH` | Redimensiona para largura x altura | `?ims=400x300` |
| `?ims=Wx` | Redimensiona para largura com altura automática | `?ims=400x` |
| `?ims=xH` | Redimensiona para altura com largura automática | `?ims=x300` |
| `?ims=WxH:fill` | Corta para dimensões exatas | `?ims=400x300:fill` |
| `?ims=WxH:fit` | Ajusta dentro das dimensões | `?ims=400x300:fit` |

:::note
Azion Image Processor otimiza automaticamente o formato da imagem com base no header `Accept` do cliente, servindo WebP ou AVIF para navegadores compatíveis.
:::

#### Documentação de referência

* [Image Processor](https://www.azion.com/pt-br/documentacao/produtos/build/applications/image-processor/)
* [Como processar imagens](https://www.azion.com/pt-br/documentacao/produtos/guias/build/processar-imagens/)
* [Object Storage](https://www.azion.com/pt-br/documentacao/produtos/store/object-storage/)

### 10. Migrando Streaming, Media Shield, WebSockets e Fanout

Padrões Fastly de streaming, Media Shield, WebSocket e Fanout são usados para workloads de alto volume de banda e aplicações em tempo real. Migre cada padrão com base no modelo de tráfego: mídia cacheável, conexões persistentes ou comportamento publish-subscribe.

#### Mapeamento de Capacidade

| Recurso Fastly | Caminho de Migração na Azion |
| :------------- | :--------------------------- |
| Streaming Delivery | Applications + Cache + Object Storage |
| Media Shield for Live | Tiered Cache + Origin Shield |
| Media Shield for VOD | Tiered Cache + Origin Shield |
| WebSockets | WebSocket Proxy + WebSocket API |
| Fanout | Functions + WebSocket Proxy + serviço pub/sub externo quando necessário |

#### Checklist de Migração de WebSocket

1. Habilite suporte a WebSocket na Application de destino.
2. Confirme que a origem aceita os headers `Upgrade: websocket` e `Connection: upgrade`.
3. Valide que rotas da aplicação não aplicam cache ou image processing ao tráfego WebSocket.
4. Teste upgrades bem-sucedidos com respostas `101 Switching Protocols`.
5. Monitore eventos e erros WebSocket após o cutover.

#### Exemplo de Function com WebSocket

<Code lang="javascript" code={`
export default {
  async fetch(request) {
    if (request.headers.get('upgrade') === 'websocket') {
      const { response, socket } = upgradeWebSocket(request);

      socket.addEventListener('message', (event) => {
        socket.send('received: ' + event.data);
      });

      return response;
    }

    return new Response('Expected WebSocket upgrade', { status: 400 });
  }
};
`} />

#### Documentação de referência

* [WebSocket Proxy](https://www.azion.com/pt-br/documentacao/produtos/build/applications/websocket/)
* [WebSocket API](https://www.azion.com/pt-br/documentacao/runtime/api-reference/websocket/)
* [Tiered Cache](https://www.azion.com/pt-br/documentacao/produtos/build/applications/cache/tiered-cache/)
* [Origin Shield](https://www.azion.com/pt-br/documentacao/produtos/secure/connectors/origin-shield/)

### 11. Migrando Padrões de AI Accelerator

Fastly AI Accelerator foca em cache semântico e aceleração para tráfego de APIs de IA. Na Azion, workloads de IA podem combinar AI Inference, Functions, Cache, Real-Time Events e Data Stream dependendo se o objetivo é execução de inferência, controle de tráfego, observabilidade ou cache de respostas.

#### Diferenças Principais

| Aspecto | Fastly AI Accelerator | Azion |
| :------ | :-------------------- | :---- |
| **Padrão principal** | Cache semântico para tráfego de APIs de IA | AI Inference + Functions + Cache |
| **Controle de requisições** | Lógica de serviço e Compute | Rules Engine + Functions |
| **Observabilidade** | Logging e inspectors | Real-Time Events + Data Stream + Real-Time Metrics |
| **Execução de modelo** | APIs externas de IA aceleradas pela Fastly | AI Inference ou APIs externas chamadas por Functions |

#### Exemplo de Integração via Function

<Code lang="javascript" code={`
export default {
  async fetch(request) {
    const prompt = await request.text();

    const response = await fetch('https://ai-provider.example.com/v1/chat/completions', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer ' + Azion.env.get('AI_API_KEY')
      },
      body: JSON.stringify({ prompt })
    });

    return response;
  }
};
`} />

#### Documentação de referência

* [AI Inference](https://www.azion.com/pt-br/documentacao/produtos/ai/ai-inference/)
* [Modelos AI Inference](https://www.azion.com/en/documentation/products/ai/ai-inference/models/)
* [Functions](https://www.azion.com/pt-br/documentacao/produtos/build/applications/functions/)
* [Cache](https://www.azion.com/pt-br/documentacao/produtos/build/applications/cache/)

## Secure

A categoria Secure cobre domínios, certificados, regras de firewall, controles de bots, proteção DDoS e rate limiting. Planeje essas migrações como cutovers controlados, porque elas afetam como usuários chegam à sua aplicação e como o tráfego é protegido em produção.

### 1. Migrando Domínios Customizados

A migração de domínios customizados é uma das partes mais sensíveis de qualquer transição de plataforma. Ela afeta usuários, SEO, confiança na marca e disponibilidade de produção. Planeje a migração de domínio como um cutover controlado, não como uma alteração de DNS de última hora.

#### Estratégias de Migração

| Estratégia | Melhor Para | Controle de DNS |
| :--------- | :---------- | :-------------- |
| **CNAME** | Migração rápida de subdomínio | Mantenha seu provedor de DNS |
| **Nameserver** | Controle total de DNS e domínios apex | Transfira DNS para a Azion |

#### Crie o Certificado

Crie seu certificado SSL/TLS antes de apontar seu domínio para a Azion. Isso garante que usuários consigam acessar a aplicação com segurança por HTTPS quando o domínio começar a resolver para a nova infraestrutura.

A Azion oferece certificados Let's Encrypt gratuitos com renovação automática.

#### Configure o Domínio

Crie um workload no Azion Console e associe seu domínio customizado. Consulte a [documentação de Workloads](https://www.azion.com/pt-br/documentacao/produtos/secure/workloads/).

#### Aponte o Domínio para a Azion

<Tabs client:visible>
    <Fragment slot="tab.cname">Migração CNAME</Fragment>
    <Fragment slot="tab.nameserver">Migração por Nameserver</Fragment>

<Fragment slot="panel.cname">
Aponte o subdomínio para o domínio gerado pela Azion:

<Code lang="text" code={`
www CNAME xxxxxxxxxx.map.azionedge.net
`} />

Isso mantém seu provedor atual de DNS enquanto roteia tráfego pela Azion.
</Fragment>

<Fragment slot="panel.nameserver">
Configure seu domínio para usar os nameservers da Azion:

<Code lang="text" code={`
ns1.aziondns.net
ns2.aziondns.com
ns3.aziondns.org
`} />

Isso dá à Azion controle total de DNS, necessário para domínios apex.
</Fragment>
</Tabs>

#### Verifique Propagação

<Code lang="bash" code={`
dig www.yourdomain.com CNAME +short
curl -I https://www.yourdomain.com/
`} />

:::caution[warning]
Antes de trocar tráfego de produção, confirme: o certificado está ativo, o domínio está associado ao workload correto, registros DNS estão prontos, rotas críticas foram testadas, redirects se comportam como esperado e monitoramento está configurado para validação pós-cutover.
:::

#### Documentação de referência

* [Workloads](https://www.azion.com/pt-br/documentacao/produtos/secure/workloads/)
* [Crie um domínio customizado da Azion](https://www.azion.com/pt-br/documentacao/produtos/guias/criar-dominio-personalizado-azion/)
* [Edge DNS](https://www.azion.com/pt-br/documentacao/produtos/secure/edge-dns/)
* [Certificate Manager](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/certificate-manager/)

### 2. Migrando TLS para Certificate Manager

Fastly Platform TLS, TLS Service Options e fluxos baseados em Certainly gerenciam certificados e comportamento de serviço HTTPS. Azion Certificate Manager gerencia Let's Encrypt, certificados customizados, certificados Azion SAN e certificados Trusted CA para cenários mTLS.

#### Diferenças Principais

| Aspecto | Fastly TLS | Azion Certificate Manager |
| :------ | :--------- | :------------------------ |
| **Certificados gerenciados** | Fluxos Platform TLS e Certainly | Certificados Let's Encrypt e Azion SAN |
| **Certificados customizados** | Upload ou certificados gerenciados via API | Upload de certificados customizados e chaves privadas |
| **Automação** | Fastly API | Console e Azion API |
| **mTLS** | Configuração TLS e segurança da Fastly | Certificados Trusted CA e configuração mTLS |
| **Associação** | Serviço/domínio Fastly | Associação com Workload ou domínio |

#### Upload de Certificado Customizado

<Tabs client:visible>
    <Fragment slot="tab.console">Console</Fragment>
    <Fragment slot="tab.api">API</Fragment>

<Fragment slot="panel.console">
1. Vá para **Products menu** > **Certificate Manager**.
2. Clique em **+ Certificate**.
3. Selecione **Custom Certificate**.
4. Faça upload do certificado em formato PEM.
5. Faça upload da chave privada.
6. Envie a cadeia intermediária de CA, se aplicável.
7. Associe o certificado ao seu workload.
</Fragment>

<Fragment slot="panel.api">
<Code lang="bash" code={`
curl -X POST 'https://api.azionapi.net/v4/workspace/tls/certificates' \
  --header 'Authorization: Token YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "my-custom-cert",
    "certificate": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----",
    "private_key": "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----"
  }'
`} />
</Fragment>
</Tabs>

#### Documentação de referência

* [Certificate Manager](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/certificate-manager/)
* [Crie um certificado digital](https://www.azion.com/pt-br/documentacao/produtos/guias/criar-certificado-digital/)
* [mTLS](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/mtls/)

### 3. Migrando Fastly Next-Gen WAF para Web Application Firewall

Web Application Firewall protege aplicações contra tráfego malicioso, SQL injection, cross-site scripting e outros ataques de camada de aplicação. Migrar regras WAF exige mapeamento cuidadoso de lógica de regra, condições de match e modos de enforcement.

#### Diferenças Principais

| Aspecto | Fastly Next-Gen WAF | Azion WAF |
| :------ | :------------------ | :-------- |
| **Proteção gerenciada** | Regras e sinais Next-Gen WAF | WAF Rule Sets |
| **Lógica customizada** | Regras e conditions WAF | Rules Engine para Firewall |
| **Ações** | Padrões de allow, block, log, challenge | Allow, deny, drop, redirect, custom HTML, hold connection |
| **Tuning** | Exclusão de sinais e thresholds | Modos Learning e Blocking, configurações de sensibilidade |
| **Associação** | Escopo de serviço ou domínio | Firewall associado a workloads |

#### Passos de Migração

<Tabs client:visible>
    <Fragment slot="tab.console">Console</Fragment>
    <Fragment slot="tab.api">API</Fragment>

<Fragment slot="panel.console">
1. Acesse o [Azion Console](https://console.azion.com/).
2. Vá para **Products menu** > **Firewall**.
3. Selecione ou crie uma instância de Firewall.
4. Navegue para **WAF**.
5. Habilite os rule sets gerenciados desejados.
6. Configure sensibilidade por rule set.
7. Crie regras customizadas no **Rules Engine**.
8. Associe o Firewall ao seu workload.
</Fragment>

<Fragment slot="panel.api">
<Code lang="bash" code={`
curl -X POST 'https://api.azion.com/v4/workspace/wafs' \
  --header 'Accept: application/json' \
  --header 'Authorization: Token [TOKEN]' \
  --header 'Content-Type: application/json' \
  --data '{
    "active": true,
    "name": "Fastly Migration WAF",
    "product_version": "1.0",
    "engine_settings": {
      "engine_version": "2021-Q3",
      "type": "score",
      "attributes": {
        "rulesets": [1],
        "thresholds": [
          { "threat": "sql_injection", "sensitivity": "medium" }
        ]
      }
    }
  }'
`} />
</Fragment>
</Tabs>

#### Exemplo de Migração de Regra

<Code lang="text" code={`
# Intenção no estilo Fastly
Bloquear requisições para /admin exceto quando o IP do cliente estiver em uma rede aprovada.

# Critérios Azion
Variable: \${uri}
Operator: matches
Argument: /admin

AND

Variable: \${remote_addr}
Operator: does not match
Argument: 10.0.0.0/8

Behavior: Deny (403)
`} />

:::note
Execute mudanças de WAF em modo monitorado antes de aplicar bloqueios. Compare falsos positivos, principais regras acionadas, requisitos de bypass e exceções específicas da aplicação antes do enforcement em produção.
:::

#### Documentação de referência

* [Web Application Firewall](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/web-application-firewall/)
* [WAF Rule Sets](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/web-application-firewall/rule-sets/)
* [Rules Engine para Firewall](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/rules-engine/)
* [Functions para Firewall](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/functions/)

### 4. Migrando Proteção DDoS

Proteção DDoS defende contra ataques volumétricos, ataques de protocolo e floods de camada de aplicação. A Azion fornece proteção DDoS automática e recursos de Network Shield para controles de camada de rede.

#### Diferenças Principais

| Aspecto | Fastly DDoS Protection | Azion DDoS Protection |
| :------ | :--------------------- | :-------------------- |
| **Ativação** | Configuração de produto e serviço | Proteção automática com controles de segurança configuráveis |
| **Cobertura de camada** | Mitigação de rede e camada de aplicação | Padrões de proteção L3, L4 e L7 |
| **Customização** | Controles de segurança Fastly | Firewall, Network Shield, Rules Engine |
| **Visibilidade** | Dashboards e logs de segurança Fastly | Real-Time Metrics, Real-Time Events, Data Stream |

#### Passos de Migração

1. Documente suposições atuais de DDoS na Fastly, processos de suporte e caminhos de escalação.
2. Confirme a configuração de workload, Firewall e Network Shield na Azion.
3. Recrie controles de camada de aplicação usando Rules Engine para Firewall.
4. Valide observabilidade por Real-Time Metrics, Real-Time Events e Data Stream.
5. Mantenha procedimentos de rollback e escalação prontos durante a janela de cutover.

#### Documentação de referência

* [DDoS Protection](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/ddos-protection/)
* [DDoS Mitigation](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/ddos-protection/ddos-mitigation/)
* [Network Shield](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/network-shield/)

### 5. Migrando Bot Management

Gerenciamento de bots protege aplicações contra abuso automatizado enquanto permite bots legítimos. Azion Bot Manager fornece controles de detecção e resposta, e Bot Manager Lite está disponível via Marketplace para casos de uso mais simples.

#### Diferenças Principais

| Aspecto | Fastly Bot Management | Azion Bot Manager |
| :------ | :-------------------- | :---------------- |
| **Detecção** | Sinais e comportamento de bots | Machine learning, análise comportamental, fingerprinting, intelligence de reputação |
| **Ações** | Padrões de allow, block, challenge | Allow, deny, drop, redirect, custom HTML, random delay, hold connection |
| **Opção Lite** | Recursos Fastly dependentes do plano | Bot Manager Lite via Marketplace |
| **Integração com regras** | Configuração de segurança Fastly | Firewall Rules Engine |

#### Regras Customizadas de Bot

<Code lang="text" code={`
Criteria: \${user_agent} contains "BadBot"
Behavior: Deny (403)

Criteria: \${user_agent} contains "Googlebot"
Behavior: Allow
`} />

#### Verificação

<Code lang="bash" code={`
curl -A "BadBot/1.0" https://yourdomain.com/
curl -A "Mozilla/5.0" https://yourdomain.com/
`} />

#### Documentação de referência

* [Bot Manager](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/bot-manager/)
* [Bot Manager Lite](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/bot-manager-lite/)
* [Bot Manager Lite integration kit](https://www.azion.com/pt-br/documentacao/produtos/guias/bot-manager-lite-integration-kit/)

### 6. Migrando Edge Rate Limiting

Rate limiting protege aplicações contra abuso limitando taxas de requisições por cliente, rota, método, token ou chave customizada. Recrie o comportamento de rate limiting da Fastly com regras de Firewall e Functions quando forem necessários contadores ou lógica customizados.

#### Diferenças Principais

| Aspecto | Fastly Edge Rate Limiting | Padrão de Rate Limiting Azion |
| :------ | :------------------------ | :---------------------------- |
| **Configuração** | Controles de rate limiting Fastly | Firewall Rules Engine + Functions |
| **Granularidade** | Cliente, rota, chaves específicas de serviço | IP, path, método, headers, lógica customizada |
| **Ações** | Bloquear ou penalizar clientes | Deny, drop, redirect, resposta customizada |
| **Contadores customizados** | Controles Fastly ou lógica Compute | Functions + KV Store |

#### Rate Limiting Baseado em Firewall

<Code lang="bash" code={`
curl -X POST 'https://api.azionapi.net/v4/workspace/firewalls/{firewall_id}/request_rules' \
  --header 'Authorization: Token YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Rate Limit API",
    "criteria": [[{"variable": "\${uri}", "operator": "starts_with", "argument": "/api/"}]],
    "behaviors": [
      {"type": "rate_limit", "attributes": {"rps": 100, "window": 60, "action": "block"}}
    ]
  }'
`} />

#### Documentação de referência

* [Rules Engine para Firewall](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/rules-engine/)
* [Functions para Firewall](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/functions/)
* [KV Store](https://www.azion.com/pt-br/documentacao/produtos/store/kv-store/)

## Store

A categoria Store cobre serviços de dados. Migre object storage e dados key-value com atenção a consistência, padrões de acesso, nomes de objetos, permissões e compatibilidade da aplicação.

### 1. Migrando Fastly Object Storage para Object Storage

Object storage armazena arquivos importantes para usuários e operações de negócio: imagens, documentos, assets estáticos, arquivos de mídia, uploads e conteúdo gerado. Azion Object Storage é compatível com S3 e pode ser usado como origem para Applications.

#### Diferenças Principais

| Aspecto | Fastly Object Storage | Azion Object Storage |
| :------ | :-------------------- | :------------------- |
| **Protocolo** | Fluxos compatíveis com S3 | Padrão S3 |
| **Endpoint** | Endpoint de object storage da Fastly | `s3.us-east-005.azionstorage.net` |
| **Caminho de entrega** | Serviços de entrega Fastly | Applications + Connectors |
| **Gerenciamento de objetos** | Ferramentas compatíveis com S3 | Ferramentas compatíveis com S3, API, CLI, Runtime API |
| **Entrega para usuários finais** | Serviço de entrega | Application com Connector para Object Storage |

#### Atualize a Configuração

<Code lang="javascript" code={`
import { S3Client } from '@aws-sdk/client-s3';

const client = new S3Client({
  region: 'us-east-005',
  endpoint: 'https://s3.us-east-005.azionstorage.net',
  credentials: {
    accessKeyId: Azion.env.get('AZION_ACCESS_KEY'),
    secretAccessKey: Azion.env.get('AZION_SECRET_KEY')
  }
});
`} />

#### Migre Dados com Ferramentas Compatíveis com S3

Use ferramentas como `s3cmd`, `rclone` ou AWS CLI para mover objetos:

| Tarefa | Padrão de Comando |
| :----- | :---------------- |
| Listar buckets | `s3cmd ls` |
| Fazer upload de objeto | `s3cmd put file.png s3://my-bucket/` |
| Fazer download de objeto | `s3cmd get s3://my-bucket/file.png` |
| Sincronizar buckets | `s3cmd sync s3://source-bucket/ s3://dest-bucket/` |

:::note
Use o endpoint S3 para operações de gerenciamento de objetos. Para entrega a usuários finais, sirva objetos por Applications e Connectors para que o tráfego se beneficie de cache, controles de segurança e seu domínio de produção.
:::

#### Documentação de referência

* [Object Storage](https://www.azion.com/pt-br/documentacao/produtos/store/object-storage/)
* [Como acessar Object Storage usando o protocolo S3](https://www.azion.com/pt-br/documentacao/produtos/store/storage/s3-protocol-para-object-storage/)
* [Crie e modifique um bucket](https://www.azion.com/pt-br/documentacao/produtos/guias/criar-e-modificar-um-bucket/)
* [Upload e download de objetos](https://www.azion.com/pt-br/documentacao/produtos/guias/upload-e-download-de-objetos-do-bucket/)
* [Use um bucket como origem](https://www.azion.com/pt-br/documentacao/produtos/store/storage/bucket-como-connector/)

### 2. Migrando Edge Data Storage para KV Store

Fastly Edge Data Storage e padrões key-value relacionados são comumente usados para configuração, feature flags, personalização, metadados de autorização e estado leve. Azion KV Store oferece storage key-value distribuído acessível por Functions.

#### Diferenças Principais

| Aspecto | Fastly Edge Data Storage | Azion KV Store |
| :------ | :----------------------- | :------------- |
| **Modelo de dados** | Containers key-value | Namespaces com pares key-value |
| **Padrão de acesso** | Acesso por Compute | Functions por `Azion.KV` |
| **Casos de uso comuns** | Configuração, flags, metadados de sessão | Configuração, flags, metadados de sessão, estado leve |
| **Planejamento de consistência** | Dependente da aplicação | Planeje comportamento distribuído de key-value |

#### Comparação de API

<Code lang="javascript" code={`
// Antes: acesso a dados na Fastly varia por produto e runtime
const value = await edgeData.get('feature:checkout');
await edgeData.put('feature:checkout', 'enabled');

// Depois: Azion KV Store
const kv = await Azion.KV.open('my-namespace');

const value = await kv.get('feature:checkout');
await kv.put('feature:checkout', 'enabled');
`} />

#### Crie um Namespace de KV Store

<Tabs client:visible>
    <Fragment slot="tab.console">Console</Fragment>
    <Fragment slot="tab.api">API</Fragment>

<Fragment slot="panel.console">
1. Acesse o [Azion Console](https://console.azion.com/).
2. Vá para **Store > KV Store**.
3. Crie um namespace para os dados migrados.
4. Importe ou recrie chaves usando seu script de migração.
5. Atualize Functions para usar o nome do namespace.
</Fragment>

<Fragment slot="panel.api">
<Code lang="bash" code={`
curl -X POST 'https://api.azionapi.net/v4/workspace/kv/namespaces' \
  --header 'Authorization: Token YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "fastly-migration-kv"
  }'
`} />
</Fragment>
</Tabs>

#### Checklist de Migração

* Exporte keys, values, metadados e regras de expiração da Fastly.
* Preserve prefixos de chave e convenções de nomenclatura quando possível.
* Documente comportamento padrão para chaves ausentes.
* Valide encoding de valores, serialização JSON e tratamento de dados binários.
* Teste caminhos de leitura e escrita antes de mover tráfego de produção.

#### Documentação de referência

* [KV Store](https://www.azion.com/pt-br/documentacao/produtos/store/kv-store/)
* [Como gerenciar KV Store com Functions](https://www.azion.com/en/documentation/products/guides/kv-store/manage-with-functions/)
* [KV Store API](https://www.azion.com/pt-br/documentacao/runtime/api-reference/kv-store/)
* [Functions](https://www.azion.com/pt-br/documentacao/produtos/build/applications/functions/)

## Observe

A categoria Observe cobre métricas, eventos, logs e destinos externos de streaming. Migrar observabilidade garante que você mantenha visibilidade de produção, capacidade de troubleshooting e relatórios de compliance após o cutover.

### 1. Migrando Domain e Origin Inspector para Real-Time Metrics

Fastly Domain Inspector e Origin Inspector fornecem visibilidade de tráfego e origem. Azion Real-Time Metrics fornece dashboards e acesso via GraphQL para requisições, bandwidth, status codes, latência, cache e comportamento de origem.

#### Diferenças Principais

| Aspecto | Fastly Inspectors | Azion Real-Time Metrics |
| :------ | :---------------- | :---------------------- |
| **Escopo** | Relatórios de domínio e origem | Métricas de application, workload, cache, performance e tráfego |
| **Método de acesso** | Fastly UI e APIs | Console e GraphQL API |
| **Casos de uso** | Tendências de tráfego, performance de origem | Tendências de tráfego, latência, cache hit ratio, erros, comportamento de origem |
| **Foco da migração** | Paridade de dashboards e alertas | Dashboards, filtros, queries GraphQL, Grafana se necessário |

#### Métricas Disponíveis

Azion Real-Time Metrics acompanha:

* **Métricas de requisição**: total de requisições, requisições por status code, requisições por método HTTP
* **Métricas de performance**: response time, upstream header time, origin response time
* **Métricas de bandwidth**: dados transferidos e dados economizados por cache
* **Métricas de cache**: hit ratio, miss ratio, objetos expirados
* **Métricas de erro**: erros 4xx, erros 5xx, erros de origem

#### Acesse Real-Time Metrics

<Tabs client:visible>
    <Fragment slot="tab.console">Console</Fragment>
    <Fragment slot="tab.api">API (GraphQL)</Fragment>

<Fragment slot="panel.console">
1. Acesse o [Azion Console](https://console.azion.com/).
2. Vá para **Products menu** > **Real-Time Metrics**.
3. Selecione sua application ou workload.
4. Configure intervalo de tempo e filtros.
5. Exporte ou recrie dashboards se necessário.
</Fragment>

<Fragment slot="panel.api">
<Code lang="graphql" code={`
query HttpMetricsQuery {
  httpMetrics(
    limit: 10,
    filter: {
      tsRange: {begin: "2024-01-01T00:00:00", end: "2024-01-02T00:00:00"}
    }
    aggregate: {sum: requests}
    groupBy: [ts]
  ) {
    ts
    sum
  }
}
`} />
</Fragment>
</Tabs>

#### Documentação de referência

* [Real-Time Metrics](https://www.azion.com/pt-br/documentacao/produtos/observe/real-time-metrics/)
* [Real-Time Metrics primeiros passos](https://www.azion.com/pt-br/documentacao/produtos/observe/real-time-metrics/primeiros-passos/)
* [Analisar métricas](https://www.azion.com/pt-br/documentacao/produtos/guias/observe/analisar-metricas/)
* [Dashboards customizados com plugin Grafana](https://www.azion.com/pt-br/documentacao/produtos/guias/azion-plugin-grafana/)

### 2. Migrando Log Explorer & Insights para Real-Time Events

Dados de log são essenciais para debugging, análise de segurança e compliance. Real-Time Events fornece acesso imediato a logs pelo Console ou GraphQL API para troubleshooting e investigação.

#### Diferenças Principais

| Aspecto | Fastly Log Explorer & Insights | Azion Real-Time Events |
| :------ | :----------------------------- | :--------------------- |
| **Método de acesso** | Fastly UI | Console e GraphQL API |
| **Modelo de dados** | Campos de log Fastly | Datasets de HTTP, WAF, DNS, Functions, imagens e outros eventos |
| **Consulta** | Filtros no Explorer | Filtros no Console e GraphQL |
| **Casos de uso** | Debugging e investigação de segurança | Debugging, investigação de segurança, evidência de compliance |

#### Acesse Real-Time Events

<Tabs client:visible>
    <Fragment slot="tab.console">Console</Fragment>
    <Fragment slot="tab.api">API (GraphQL)</Fragment>

<Fragment slot="panel.console">
1. Acesse o [Azion Console](https://console.azion.com/).
2. Vá para **Products menu** > **Real-Time Events**.
3. Selecione o dataset, como HTTP Requests ou WAF.
4. Configure intervalo de tempo e filtros.
5. Clique em **Search** para consultar logs.
6. Clique em uma linha para inspecionar detalhes do evento.
</Fragment>

<Fragment slot="panel.api">
<Code lang="graphql" code={`
query HttpEvents {
  workloadEvents(
    limit: 100,
    filter: {
      tsRange: {begin: "2024-01-01T00:00:00", end: "2024-01-01T01:00:00"}
    }
  ) {
    ts
    remoteAddress
    requestUri
    status
    upstreamResponseTime
  }
}
`} />
</Fragment>
</Tabs>

#### Documentação de referência

* [Real-Time Events](https://www.azion.com/pt-br/documentacao/produtos/observe/real-time-events/)
* [Real-Time Events primeiros passos](https://www.azion.com/pt-br/documentacao/produtos/observe/real-time-events/primeiros-passos/)
* [Investigue requisições com GraphQL API](https://www.azion.com/pt-br/documentacao/produtos/guias/observe/investigar-requisicoes-api-graphql/)
* [Entenda logs do Real-Time Events](https://www.azion.com/pt-br/documentacao/produtos/guias/observe/entender-logs/)

### 3. Migrando High Volume Logging para Data Stream

Fastly High Volume Logging exporta logs para destinos downstream. Azion Data Stream exporta logs continuamente para destinos externos para armazenamento de longo prazo, analytics, SIEM e monitoramento operacional.

#### Diferenças Principais

| Aspecto | Fastly High Volume Logging | Azion Data Stream |
| :------ | :------------------------- | :---------------- |
| **Modelo de entrega** | Streaming de logs para endpoints configurados | Push para destinos externos |
| **Formato** | Formatos de log específicos por endpoint | JSON e templates customizáveis |
| **Destinos** | Serviços externos de logging e storage | S3, Azure Blob, Datadog, Splunk, Kafka, BigQuery, Elasticsearch, endpoints HTTP e mais |
| **Seleção de origem** | Logs de serviço Fastly | Applications, WAF, Functions e outras fontes de eventos |

#### Configure Data Stream

<Tabs client:visible>
    <Fragment slot="tab.console">Console</Fragment>
    <Fragment slot="tab.api">API</Fragment>

<Fragment slot="panel.console">
1. Acesse o [Azion Console](https://console.azion.com/).
2. Vá para **Products menu** > **Data Stream**.
3. Clique em **+ Stream**.
4. Configure a source, como Applications ou WAF.
5. Selecione ou crie um template para o formato de log.
6. Escolha um destino.
7. Configure credenciais do destino.
8. Ative o stream.
</Fragment>

<Fragment slot="panel.api">
<Code lang="bash" code={`
curl -X POST 'https://api.azion.com/v4/workspace/stream/streams' \
  --header 'Authorization: Token YOUR_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "Fastly Migration Log Stream",
    "source": {
      "type": "applications"
    },
    "template_id": 12345,
    "endpoint": {
      "type": "s3",
      "name": "my-s3-endpoint",
      "bucket": "my-logs-bucket",
      "region": "us-east-1",
      "access_key": "YOUR_ACCESS_KEY",
      "secret_key": "YOUR_SECRET_KEY"
    },
    "active": true
  }'
`} />
</Fragment>
</Tabs>

#### Destinos Suportados

Data Stream suporta múltiplos padrões de destino:

* **Cloud Storage**: Amazon S3, Azure Blob Storage, Azion Object Storage
* **Monitoramento**: Datadog, Splunk, Elasticsearch, Azure Monitor
* **Streaming**: AWS Kinesis Data Firehose, Apache Kafka
* **Analytics**: Google BigQuery
* **Segurança**: IBM QRadar
* **Custom**: HTTP Webhook, Standard HTTP/HTTPS POST

#### Documentação de referência

* [Data Stream](https://www.azion.com/pt-br/documentacao/produtos/observe/data-stream/)
* [Data Stream primeiros passos](https://www.azion.com/pt-br/documentacao/produtos/observe/data-stream/primeiros-passos/)
* [Use Data Stream](https://www.azion.com/pt-br/documentacao/produtos/guias/como-usar-data-stream/)
* [Como configurar sampling no Data Stream](https://www.azion.com/pt-br/documentacao/produtos/guias/observe/configurar-sampling/)
* [Como selecionar variáveis no Data Stream](https://www.azion.com/pt-br/documentacao/produtos/guias/observe/data-stream-selecionar-variaveis/)

## Troubleshooting

### Problemas Comuns

| Problema | Causa Provável | Solução |
| :------- | :------------- | :------ |
| **Application responde de forma diferente da Fastly** | Regras, VCL, cache key ou seleção de origem não foram totalmente mapeadas | Compare o comportamento da versão de serviço Fastly com Rules Engine e configuração de Connector na Azion |
| **Variáveis de ambiente não encontradas** | Variáveis não foram configuradas na Function instance | Confirme que variáveis existem e que o código usa `Azion.env.get()` |
| **Redirects não funcionam** | Padrão VCL foi convertido para regex incorreta | Teste capture groups e verifique critérios do Rules Engine |
| **Headers ausentes** | Response settings ou lógica VCL de headers não foram migrados | Adicione regras de resposta ou uma Function para headers dinâmicos |
| **Cache hit ratio cai** | Cache key, TTL ou comportamento de shielding mudou | Revise Cache Settings, Advanced Cache Key, Tiered Cache e Origin Shield |
| **Código Compute falha** | APIs específicas da Fastly permanecem no código | Reescreva APIs de plataforma usando Azion Functions e Runtime APIs |
| **Dados KV ausentes** | Exportação ou importação do Edge Data Storage ficou incompleta | Reexporte chaves, valide namespaces e confira encoding de valores |
| **Object Storage retorna access denied** | Credenciais S3 ou endpoint estão incorretos | Verifique credenciais e use `s3.us-east-005.azionstorage.net` |
| **Upgrade WebSocket falha** | Headers de upgrade ou configuração do módulo na application estão ausentes | Confirme headers `Upgrade` e `Connection` e valide `101 Switching Protocols` |
| **Logs ausentes no destino** | Source, template ou endpoint do Data Stream está incorreto | Valide status do stream, credenciais do destino e variáveis selecionadas |
| **Certificado não está ativo** | Propriedade do domínio ou associação do certificado está incompleta | Confirme status do certificado e associação do workload antes do cutover DNS |

## Principais Vantagens Após a Migração

Migrar da Fastly para a Azion é mais forte quando a equipe trata o primeiro cutover como um padrão de migração repetível. O objetivo imediato é continuidade: usuários continuam chegando aos mesmos domínios, rotas críticas continuam funcionando, controles de segurança permanecem ativos e observabilidade está pronta antes do tráfego mudar.

O valor maior vem depois da migração, quando as equipes operam entrega, compute, storage, segurança e observabilidade em um único modelo de plataforma.

| Área | Vantagem após a migração | O que isso significa na prática |
| :--- | :----------------------- | :------------------------------ |
| **Estratégia de migração** | Caminho de migração incremental | Equipes podem migrar um serviço Fastly por vez e validar cada camada independentemente. |
| **Modelo de plataforma** | Plataforma de aplicações unificada | Recursos de Build, Secure, Store e Observe são gerenciados por um modelo de plataforma conectado. |
| **Build** | Deployment moderno de aplicações | Applications podem ser implantadas pelo GitHub ou CLI com configuração Azion. |
| **Build** | Controle de aplicação baseado em regras | Rules Engine gerencia redirects, headers, comportamento de cache, roteamento e lógica de request/response. |
| **Build** | Execução distribuída de functions | Functions substituem lógica Compute que controla autenticação, personalização, APIs e integrações. |
| **Build** | Cache e proteção de origem integrados | Cache, Tiered Cache, Origin Shield e Application Accelerator reduzem dependência da origem. |
| **Build** | Otimização de imagem no momento da entrega | Image Processor transforma e otimiza imagens por parâmetros de URL e configuração da application. |
| **Secure** | Cutover controlado de domínio e TLS | Workloads, Edge DNS e Certificate Manager podem ser preparados antes de trocar tráfego de produção. |
| **Secure** | Segurança de aplicação integrada | WAF, Bot Manager, Network Shield, padrões de rate limiting e regras de Firewall protegem workloads em conjunto. |
| **Store** | Object Storage compatível com S3 | Fluxos Fastly Object Storage podem ser migrados usando ferramentas e SDKs compatíveis com S3. |
| **Store** | KV para dados de aplicação de baixa latência | Casos de uso de Edge Data Storage podem migrar para KV Store para configuração, flags, metadados e estado leve. |
| **Observe** | Métricas em tempo real para visibilidade de produção | Real-Time Metrics substitui visões de inspector com dashboards e acesso GraphQL. |
| **Observe** | Eventos em tempo real para investigação | Real-Time Events fornece logs detalhados para requisições, functions, WAF, DNS, image processing e outros datasets. |
| **Observe** | Streaming de dados para ferramentas externas | Data Stream envia logs para destinos externos para SIEM, analytics, storage e workflows de compliance. |

Com a Azion, equipes podem construir e executar aplicações em infraestrutura globalmente distribuída enquanto combinam compute, entrega, storage, segurança e observabilidade em um só ambiente. Isso reduz a fragmentação que costuma aparecer quando aplicações modernas dependem de muitos serviços separados e padrões de configuração diferentes.

## Próximos Passos

Depois que sua migração estiver concluída:

* Revise [Real-Time Metrics](https://www.azion.com/pt-br/documentacao/produtos/observe/real-time-metrics/) para monitorar performance da aplicação.
* Configure [Real-Time Events](https://www.azion.com/pt-br/documentacao/produtos/observe/real-time-events/) para visibilidade de produção.
* Configure [Web Application Firewall](https://www.azion.com/pt-br/documentacao/produtos/secure/firewall/web-application-firewall/) para segurança de produção.
* Revise guias individuais de recursos para configuração avançada.

### Comece com um Serviço Pequeno

A melhor forma de começar não é com o serviço Fastly mais complexo do seu portfólio. Comece com um serviço significativo o suficiente para validar o caminho de migração, mas pequeno o bastante para mover com rapidez e segurança.

Escolha um serviço que inclua partes representativas da sua arquitetura: um ou dois domínios, algumas origens, regras de cache, redirects, headers, talvez um pacote Compute e um destino de logging. Use esse serviço para validar o fluxo, documentar o processo e identificar padrões internos que sua equipe possa reutilizar.

A partir daí, expanda gradualmente. Migre VCL mais complexo. Mova serviços Compute adicionais. Traga storage e dados key-value. Adicione observabilidade. Revise regras de segurança. Então prepare cutovers de produção com mais confiança.

### Próximos Passos Recomendados

* [Crie sua conta gratuita na Azion](https://console.azion.com/signup)
* [Leia a documentação de Applications](https://www.azion.com/pt-br/documentacao/produtos/build/applications/)
* [Explore a Azion CLI](https://www.azion.com/pt-br/documentacao/produtos/azion-cli/visao-geral/)
* [Revise Data Stream](https://www.azion.com/pt-br/documentacao/produtos/observe/data-stream/)

## Precisa de Ajuda?

Obtenha ajuda com [o time de Suporte da Azion](https://www.azion.com/pt-br/documentacao/), ou entre na nossa [comunidade no Discord](https://discord.gg/azion) para ver como outras pessoas estão usando a Azion.