~/VibeHandbook
PDF grátis

Capítulo 13 · 02

Alguns termos técnicos, decodificados

  • Cold start (partida a frio) — Quando o código não roda há um tempo, a plataforma precisa acordá-lo. Essa primeira requisição é mais lenta (de uma fração de segundo a alguns segundos). Funções de borda quase não têm isso; funções às vezes têm; contêineres e VMs sempre ativos não têm. Para a maioria dos apps isso é invisível; para um fluxo de checkout ágil, pode importar.
  • Escalonamento (scaling) — Lidar com mais usuários sem cair. Escalonamento automático significa que a plataforma adiciona capacidade por você. Escalonamento manual significa que você clica em botões ou o app simplesmente quebra sob carga. "Escala a zero" é uma frase relacionada que você vai ver bastante: quando ninguém está usando seu app, ele não custa nada.
  • Estado (state) — Dados que precisam persistir (um banco de dados, arquivos enviados, uma sessão de usuário). As camadas estática e serverless costumam ser "sem estado" (stateless) — elas esquecem tudo entre requisições — então o estado vive em um banco de dados ou serviço de armazenamento separado. É por isso que quase todo app real é "sua hospedagem mais um banco de dados em algum lugar", não uma caixa mágica única.
  • Região (region) — Em que parte do mundo seu código e seus dados ficam fisicamente. Isso afeta a velocidade (mais perto é mais rápido) e às vezes a lei (alguns dados precisam permanecer em um país específico). Para um primeiro projeto, escolha a região mais próxima dos seus usuários e siga em frente.

Aqui está toda a jornada de uma requisição, e onde cada parte vive. O navegador conversa com uma borda próxima, que entrega arquivos em ou acorda seu código, que recorre ao banco de dados para tudo o que precisa lembrar:

   ┌─────────┐      ┌──────────────┐      ┌──────────────┐      ┌──────────┐
   │ BROWSER │ ───▶ │  EDGE / CDN  │ ───▶ │ SERVER CODE  │ ───▶ │ DATABASE │
   │  user   │      │  near user   │      │ function/box │      │  state   │
   └─────────┘      └──────────────┘      └──────────────┘      └──────────┘
        ▲                  │                      │                   │
        │   cache HIT      │      stateless       │   remembers       │
        └──────────────────┘   (forgets between   │   things          │
            fast reply          requests) ◀───────┘ ◀─────────────────┘

Quer offline?

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