Última verificação:
O Windmill transforma scripts em webhooks, fluxos de trabalho, tarefas agendadas e interfaces internas - uma alternativa open source ao Retool e ao Temporal. Escolher-lhe um VPS funciona de modo diferente da maioria das aplicações auto-alojadas, porque a capacidade mede-se em workers, e os workers compram-se com núcleos.
Porque é o número de núcleos que decide esta comparação
O Windmill não fica mais rápido se der mais memória a um processo. Fica mais rápido se acrescentar contentores worker, e o teto prático ronda um worker padrão por vCPU, com 1-2 GB de RAM cada.
Isso inverte o conselho habitual. Na maioria das aplicações auto-alojadas olha-se primeiro para a RAM e tratam-se os núcleos como secundários. Aqui, um plano de 4 vCPU aguenta cerca do dobro da carga simultânea de um de 2 vCPU com a mesma memória por worker, pelo que o plano com mais núcleos ao mesmo preço é simplesmente a melhor máquina.
Outros dois factos de arquitetura moldam os requisitos:
- O PostgreSQL é a fila. Não há Redis nem intermediário à parte, pelo que a base de dados está no caminho crítico de cada distribuição de tarefa e pede disco rápido.
- Os workers nativos são quase gratuitos. Executam tarefas leves com cerca de 0,1 CPU e 128 MB, e é por isso que a pilha padrão inclui um sem exigir outro núcleo.
As melhores opções de VPS para alojar o Windmill
| Fornecedor | Plano | vCPU | RAM | Armazenamento | Preço | Workers paralelos (aprox.) | Ligação |
|---|---|---|---|---|---|---|---|
| Contabo | Cloud VPS 4 | 4 | 8 GB | 100 GB SSD | 5,50 EUR/mês s/ IVA | ~4 | Contabo |
| Hetzner Cloud | CX23 | 2 | 4 GB | 40 GB NVMe | 5,49 EUR/mês s/ IVA | ~2 | Hetzner |
| DigitalOcean | Basic 4 GB | 2 | 4 GB | 80 GB SSD | 24 USD/mês | ~2 | DigitalOcean |
Contabo Cloud VPS 4 - o dobro dos workers pelo mesmo dinheiro
Por 5,50 EUR sem IVA obtém 4 vCPU, 8 GB de RAM e 100 GB de SSD. Face ao CX23 da Hetzner, um cêntimo mais barato, é o dobro dos núcleos e o dobro da memória, o que se traduz quase diretamente no dobro da capacidade de tarefas simultâneas. Para uma carga feita de muitas tarefas curtas - sincronizações agendadas, tratamento de webhooks, pequenos passos de ETL - é o plano que produz mais por euro.
As fraquezas conhecidas da Contabo mantêm-se: aprovisionamento mais lento e desempenho de rede mais variável do que na Hetzner ou na DigitalOcean. Nenhuma delas está no caminho crítico de um executor de tarefas que fala sobretudo com os seus próprios sistemas, a horas certas.
Hetzner CX23 - suficiente para a pilha predefinida
O CX23 dá 2 vCPU, 4 GB de RAM e 40 GB de NVMe por 5,49 EUR sem IVA. Isso corre com folga a pilha padrão - servidor, um worker padrão, um worker nativo, indexador e Postgres - e o disco NVMe assenta bem no Postgres a fazer de fila. O limite é o paralelismo: mantém cerca de dois workers, por isso uma rajada de tarefas simultâneas fica em fila em vez de se distribuir. O CX33 (4 vCPU, 8 GB, 80 GB NVMe) por 8,49 EUR resolve, mas custa mais do que o equivalente da Contabo.
DigitalOcean Basic 4 GB - o acréscimo pelas ferramentas
24 USD por mês compram 2 vCPU, 4 GB e 80 GB de SSD: a mesma configuração do CX23 por cerca de quatro vezes o preço. Em troca fica com o melhor fluxo de snapshots e a melhor documentação dos três, além de uma monitorização que funciona sem qualquer ajuste. Uma troca defensável se a sua equipa já vive na DigitalOcean e preza um único painel. Como escolha isolada para um executor de tarefas, as contas não fecham.
Ajustar o plano à sua carga
| Carga | Plano recomendado | Razão |
|---|---|---|
| Muitas tarefas agendadas pequenas | Contabo Cloud VPS 4 | O paralelismo escala com os núcleos |
| Um punhado de tarefas, quase sempre paradas | Hetzner CX23 | A pilha predefinida de dois workers cabe |
| Tarefas Python pesadas com grandes dependências | Contabo Cloud VPS 4 ou Hetzner CX33 | As instalações de dependências disparam a memória |
| Avaliação em 1 GB | Não recomendado | Só worker nativo; sem instalação de dependências |
Notas de instalação
- Use o
docker-compose.ymldo próprio projeto em vez de escrever um. Os guias que acrescentam um serviço Redis estão errados: o Windmill enfileira através do PostgreSQL. - Mude a palavra-passe
changemedo Postgres no.envfornecido antes do primeiro arranque, porque a base de dados é criada nesse arranque. - Defina
BASE_URLe aponte o DNS ao servidor antes de arrancar, para que o Caddy possa emitir um certificado. - Salvaguarde a cópia do Postgres e trate-a como um segredo: contém as credenciais que as suas tarefas usam para tudo o resto.
Considerações finais
A classificação decorre aqui de um único facto de arquitetura: o Windmill compra débito com núcleos. O Contabo Cloud VPS 4 entrega cerca de quatro workers por 5,50 EUR sem IVA, o Hetzner CX23 cerca de dois por 5,49 EUR, e os fornecedores norte-americanos esses mesmos dois por quatro vezes mais. A menos que precise de uma região específica ou já esteja normalizado numa plataforma, o número de núcleos por euro é toda a comparação.
Para uma comparação aprofundada de todas as opções de VPS disponíveis, visite a nossa comparação completa de VPS.
Frequently asked questions
De quanto CPU e RAM precisa o Windmill num VPS?
Dimensione por worker em vez de por aplicação. Cada worker padrão executa uma tarefa de cada vez e quer aproximadamente um vCPU e 1-2 GB de RAM, além do Postgres e do processo servidor. A pilha Compose predefinida com dois workers fica folgada em 2 vCPU e 4 GB, ao passo que 4 vCPU e 8 GB são o objetivo sensato assim que várias tarefas correm ao mesmo tempo.
Que VPS oferece maior débito do Windmill pelo dinheiro gasto?
O Contabo Cloud VPS 4 a 5,50 EUR sem IVA, porque aqui o débito depende do número de núcleos. Os seus 4 vCPU sustentam cerca de quatro workers em paralelo, enquanto um plano de 2 vCPU ao mesmo preço sustenta dois. Se a sua carga é feita de muitas tarefas pequenas em vez de poucas pesadas, essa proporção decide a comparação por si só.
Posso correr o Windmill num VPS de 1 GB?
Apenas como demonstração. Um worker nativo trata tarefas leves com cerca de 0,1 CPU e 128 MB, por isso a interface carrega e as tarefas simples correm. Não cabe lá um worker padrão, o que exclui qualquer tarefa em Python ou TypeScript que instale dependências, e essa é a maior parte do trabalho real de automatização.