~/VibeHandbook
PDF grátis

Capítulo 13 · 01

Os cinco lugares onde o código pode viver

Quase todo produto de hospedagem na Terra é uma variação de uma dessas cinco categorias. Aprenda-as e as páginas de marketing param de ser confusas.

  • Hospedagem estática — Arquivos simples (HTML (HyperText Markup Language, a estrutura da página), CSS (Cascading Style Sheets, a estilização), JavaScript, imagens) entregues diretamente ao navegador. Nenhum servidor "roda" seu código; ele apenas entrega arquivos. Pense nisso como uma pasta na internet. Como não há nada para travar nem nada para corrigir, é a coisa mais confiável que você pode colocar online. Exemplos: GitHub Pages, Cloudflare Pages, Netlify, Vercel (modo estático).
  • Funções de borda ( functions) — Pequenos trechos de código que rodam em servidores fisicamente próximos ao seu usuário, espalhados pelo mundo todo. Eles iniciam quase instantaneamente e são ótimos para lógica leve: verificações de autenticação, redirecionamentos, pequenas chamadas de (Application Programming Interface — a porta de entrada que um programa usa para conversar com outro). A pegadinha: eles rodam em um ambiente enxuto, então nem toda biblioteca funciona ali. Exemplos: Cloudflare Workers, Vercel Edge Functions, Deno .
  • Funções (sem servidor) — Código que roda sob demanda e desaparece quando está ocioso. Você é cobrado por requisição, não por hora. Você escreve uma função; a plataforma cuida das máquinas. Ótimo até uma única requisição precisar rodar por minutos — a maioria das plataformas corta a função após um tempo limite (geralmente entre 10 e 60 segundos). Exemplos: AWS Lambda, Google Cloud Functions, Vercel Functions.
  • Contêineres (containers) — Seu app junto com todo o seu ambiente (a versão certa da linguagem, bibliotecas, ferramentas de sistema) empacotado em uma caixa portátil chamada contêiner. A plataforma mantém essa caixa rodando. Mais controle, um pouco mais de configuração. O arquivo que define essa caixa é um Dockerfile, e a IA escreve isso muito bem. Exemplos: Fly.io, Railway, Render, Google Cloud Run.
  • Máquinas virtuais (VMs) — Um computador inteiro que você aluga em um data center. Você instala e gerencia tudo sozinho — o sistema operacional, as atualizações de segurança, o servidor web, tudo. Controle máximo, responsabilidade máxima. Exemplos: AWS EC2, DigitalOcean Droplets, Hetzner.

Lado a lado, as cinco categorias trocam menos para gerenciar por mais controle à medida que você desce:

        VOCÊ GERENCIA MENOS  ◀────────────────────────────▶  VOCÊ GERENCIA MAIS
        mais barato ocioso                                mais controle

  ┌──────────┐  ┌──────────┐  ┌────────────┐  ┌───────────┐  ┌──────────┐
  │  STATIC  │  │   EDGE   │  │ SERVERLESS │  │ CONTAINER │  │    VM    │
  │  files   │  │ function │  │  function  │  │  your box │  │ whole PC │
  ├──────────┤  ├──────────┤  ├────────────┤  ├───────────┤  ├──────────┤
  │ no code  │  │ runs at  │  │ runs on    │  │ stays     │  │ you run  │
  │ runs     │  │ the edge │  │ demand     │  │ running   │  │ it ALL   │
  └──────────┘  └──────────┘  └────────────┘  └───────────┘  └──────────┘
   Pages         Workers       Lambda          Railway        EC2

Uma regra prática para custo: quanto mais a plataforma gerencia por você, mais barato é quando ninguém está usando seu app, e mais ela se preocupa quando todo mundo está.

Quer offline?

Baixe o livro inteiro em PDF ou EPUB — grátis.