Ficou parado no meu backlog por muito tempo, principalmente porque eu esperava que a parte de infraestrutura fosse ser bem complexa. A parte que eu tava evitando (hospedagem, cache, DNS) acabou sendo basicamente dois comandos.
Meu portfólio era aquele projeto de “próximo fim de semana” fazia tempo. Mas finalmente publiquei, e o processo todo levou bem menos tempo do que, por exemplo, escolher uma fonte.
azion initazion deployEssa é a história completa do deploy.
E aqui está exatamente o que aconteceu no meio do caminho.
A configuração
Eu não queria desenhar nada do zero. Queria um site de currículo que parecesse decente, funcionasse no celular e imprimisse um PDF limpo.
A Azion tem um template pra isso: o DevsCard. É um projeto Astro que monta seu currículo online e em papel a partir de alguns arquivos de dados em TypeScript. Nenhum componente pra escrever, nenhum CSS pra brigar.
Primeiro, instale a Azion CLI:
curl -fsSL https://raw.githubusercontent.com/aziontech/azion/refs/heads/main/scripts/install.sh | bashTambém está disponível no Homebrew, WinGet e Chocolatey, além de pacotes deb, rpm e apk.
Depois, faça login uma vez com azion login.
01 — azion init: escolha um template, ganhe um projeto
Essa era a parte que eu esperava ser chata. Não foi. A CLI só pergunta três coisas:
? Your application's name: devscard-my-portfolio? Choose a preset: Astro? Choose a template: Devscard
Template successfully fetchedInstalling application dependenciesTemplate successfully configuredAstro, Next.js, Vue, React, Angular, Vite, Hexo e sites estáticos simples estão todos na lista de presets.
A partir daí, ela clona o template, instala as dependências com o gerenciador de pacotes que detectar e gera a configuração da plataforma pra você.
Essa configuração fica em um arquivo azion.config, e vale a pena abrir: é a parte que a maioria espera ter que escrever na mão.
module.exports = { build: { preset: 'astro', polyfills: true }, storage: [ { name: 'devscard-my-portfolio', dir: './dist', workloadsAccess: 'read_only' } ], applications: [ { name: 'devscard-my-portfolio', cache: [ { browser: { maxAgeSeconds: 7200 }, edge: { maxAgeSeconds: 7200 } } ], rules: { /* static delivery + index.html fallbacks */ } } ]}Storage, política de cache e regras de roteamento: tudo já escrito. Eu não mexi em nada disso.
Quando o init termina, ele oferece pra subir um servidor de desenvolvimento local ou fazer o deploy na hora. Eu disse não pras duas coisas, porque queria colocar meu próprio nome antes.
Deixando com a sua cara
Tudo o que você edita fica em src/data/. Cada arquivo é um objeto simples:
| Arquivo | O que tem dentro |
|---|---|
src/data/config.ts | Título da página, meta description, idioma, formato de data, favicon |
src/data/sections/main-section.data.ts | Nome, cargo, dados de contato, redes sociais, bio |
src/data/sections/experience-section.data.ts | Histórico profissional, com datas e descrição de cada cargo |
src/data/sections/skills-section.data.ts | Grupos de habilidades e níveis de proficiência |
src/data/sections/portfolio-section.data.ts | Projetos, screenshots e links |
O template vem com um nome fictício — troque pelo seu:
const mainSectionData = { fullName: 'Mark Freeman', role: 'Senior React Developer', details: [ { label: 'Email', value: 'mark.freeman.dev@gmail.com' }, { label: 'From', value: 'Warsaw, Poland' }, ], tags: [{ name: 'Open for freelance' }],}As imagens ficam em src/assets/. Troque o my-image.jpeg pela sua foto, substitua os screenshots dos projetos, e pronto. Coloque visible: false em qualquer seção que não quiser mostrar.
02 — azion dev: confira antes de publicar
azion devIsso builda o projeto e roda no mesmo runtime que vai servir em produção. O que você vê localmente é o que vai pro ar. Passe --port se algo já estiver usando a porta padrão.
Fiquei ajustando algumas coisas nessa etapa: corrigi um cargo, cortei um screenshot, escondi a seção “Favorites”. Editar, recarregar, seguir em frente.
03 — azion deploy: um comando, todos os recursos
A CLI builda o projeto e depois provisiona tudo que o site precisa:
$ azion deploy
Created Bucket devscard-my-portfolioUploading source filesUpload completed successfully!Created Application devscard-my-portfolio with ID 111111111Created Cache Settings for ApplicationCreated Rules Engine for ApplicationCreated Workload devscard-my-portfolio with ID 1111111111
Your application is being deployed to all Azion Locations and it might take a few minutes.
Your Application was deployed successfully
To visualize your application access the Domain: https://myportfoliodomain.map.azionedge.netUm bucket de storage, uma aplicação com política de cache e regras de roteamento, e um workload com uma URL no ar. Sem clicar em dashboard, sem aprender YAML antes.
Os IDs dos recursos vão pro azion/azion.json, então o próximo azion deploy atualiza esses mesmos recursos em vez de criar novos. Os deploys seguintes também limpam o cache automaticamente.
Pra colocar meu próprio domínio:
azion update workloads \ --workload-id 1111111111 \ --domains portfolio.mydomain.comAponte o DNS e está no ar.
Prefere o Console? Mesmo template, sem terminal.
Abra o Azion Console, vá até a biblioteca de templates e inicie o DevsCard. O Console conecta com a sua conta do GitHub, cria um repositório a partir do template e faz o deploy. Todo push pra main reimplanta automaticamente.
O DevsCard também vem com um botão de deploy, que é o caminho mais curto de todos.
Caminho via CLI — iteração local. O azion dev te dá um loop rápido de editar e recarregar antes de qualquer coisa ir pro ar, e os deploys são um comando que dá pra colocar direto na sua esteira de CI.
Caminho via Console — deploys via Git. Nada pra instalar. Dá push pra main e reimplanta. Bom se você prefere editar pelo navegador ou na máquina de outra pessoa.
Os dois caminhos chegam no mesmo lugar. A CLI e o Console operam sobre os mesmos recursos, então dá pra começar em um e continuar no outro.
Alguns flags que vale conhecer
| Comando | O que faz |
|---|---|
azion init --name my-site | Pula a pergunta do nome |
azion init --auto | Roda o fluxo inteiro sem perguntas, deploy incluído |
azion deploy --sync | Sincroniza o azion.json local com o que realmente está na plataforma |
azion deploy --dry-run | Simula o deploy sem mudar nada |
azion logs http | Acompanha os logs de eventos HTTP assim que o tráfego começa a chegar |
O que eu diria pro meu eu do passado
O atrito nunca foi escrever o conteúdo. Foi a hora configurando hospedagem, cache e DNS antes de qualquer página ficar visível.
O azion init tirou a parte de configuração do caminho. O azion dev manteve o loop de iteração local e rápido. O azion deploy cuidou do provisionamento, upload e distribuição em uma única passada.
Dois comandos, uma tarde de fim de semana, e o site roda em uma arquitetura distribuída, servido a partir de data centers perto de quem estiver acessando.
Escolha um template e vá. Referência da Azion CLI · Guia do DevsCard
Nada disso custou nada pro Patrick. O DevsCard, a CLI, o Console: tudo rodou no Hobby, o plano gratuito da Azion. Veja o que mais esse mesmo plano cobre.
Construa de graça no plano Hobby da Azion
O Hobby é o plano gratuito da Azion pra projetos pessoais, POCs e experimentação. Você tem acesso aos produtos e recursos GA incluídos na oferta da Azion Platform, dentro dos limites do plano, sem precisar configurar infraestrutura.
O que está incluído
- Functions pra lógica de aplicação, sem cold starts
- Object Storage pra arquivos e dados não estruturados
- Image Processor pra otimizar imagens automaticamente
- DDoS Protection e WAF pra proteger seus projetos
- A infraestrutura distribuída da Azion, com mais de 100 data centers, pra rodar e entregar suas aplicações
SQL Database, KV Store e AI Inference estão disponíveis em Preview — peça acesso por um ticket de suporte, sujeito a aprovação.
Jeito mais rápido de começar: templates
Escolha um template no Marketplace (currículo, blog, portfólio, agente de IA, protótipo de e-commerce), conecte sua conta do GitHub e faça o deploy em minutos. Prefere começar do zero? Use a Azion CLI.
Como funciona
- Crie sua conta gratuita
- Escolha um template e conecte o GitHub, ou comece seu próprio projeto com a CLI
- Faça o deploy pelo Console ou rode
azion deploy - Acompanhe os logs até a aplicação ficar no ar
Nenhuma região pra escolher, nenhum servidor pra provisionar.
Quando o projeto cresce além do Hobby
Quando a aplicação estiver pronta pra produção, ou atingir os limites do plano com frequência, o Pro é o próximo passo: a mesma plataforma, com limites maiores e cobrança sob demanda. Pra operações de maior escala, o Enterprise oferece condições comerciais personalizadas, capacidade reservada e níveis de suporte adicionais.
Perguntas frequentes
Por quanto tempo posso usar o Hobby? Durante as etapas de aprendizado, experimentação e validação — incluindo o desenvolvimento de POCs — desde que a aplicação não esteja em produção e permaneça dentro dos limites do plano.
O que acontece se eu ultrapassar os limites do Hobby? Você vai precisar fazer upgrade pro Pro, ou sua conta pode sofrer restrições.
Preciso construir minha aplicação do zero? Não. Os templates disponíveis na plataforma cobrem diferentes tipos de projeto e reduzem o trabalho inicial de configuração.







