O Que é o Fly.io? Execute Contêineres Perto dos Usuários
O Fly.io executa sua aplicação em microVMs Firecracker leves distribuídas em regiões ao redor do mundo, de modo que ela roda perto dos seus usuários em vez de em um único data center.
O Fly.io pega seu contêiner e o executa como uma microVM (chamada Machine) em qualquer uma de suas regiões globais. A proposta é uma experiência de deploy simples com distribuição geográfica: seu app, full-stack e com estado, rodando perto dos usuários. Ele combina a conveniência de um PaaS com o controle sobre onde o código roda.
Machines e microVMs
O Fly executa sua imagem de contêiner dentro de uma microVM Firecracker, oferecendo isolamento de nível de VM com inicialização rápida. Essas Machines podem escalar para cima, para baixo ou para zero, e você as posiciona nas regiões que escolher para baixa latência.
Global por padrão
Você pode fazer deploy do mesmo app em múltiplas regiões e o Fly roteia os usuários para a instância saudável mais próxima via Anycast. Isso torna direto ter um app globalmente de baixa latência sem montar você mesmo uma configuração multi-região.
O que ele suporta
- Qualquer app que você possa colocar em um contêiner.
- Volumes persistentes e Postgres gerenciado para estado.
- Rede privada entre seus apps.
Quando escolher o Fly
O Fly serve bem times que querem deploys simples mas também distribuição geográfica e controle full-stack, incluindo serviços com estado. Ele fica entre um PaaS gerenciado e o cloud puro, com uma forte proposta para rodar perto dos usuários.
Papel no CI/CD
Um pipeline constrói a imagem (ou deixa o Fly construí-la) e faz deploy com flyctl deploy. O GitHub Actions executa o deploy usando um token de API do Fly armazenado como secret, tipicamente após os testes passarem. O Fly realiza um release contínuo entre as Machines, e você pode fazer staging em um app separado primeiro.
Principais conclusões
- O Fly.io executa contêineres como microVMs Firecracker em regiões próximas aos seus usuários.
- O roteamento Anycast torna simples fazer deploy de apps globalmente de baixa latência.
- Pipelines fazem deploy com flyctl a partir do GitHub Actions após os testes passarem.