Migre da Vercel para a Azion | Guia completo de migração
Migre da Vercel para a Azion
Uma migração de plataforma geralmente começa muito antes de o primeiro projeto ser implantado novamente ou o primeiro domínio de produção ser movido. Começa quando uma equipe percebe que fluxos de build, entrega, compute, IA, storage, segurança e observabilidade precisam de mais controle operacional do que o modelo atual oferece.
Para equipes que usam Vercel, esse momento costuma aparecer depois que as aplicações crescem além do fluxo original de deploy: projetos com múltiplos ambientes, URLs de preview, functions server-side, otimização de imagens, redirects, rewrites, dados no Edge Config, armazenamento Blob, integrações de IA, regras de firewall, controles de bots, dashboards de analytics e domínios de produção. Cada recurso pode funcionar individualmente, mas operar tudo como uma única plataforma de produção exige governança cuidadosa.
Para equipes que usam Vercel Projects, CI/CD and Preview Deployments, Content Delivery Network, Vercel Functions, Fluid Compute, AI Cloud, AI SDK, AI Gateway, Vercel Blob, Edge Config, Vercel Firewall, Web Application Firewall, Bot Management, BotID, Advanced Deployment Protection, Domains and DNS, Observability, Speed Insights, Web Analytics ou integrações do Marketplace, a Azion oferece recursos equivalentes por meio de Applications, Azion CLI, Preview Deployment, Functions, AI Inference, Azion AI Client, Object Storage, KV Store, Firewall, Web Application Firewall, Bot Manager, Edge DNS, Certificate Manager, Real-Time Metrics, Real-Time Events, Data Stream, Edge Pulse e Marketplace.
O motivo mais forte para migrar não é simplesmente substituir um fornecedor por outro. É consolidar deployment, entrega, compute, IA, storage, segurança e observabilidade em uma plataforma unificada projetada para aplicações distribuídas globalmente.
Como funciona a migração da Vercel para a Azion
Migrações de plataforma tradicionais frequentemente exigem reconstruir a entrega da aplicação, retrabalhar functions, recriar configuração de ambiente e mover domínios de produção sob pressão. Essa abordagem aumenta o 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:
-
Caminho de migração incremental. Comece com um projeto Vercel representativo, valide build, entrega, functions, storage, segurança e observabilidade na Azion e só então expanda para projetos adicionais.
-
Lógica de aplicação preservada. Rotas, redirects, rewrites, headers, variáveis de ambiente, functions server-side, arquivos de objeto, dados de configuração e políticas de segurança mapeiam para Azion Applications, Rules Engine, Functions, Object Storage, KV Store, Firewall e produtos de observabilidade com mudanças focadas.
-
Modelo de plataforma unificado. Em vez de gerenciar build, runtime, storage, segurança, analytics e observabilidade em superfícies separadas, 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 Vercel para seus equivalentes na Azion. Um traço (-) indica que a Azion atualmente não oferece um equivalente direto.
| Produto ou recurso Vercel | Descrição | Equivalente Azion |
|---|---|---|
| Projects | Principal recurso da aplicação para build, deployment, ambiente, domínios e configurações de runtime. | Applications |
| Production Deployments | Builds de produção promovidos para domínios usados por clientes. | Applications + Azion CLI |
| CI/CD and Preview Deployments | Plataforma de build e deploy integrada ao Git, com ambientes automáticos de preview. | Applications + Azion CLI + Preview Deployment |
| Content Delivery Network | Entrega global para caching, roteamento, compressão, TLS, redirects e rewrites. | Applications + Cache + Rules Engine |
| Redirects and rewrites | Roteamento de path e host configurado nas definições do projeto, na configuração do framework ou no vercel.json. | Rules Engine para Applications |
| Headers | Headers customizados de request ou response configurados por rota. | Rules Engine para Applications |
| Image Optimization | Transformação e entrega de imagens sob demanda. | Image Processor |
| Microfrontends | Composição de projetos frontend implantados de forma independente sob roteamento centralizado. | Applications + Rules Engine |
| Vercel Functions | Funções server-side gerenciadas para APIs, páginas dinâmicas e integrações de backend. | Functions para Applications |
| Fluid Compute | Modelo de computação serverless que melhora concorrência e reduz cold starts para workloads dinâmicos. | Functions |
| Environment Variables | Valores em nível de projeto para ambientes de produção, preview e desenvolvimento. | Environment Variables + Functions Instances |
| AI Cloud | Plataforma para criar e operar aplicações de IA. | AI Inference + Functions + Applications |
| AI SDK | Toolkit TypeScript para criar aplicações com IA, agentes, interfaces de streaming e experiências com chamadas de ferramentas. | AI Inference + Azion AI Client + Azion Lib |
| AI Gateway | Endpoint unificado para acesso a modelos, roteamento, fallbacks, novas tentativas, monitoramento de uso e observabilidade. | AI Inference + Functions + Real-Time Events |
| Vercel Blob | Armazenamento de objetos gerenciado para arquivos, uploads, imagens, documentos e vídeos. | Object Storage |
| Edge Config | Armazenamento de dados replicado globalmente e de baixa latência para feature flags, experimentos, redirects e configuração. | KV Store |
| Platform Security | Mitigação de DDoS, TLS, firewall de plataforma, controles de acesso e monitoramento de segurança. | Firewall + DDoS Protection + Network Shield |
| Vercel Firewall | Regras de tráfego, bloqueios de IP, rate limits, redirects, desafios, Attack Mode e exceções. | Firewall + Rules Engine para Firewall + Network Lists |
| Web Application Firewall | Proteção gerenciada e customizada contra ataques na camada de aplicação. | Web Application Firewall |
| Bot Management | Detecção, mitigação, challenge, allow e bloqueio de tráfego automatizado. | Bot Manager + Bot Manager Lite |
| BotID | Verificação invisível de bots para ações sensíveis. | Bot Manager |
| Advanced Deployment Protection | Controles de acesso para URLs de deployment por autenticação, IPs confiáveis, senhas ou bypasses. | Firewall + Rules Engine para Firewall + Network Lists |
| SAML Single Sign-On | Autenticação centralizada de usuários por um provedor de identidade compatível com SAML. | Single Sign-On |
| Domains and DNS | Domínios customizados, registros DNS, nameservers e automação de certificados SSL. | Workloads + Edge DNS + Certificate Manager |
| Observability | Monitoramento de tráfego, builds, functions, chamadas de APIs externas, performance, erros e uso. | Real-Time Metrics + Real-Time Events + Data Stream |
| Speed Insights | Monitoramento de performance de usuários reais baseado em Core Web Vitals. | Edge Pulse + Real-Time Metrics |
| Web Analytics | Analytics de sites para page views, visitantes, referenciadores, demografia, eventos customizados e uso de features. | Edge Pulse + Real-Time Metrics |
| Observability Plus | Retenção estendida de observabilidade, métricas, dados de requisições, consultas, notebooks, monitoramento e alertas. | Real-Time Metrics + Real-Time Events + Data Stream |
| Web Analytics Plus | Janelas maiores de relatório de analytics e dados adicionais de atribuição. | Edge Pulse + Real-Time Metrics |
| Vercel Marketplace | Catálogo de integrações para bancos de dados, storage, autenticação, IA, observabilidade, CMS, commerce, mensageria e segurança. | Marketplace |
| Vercel CLI | Fluxo de linha de comando para projetos, deployments, logs, domínios e variáveis de ambiente. | Azion CLI |
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 projetos, configurações de build, deployments de produção e preview, comportamento de CDN, redirects, rewrites, headers, otimização de imagens, functions, padrões de Fluid Compute e lógica de aplicações de IA.
- Secure: migre domínios, DNS, certificados TLS, regras de firewall, políticas WAF, controles de bots, postura de DDoS, regras de acesso a deployments e dependências de SSO.
- Store: migre arquivos Blob e dados do Edge Config para Object Storage e KV Store.
- Observe: migre dashboards de observabilidade, monitoramento de usuários reais, analytics, logs de functions, investigação de eventos e fluxos de exportação de dados.
Build
A categoria Build cobre configuração de projeto, deployment, configuração de entrega, roteamento, comportamento de runtime, Functions, otimização de imagens e workloads de IA. 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 seu projeto Vercel para a Azion de uma forma familiar para equipes que implantam aplicações web modernas a partir do Git. Se você usou projetos Vercel, production deployments, preview deployments e presets de framework, já entende o padrão: conectar um repositório, definir configurações de build, implantar a saída e validar uma URL gerada.
A Azion segue um fluxo similar, mas consolida entrega de aplicações, Functions, regras, segurança, storage e observabilidade no mesmo contexto de plataforma.
Diferenças principais
| Aspecto | Vercel | Azion |
|---|---|---|
| Recurso principal | Project | Application + Workload |
| Arquivo de config | vercel.json, configuração de framework, configurações de projeto | azion.config.js e configuração via Console |
| Fluxo de preview | Preview deployments | Azion Preview Deployment e fluxos de CLI |
| Roteamento e comportamento | Rotas do framework, vercel.json, config de CDN | Applications, Rules Engine, Functions |
| Observabilidade | Observability, Speed Insights, Web Analytics | Real-Time Metrics, Real-Time Events, Data Stream, Edge Pulse |
Conecte seu repositório
- Abra o Azion Console.
- Clique em + Create > Import from GitHub.
- Autorize o GitHub App da Azion.
- Selecione o repositório que deseja migrar.
Configure seu build
A Azion detecta automaticamente seu framework e configura as definições de build. Sobrescreva o preset detectado em azion.config.js:
import { defineConfig } from 'azion'
export default defineConfig({name: 'my-vercel-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:
https://xxxxxxxxxx.map.azionedge.net/Valide o deployment antes de mover domínios de produção:
curl -I https://xxxxxxxxxx.map.azionedge.net/curl https://xxxxxxxxxx.map.azionedge.net/api/healthDocumentação de referência
- Applications
- Applications primeiros passos
- Azion CLI visão geral
- Importe um projeto existente do GitHub
2. Convertendo configuração de build e deployment
Uma migração pode parecer bem-sucedida quando o build passa, mas falhar depois quando comportamento de runtime, variáveis de ambiente, redirects, cache ou otimização de imagens diferem da Vercel. Revise cuidadosamente a configuração do projeto em vez de tratar a migração como uma simples substituição de comandos.
Referência rápida de CLI
| Tarefa | Vercel CLI | Azion CLI |
|---|---|---|
| Instalar | npm i -g vercel | curl -fsSL https://cli.azion.app/install.sh | bash |
| Login | vercel login | azion login |
| Dev local | vercel dev | azion dev |
| Deploy preview | vercel | azion deploy e fluxos de Preview Deployment |
| Deploy produção | vercel --prod | azion deploy |
| Ver logs | vercel logs | azion logs |
| Rollback | Rollback de deployment Vercel | azion rollback |
Inventário de configuração
Antes de recriar o projeto na Azion, faça inventário de:
- Projetos Vercel, times, production deployments e preview deployments
- Build commands, diretórios de saída, presets de framework e comandos de install
vercel.json, configuração de framework, middleware e definições de rota- Variáveis de ambiente entre produção, preview e desenvolvimento
- API routes, server actions, serverless functions e workloads de Fluid Compute
- Redirects, rewrites, headers, comportamento de cache e configurações de otimização de imagens
- Domínios, registros DNS, nameservers e status de certificados
- Blob stores, Edge Config stores, feature flags e experimentos
- Regras de firewall, controles WAF, proteções contra bots, controles de acesso a deployments e dependências de SSO
- Dashboards de observabilidade, analytics, alertas, fluxos de logs e integrações do Marketplace
Documentação de referência
3. Migrando variáveis de ambiente
Variáveis de ambiente contêm API keys, credenciais de banco de dados, segredos de autenticação, endpoints de terceiros, tokens de provedores de IA, feature flags e configurações específicas por ambiente. Migrá-las incorretamente causa falhas de runtime mesmo quando o deployment é bem-sucedido.
Diferenças principais
| Aspecto | Vercel | Azion |
|---|---|---|
| Acesso | process.env.VARIABLE | Azion.env.get('VARIABLE') |
| Escopos | Production, Preview, Development | Function instance e contexto de ambiente |
| Secrets | Variáveis de ambiente do projeto | Variáveis em Functions Instances |
| Dados de configuração | Variáveis de ambiente e Edge Config | Variables e KV Store |
Avalie suas variáveis
Antes de alterar código, identifique todas as variáveis em:
- Configurações de ambiente do projeto Vercel
- Variáveis de ambiente gerenciadas pela Vercel CLI
- Arquivos
.envdo framework usados em desenvolvimento local - Chaves de provedores de IA e configurações de model gateway
- Tokens Blob e credenciais de storage
- IDs, tokens e chaves de Edge Config
- Configurações de ambiente CI/CD
- Configuração de runtime no código fonte
Crie variáveis na Azion
- Acesse o Azion Console.
- Navegue para Build > Variables.
- Clique em Add Variable.
- Insira o nome e valor da variável.
- Clique em Save.
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": "AI_API_KEY","value": "key-value"}'Atualize seu código
// Antes: Vercel / Node.jsconst apiKey = process.env.API_KEY;const aiApiKey = process.env.AI_API_KEY;
// Depois: Azion Functionsconst apiKey = Azion.env.get('API_KEY');const aiApiKey = Azion.env.get('AI_API_KEY');Documentação de referência
4. Migrando roteamento de CDN, redirects, rewrites e headers
O comportamento de roteamento da Vercel pode vir de rotas do framework, middleware, vercel.json, configurações do projeto e comportamento de CDN. Azion Applications e Rules Engine fornecem controles equivalentes para roteamento, redirects, rewrites, headers, seleção de origem, comportamento de cache e manipulação de request ou response.
Diferenças principais
| Aspecto | Vercel | Azion |
|---|---|---|
| Configuração de roteamento | Rotas do framework e vercel.json | Applications + Rules Engine |
| Redirects | redirects no vercel.json ou na configuração do framework | Comportamento de redirect no Rules Engine |
| Rewrites | rewrites no vercel.json ou na configuração do framework | Rules Engine e Functions |
| Headers | headers no vercel.json ou na configuração do framework | Comportamentos de request/response no Rules Engine |
| Seleção de origem | Entrega gerenciada pela Vercel | Connectors + Rules Engine |
Exemplo de migração de redirect
{"redirects": [ { "source": "/old-blog/:path*", "destination": "/blog/:path*", "permanent": true }]}# Depois: Azion Rules EngineCriteria: ${uri} matches ^/old-blog/(.*)$Behavior: Redirect To (301): /blog/%{capture[1]}Exemplo de migração de header
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 padrões de rota da Vercel para critérios e regex do Rules Engine.
- Mova redirects simples para Rules Engine.
- Mova headers simples de response para regras de response.
- Use Functions para rewrites dinâmicos, autenticação, signed URLs ou consultas externas.
- Valide comportamento de trailing slash, prefixos de locale e paths canônicos.
- Compare headers de cache e redirects sensíveis a SEO antes do cutover.
Documentação de referência
5. Migrando Vercel Functions e Fluid Compute para Functions
Vercel Functions e Fluid Compute costumam conter a lógica mais crítica da aplicação: API routes, autenticação, server actions, orquestração de IA, personalização, webhooks e integrações de backend. Azion Functions fornecem execução JavaScript distribuída para workloads equivalentes.
Diferenças principais
| Aspecto | Vercel Functions / Fluid Compute | Azion Functions |
|---|---|---|
| Modelo de function | Rotas de função server-side | Function + Function Instance |
| Assinatura da function | Handlers dependentes do framework | export default { async fetch(request) {} } |
| Acesso ao ambiente | process.env.VARIABLE | Azion.env.get('VARIABLE') |
| Roteamento | Sistema de arquivos ou roteamento do framework | Rules Engine + Functions |
| Acesso a dados | Vercel Blob, Edge Config, serviços externos | Object Storage, KV Store, serviços externos |
Atualize a assinatura da function
// Antes: estilo de API route da Vercelexport default async function handler(req, res) {const body = req.body;
res.status(200).json({ message: 'Hello', data: body});}
// Depois: Azion Functionsexport default {async fetch(request) { const body = await request.json();
return new Response(JSON.stringify({ message: 'Hello', data: body }), { status: 200, headers: { 'Content-Type': 'application/json' } });}};Exemplo de migração de rota
// Antes: rota de arquivo da Vercel// app/api/users/[id]/route.ts ou pages/api/users/[id].ts
// Depois: Azion Rules Engine roteia para uma Functionimport { defineConfig } from 'azion'
export default defineConfig({applications: [{ name: 'vercel-api-migration', rules: { request: [{ name: 'GET /api/users/:id', criteria: [ { variable: 'uri', operator: 'matches_regex', argument: '^/api/users/([^/]+)$' }, { variable: 'request_method', operator: 'equals', argument: 'GET' } ], behavior: { runFunction: 'get-user' } }] }}]})Documentação de referência
6. Migrando cache e comportamento de entrega dinâmica
Projetos Vercel podem combinar caching de CDN, configurações de cache em nível de framework, renderização dinâmica, geração estática e comportamento por rota. A Azion fornece Cache Settings, Rules Engine, Tiered Cache e Real-Time Purge para controlar como conteúdo é armazenado e invalidado.
Diferenças principais
| Aspecto | Vercel | Azion |
|---|---|---|
| Configuração de cache | Comportamento de cache do framework, configurações de CDN, headers | Cache Settings + Rules Engine |
| Cache key | Comportamento da plataforma e do framework | Advanced Cache Key |
| Purge | Redeploys e comportamento de invalidação de cache | Purge por URL, Cache Key e Wildcard |
| Comportamento stale | Controles do framework e da CDN | Configurações stale-while-revalidate |
| Redução de origem | CDN gerenciada pela Vercel | Tiered Cache + Origin Shield |
Passos de configuração
- Acesse o Azion Console.
- Edite sua Application.
- Navegue para Cache Settings.
- Configure o TTL padrão de cache.
- Habilite Tiered Cache quando for necessário reduzir carga na origem.
- Adicione regras de cache customizadas pelo Rules Engine.
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": "dynamic-cache", "browser_cache": { "ttl": 300 }, "modules": { "cache": { "ttl": 3600 }, "tiered_cache": { "enabled": true } }}'Exemplo de purge
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/products/*"], "layer": "cache"}'Documentação de referência
7. Migrando Image Optimization
Vercel Image Optimization transforma e entrega imagens otimizadas para aplicações web. 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 | Vercel Image Optimization | Azion Image Processor |
|---|---|---|
| Transformações | Otimização de imagens do framework e da plataforma | Resize, crop, fit, otimização de formato |
| Formato de URL | URLs de imagem geradas pelo framework | Query parameter ?ims=<OPTIONS> |
| Suporte a formatos | Formatos de imagem otimizados | WebP, AVIF, JPEG, PNG |
| Fonte | Assets do projeto ou imagens remotas | Origem HTTP ou Object Storage |
| Caminho de entrega | Vercel CDN | Azion Application com Image Processor |
Passos de configuração
- Acesse o Azion Console.
- Edite sua Application.
- Navegue para configurações de Image Processor.
- Habilite Image Processor.
- Configure comportamento padrão de qualidade e formato.
- Valide URLs representativas de imagem antes do cutover.
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 } }}'Comparação de formato de URL
# Padrão de URL de imagem gerada pelo framework na Vercel varia por framework/_next/image?url=%2Fhero.jpg&w=1200&q=75
# Azion Image Processor/hero.jpg?ims=1200xParâ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 |
Documentação de referência
8. Migrando workloads de IA
Padrões de Vercel AI Cloud, AI SDK e AI Gateway geralmente combinam código de aplicação, chamadas a modelos, respostas em streaming, tool calls, roteamento de provedores, acompanhamento de uso e observabilidade. Na Azion, workloads de IA podem combinar AI Inference, Functions, Azion AI Client, Cache, Real-Time Events e Data Stream dependendo do caso de uso.
Diferenças principais
| Aspecto | Vercel AI | Azion |
|---|---|---|
| Acesso a modelos | AI Gateway e integrações com provedores | AI Inference ou provedores externos chamados por Functions |
| Padrão de SDK | AI SDK | Azion AI Client e APIs JavaScript padrão |
| Streaming | Respostas em streaming do framework e SDK | Functions com Web APIs e respostas em streaming |
| Observabilidade | AI Gateway e Observability | Real-Time Events, Real-Time Metrics, Data Stream |
| Roteamento e fallbacks | AI Gateway | Functions com lógica de roteamento de provedores |
Exemplo de integração via Function
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;}};Checklist de migração
- Faça inventário de modelos, provedores, rotas e comportamento de fallback.
- Mova credenciais de provedores para variáveis da Azion.
- Recrie rotas de API de IA com Functions.
- Decida se a inferência roda por AI Inference ou provedores externos.
- Reconstrua observabilidade com Real-Time Events, Real-Time Metrics e Data Stream.
- Valide respostas em streaming, timeouts e tratamento de erros.
Documentação de referência
Secure
A categoria Secure cobre domínios, DNS, certificados, regras de firewall, proteções WAF, controles de bots, proteção DDoS, controles de acesso a deployments e acesso à conta. 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, DNS e certificados
A migração de domínio customizado é 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.
Aponte o domínio para a Azion
Aponte o subdomínio para o domínio gerado pela Azion:
www CNAME xxxxxxxxxx.map.azionedge.netIsso mantém seu provedor atual de DNS enquanto roteia tráfego pela Azion.
Configure seu domínio para usar os nameservers da Azion:
ns1.aziondns.netns2.aziondns.comns3.aziondns.orgIsso dá à Azion controle total de DNS, necessário para domínios apex.
Verifique propagação
dig www.yourdomain.com CNAME +shortcurl -I https://www.yourdomain.com/Documentação de referência
2. Migrando Vercel Firewall e controles WAF
Vercel Firewall e WAF protegem aplicações contra tráfego indesejado, padrões abusivos, ataques na camada de aplicação e requisições automatizadas suspeitas. Azion Firewall, Web Application Firewall, Rules Engine para Firewall, Network Lists e Functions para Firewall fornecem controles equivalentes.
Diferenças principais
| Aspecto | Vercel Firewall / WAF | Azion Firewall / WAF |
|---|---|---|
| WAF gerenciado | Proteções Vercel WAF | WAF Rule Sets da Azion |
| Regras customizadas de tráfego | Regras de firewall | Rules Engine para Firewall |
| Controles de IP | Bloqueios de IP e allowlists | Network Lists |
| Rate limiting | Controles de taxa do Firewall | Rules Engine para Firewall + Functions |
| Ações | Block, challenge, redirect e padrões de allow | Allow, deny, drop, redirect, custom HTML, hold connection |
Passos de migração
- Acesse o Azion Console.
- Vá para Products menu > Firewall.
- Selecione ou crie uma instância de Firewall.
- Habilite WAF rule sets quando necessário.
- Recrie regras customizadas em Rules Engine.
- Crie Network Lists para allowlists ou blocklists de IP.
- Associe o Firewall ao seu workload.
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": "Vercel Migration WAF", "product_version": "1.0", "engine_settings": { "engine_version": "2021-Q3", "type": "score", "attributes": { "rulesets": [1], "thresholds": [ { "threat": "sql_injection", "sensitivity": "medium" } ] } }}'Exemplo de migração de regra
# Intenção em estilo VercelBloquear requisições para /admin, exceto quando o IP do cliente estiver em uma rede aprovada.
# Critérios da AzionVariable: ${uri}Operator: matchesArgument: /admin
AND
Variable: ${remote_addr}Operator: does not matchArgument: 10.0.0.0/8
Behavior: Deny (403)Documentação de referência
3. Migrando proteção DDoS, controles de bots e deployment protection
Vercel Platform Security, Bot Management, BotID e Advanced Deployment Protection combinam proteção de infraestrutura, mitigação de bots e controles de acesso para deployments. A Azion fornece DDoS Protection, Network Shield, Bot Manager, Bot Manager Lite, regras de Firewall e Network Lists para resultados equivalentes.
Mapeamento de capacidade
| Capacidade Vercel | Caminho de migração na Azion |
|---|---|
| Platform Security | DDoS Protection + Network Shield + Firewall |
| Bot Management | Bot Manager + Bot Manager Lite |
| BotID | Bot Manager e lógica de Function específica da aplicação quando necessário |
| Advanced Deployment Protection | Firewall + Rules Engine + Network Lists |
| Trusted IPs | Network Lists |
| Senha ou barreiras de autenticação | Functions + regras de Firewall |
Exemplo de acesso a deployment
Criteria: ${uri} starts with /preview/ANDCriteria: ${remote_addr} does not match 10.0.0.0/8
Behavior: Deny (403)Documentação de referência
4. Migrando SAML Single Sign-On
Se sua organização Vercel usa SAML SSO, documente configurações do provedor de identidade, associação de grupos, acesso de usuários e runbooks operacionais antes da migração. A Azion oferece suporte a Single Sign-On para acesso centralizado à conta.
Checklist de migração
- Faça inventário de provedores de identidade e metadados SAML.
- Mapeie funções de time da Vercel para permissões de conta e time na Azion.
- Configure SSO na Azion antes da migração ampla de usuários.
- Valide acesso administrador de emergência.
- Revise MFA, timeout de sessão de usuário e políticas de acesso.
Documentação de referência
Store
A categoria Store cobre dados de objeto e key-value. Migre arquivos Blob e dados do Edge Config com atenção a consistência, padrões de acesso, nomes de objetos, permissões, caching e compatibilidade da aplicação.
1. Migrando Vercel Blob para Object Storage
Vercel Blob armazena arquivos de aplicação como imagens, documentos, vídeos e uploads de usuários. Azion Object Storage é compatível com S3 e pode ser usado como origem para Applications.
Diferenças principais
| Aspecto | Vercel Blob | Azion Object Storage |
|---|---|---|
| Modelo de dados | Objetos Blob | Buckets e objetos |
| Padrão de acesso | Vercel Blob SDK e URLs | Ferramentas compatíveis com S3, API, CLI, Runtime API |
| Endpoint | Endpoints Blob gerenciados pela Vercel | s3.us-east-005.azionstorage.net |
| Caminho de entrega | Entrega pela plataforma Vercel | Applications + Connectors |
| Arquivos privados | Token e padrões de URL | Permissões de bucket/objeto e lógica de aplicação |
Atualize a configuração
// Antes: padrão Vercel Blobimport { put } from '@vercel/blob';
const blob = await put('avatar.png', file, {access: 'public'});
// Depois: cliente Object Storage compatível com S3import { S3Client, PutObjectCommand } 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')}});
await client.send(new PutObjectCommand({Bucket: 'my-bucket',Key: 'avatar.png',Body: file}));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/ |
Documentação de referência
- Object Storage
- Como acessar Object Storage usando o protocolo S3
- Crie e modifique um bucket
- Upload e download de objetos
- Use um bucket como origem
2. Migrando Edge Config para KV Store
Vercel Edge Config costuma ser usado para feature flags, experimentos, redirects, configuração e dados de aplicação lidos com frequência. Azion KV Store fornece storage key-value distribuído acessível por Functions.
Diferenças principais
| Aspecto | Vercel Edge Config | Azion KV Store |
|---|---|---|
| Modelo de dados | Itens em Edge Config stores | Namespaces com pares key-value |
| Padrão de acesso | Edge Config SDK | Functions por Azion.KV |
| Casos de uso comuns | Feature flags, experimentos, redirects, config | Feature flags, experimentos, redirects, config, estado leve |
| Fluxo de atualização | Dashboard/API da Vercel | Azion Console/API e scripts de migração |
Comparação de API
// Antes: Vercel Edge Configimport { get } from '@vercel/edge-config';
const checkoutEnabled = await get('feature:checkout');
// Depois: Azion KV Storeconst kv = await Azion.KV.open('my-namespace');
const checkoutEnabled = await kv.get('feature:checkout');Crie um namespace de KV Store
- Acesse o Azion Console.
- Vá para Store > KV Store.
- Crie um namespace para os dados migrados.
- Importe ou recrie chaves usando seu script de migração.
- Atualize Functions para usar o nome do namespace.
curl -X POST 'https://api.azionapi.net/v4/workspace/kv/namespaces' --header 'Authorization: Token YOUR_TOKEN' --header 'Content-Type: application/json' --data '{ "name": "vercel-migration-kv"}'Checklist de migração
- Exporte chaves, valores, metadados e valores específicos por ambiente da Vercel.
- Preserve prefixos de chave e convenções de nome quando possível.
- Documente comportamento padrão para chaves ausentes.
- Valide encoding de valores e serialização JSON.
- Teste caminhos de leitura antes de mover tráfego de produção.
- Reconstrua fluxos de feature flags e experimentos que dependem de ferramentas específicas da Vercel.
Documentação de referência
Observe
A categoria Observe cobre métricas, eventos, analytics, monitoramento de usuários reais, logs e data streams externos. Migrar observabilidade garante que você mantenha visibilidade de produção, capacidade de troubleshooting e relatórios de compliance depois do cutover.
1. Migrando Observability para Real-Time Metrics e Real-Time Events
Vercel Observability oferece visibilidade sobre tráfego da aplicação, functions, chamadas de APIs externas, performance, erros e uso. Azion Real-Time Metrics e Real-Time Events fornecem dashboards, investigação de eventos e acesso GraphQL para troubleshooting de produção.
Diferenças principais
| Aspecto | Vercel Observability | Azion Observe |
|---|---|---|
| Métricas | Visualizações de projeto, function, tráfego, uso e performance | Dashboards de Real-Time Metrics e API GraphQL |
| Investigação de eventos | Logs e detalhes de requisição | Datasets de Real-Time Events e API GraphQL |
| Retenção | Dependente de plano e add-on | Dependente do produto e destino |
| Exportação | Dependente de integração | Data Stream para destinos externos |
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 Events
- Acesse o Azion Console.
- Vá para Products menu > Real-Time Events.
- Selecione o dataset, como HTTP Requests ou WAF.
- Configure o intervalo de tempo e filtros.
- Clique em Search para consultar logs.
- Clique em uma linha para inspecionar detalhes do evento.
query HttpEvents {workloadEvents( limit: 100, filter: { tsRange: {begin: "2024-01-01T00:00:00", end: "2024-01-01T01:00:00"} }) { ts remoteAddress requestUri status upstreamResponseTime}}Documentação de referência
- Real-Time Metrics
- Real-Time Events
- Investigue requisições com a API GraphQL
- Entenda logs do Real-Time Events
2. Migrando Speed Insights e Web Analytics
Vercel Speed Insights e Web Analytics fornecem performance de usuários reais e analytics de sites. Azion Edge Pulse e Real-Time Metrics podem apoiar fluxos equivalentes de monitoramento e análise de performance.
Diferenças principais
| Aspecto | Vercel Speed Insights / Web Analytics | Azion |
|---|---|---|
| Monitoramento de usuários reais | Speed Insights | Edge Pulse |
| Métricas de tráfego e performance | Web Analytics e Observability | Real-Time Metrics |
| Investigação de eventos | Dashboard e visualizações de projeto | Real-Time Events |
| Analytics externo | Integrações do Marketplace | Data Stream e integrações do Marketplace |
Checklist de migração
- Faça inventário dos Core Web Vitals atuais, relatórios por página e dashboards de analytics.
- Decida quais dashboards serão movidos para Edge Pulse, Real-Time Metrics ou ferramentas externas de BI.
- Recrie rastreamento de eventos customizados, se necessário.
- Valide requisitos de privacidade e consentimento.
- Compare métricas de experiência pós-cutover com baselines da Vercel.
Documentação de referência
3. Migrando exportação de dados e integrações do Marketplace
Vercel Marketplace e integrações de observabilidade frequentemente conectam aplicações de produção a bancos de dados, CMSs, analytics, logging, mensageria, commerce, segurança e provedores de IA. Azion Marketplace e Data Stream fornecem caminhos de integração para aplicações e dados de observabilidade.
Configure Data Stream
- Acesse o Azion Console.
- Vá para Products menu > Data Stream.
- Clique em + Stream.
- Configure a origem, como Applications ou WAF.
- Selecione ou crie um template para o formato de log.
- Escolha um destino.
- Configure credenciais do destino.
- Ative o stream.
curl -X POST 'https://api.azion.com/v4/workspace/stream/streams' --header 'Authorization: Token YOUR_TOKEN' --header 'Content-Type: application/json' --data '{ "name": "Vercel 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}'Destinos compatíveis
Data Stream oferece suporte a múltiplos padrões de destino:
- Cloud Storage: Amazon S3, Azure Blob Storage, Azion Object Storage
- Monitoring: Datadog, Splunk, Elasticsearch, Azure Monitor
- Streaming: AWS Kinesis Data Firehose, Apache Kafka
- Analytics: Google BigQuery
- Security: IBM QRadar
- Custom: HTTP Webhook, Standard HTTP/HTTPS POST
Documentação de referência
Troubleshooting
Problemas comuns
| Problema | Causa provável | Solução |
|---|---|---|
| Build falha na Azion | Preset de framework, comando de install ou diretório de saída difere da Vercel | Verifique azion.config.js, scripts do pacote e saída do build |
| Variáveis de ambiente não encontradas | Variáveis não foram configuradas na Function instance | Confirme que as variáveis existem e que o código usa Azion.env.get() |
| Redirects ou rewrites se comportam de forma diferente | Padrões de rota da Vercel foram convertidos para regex incorreto | Teste capture groups e verifique critérios do Rules Engine |
| API routes falham | A assinatura da Function ou o parsing de request ainda presume runtime da Vercel | Reescreva handlers usando fetch(request) e Web APIs padrão |
| Imagens não são otimizadas | URLs de imagem da Vercel não foram convertidas ou Image Processor está desabilitado | Habilite Image Processor e atualize padrões de URL de imagem |
| Comportamento de cache mudou | Comportamento de cache do framework, TTL ou cache key não foi mapeado | Revise Cache Settings, Advanced Cache Key e Rules Engine |
| Arquivos Blob ausentes | Exportação ou importação de objetos incompleta | Exporte arquivos novamente, verifique object keys e valide permissões do bucket |
| Dados do Edge Config ausentes | Namespace KV ou script de migração incompleto | Recrie chaves, valide nomes de namespace e teste valores padrão |
| Regras de firewall bloqueiam usuários válidos | Lógica de regra ou listas de IP diferem da Vercel | Execute em modo monitorado, compare eventos e ajuste critérios |
| Lacuna de analytics após cutover | Dependências de analytics da Vercel não foram substituídas | Configure Edge Pulse, Real-Time Metrics, Real-Time Events e Data Stream |
| Certificado não está ativo | Validação de domínio ou associação de certificado incompleta | Confirme o status do certificado e a associação ao workload antes do cutover de DNS |
Principais vantagens após a migração
Migrar da Vercel para a Azion funciona melhor quando a equipe trata o primeiro cutover como um padrão de migração repetível. O objetivo imediato é continuidade: usuários continuam acessando os mesmos domínios, rotas críticas continuam funcionando, controles de segurança permanecem ativos e observabilidade está pronta antes da movimentação de tráfego.
O valor maior vem depois da migração, quando as equipes operam build, entrega, compute, IA, 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 | As equipes podem migrar um projeto Vercel por vez e validar cada camada independentemente. |
| Modelo de plataforma | Plataforma unificada de aplicações | 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 a partir do GitHub ou da CLI com configuração da Azion. |
| Build | Controle de aplicação baseado em regras | Rules Engine gerencia redirects, rewrites, headers, comportamento de cache, roteamento e lógica de request/response. |
| Build | Execução distribuída de functions | Functions substituem padrões de Vercel Functions e Fluid Compute para APIs, personalização, orquestração de IA e integrações. |
| Build | Cache e otimização de imagens integrados | Cache, Tiered Cache, Real-Time Purge e Image Processor são configurados como parte da camada de entrega. |
| IA | Workloads de IA integrados à entrega | AI Inference e Functions oferecem suporte a chamadas de modelo, roteamento e lógica de aplicação junto com observabilidade. |
| 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 integrada de aplicações | 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 | Workflows de Vercel Blob podem ser migrados usando ferramentas e SDKs compatíveis com S3. |
| Store | KV para dados de baixa latência da aplicação | Casos de uso de Edge Config podem ser migrados para KV Store para configuração, flags, experimentos, redirects e estado leve. |
| Observe | Métricas em tempo real para visibilidade de produção | Real-Time Metrics fornece dashboards e acesso GraphQL para dados de tráfego, cache, latência e erro. |
| Observe | Eventos em tempo real para investigação | Real-Time Events fornece logs detalhados de requisições, functions, WAF, DNS, image processing e outros datasets. |
| Observe | Streaming de dados para ferramentas externas | Data Stream envia logs para destinos externos de SIEM, analytics, storage e compliance. |
Com a Azion, as equipes podem construir e executar aplicações em infraestrutura globalmente distribuída enquanto combinam compute, entrega, IA, storage, segurança e observabilidade em um único ambiente. Isso reduz a fragmentação que costuma aparecer quando aplicações modernas dependem de muitos serviços e padrões de configuração separados.
Próximos passos
Depois que sua migração estiver concluída:
- Revise Real-Time Metrics para monitorar a performance da aplicação.
- Configure Real-Time Events para visibilidade de produção.
- Configure Web Application Firewall para segurança de produção.
- Revise os guias individuais de recursos para configuração avançada.
Comece com um projeto pequeno
A melhor forma de começar não é escolher o projeto Vercel mais complexo do seu portfólio. Comece com um projeto significativo o suficiente para validar o caminho de migração, mas pequeno o suficiente para mover com rapidez e segurança.
Escolha um projeto que inclua partes representativas da sua arquitetura: um domínio semelhante ao de produção, algumas rotas, redirects, headers, talvez uma function, uma dependência de Blob, uma dependência de Edge Config e um fluxo de analytics. Use esse projeto para validar o workflow, documentar o processo e identificar padrões internos que sua equipe pode reutilizar.
A partir daí, expanda gradualmente. Migre roteamentos mais complexos. Mova functions adicionais. Traga storage e dados de configuração. Adicione observabilidade. Revise regras de segurança. Depois, prepare cutovers de produção com mais confiança.
Próximos passos recomendados
- Crie sua conta gratuita da Azion
- Leia a documentação de Applications
- Explore a Azion CLI
- Revise Data Stream
Precisa de ajuda?
Receba ajuda do time de Suporte da Azion ou participe da nossa comunidade no Discord para ver como outras equipes usam a Azion.