# queue-advisor-pricing-app

Compare custo e encaixe de SQS, Kinesis, EventBridge e MSK antes de decidir

- URL: https://fernando.moretes.com/open-source/queue-advisor-pricing-app

- Markdown: https://fernando.moretes.com/open-source/queue-advisor-pricing-app/guide.md?lang=pt

- GitHub: https://github.com/fernando-moretes/app-queue-advisor-pricing

- Homepage: https://queue.moretes.com

- Language: TypeScript

- Topics: aws, eventbridge, finops, kinesis, messaging, moretes, portfolio, pricing, pricing-calculator, sqs, typescript, vercel

- Stars: 1

- Forks: 0

- Updated: 2026-10-17T22:34:51Z

---

O QueueAdvisor é uma calculadora interativa, em Next.js e TypeScript, que compara custo e adequação de SQS, Kinesis, EventBridge e MSK a partir do seu throughput e da sua retenção.

## Por que este repositório existe

Em revisão de arquitetura, a pergunta errada é "qual serviço de mensageria é o melhor?". A pergunta útil é outra: **com este volume, esta retenção e este padrão de consumo, quanto cada opção custa por mês e quanto custa mantê-la de pé?**

Os quatro serviços cobram por dimensões diferentes, e é isso que torna a comparação de cabeça pouco confiável:

- **SQS:** cobra por requisição.
- **Kinesis Data Streams:** cobra por capacidade de shard (ou pelo modo on-demand) e por retenção estendida.
- **EventBridge:** cobra por evento publicado no barramento.
- **MSK:** cobra por broker-hora e por armazenamento, ligado ou não.

Com unidades de cobrança tão diferentes, a planilha feita às pressas na véspera da decisão costuma comparar coisas que não se comparam. Escrevi o QueueAdvisor para colocar os quatro lado a lado, com as mesmas entradas, e deixar a diferença visível antes de alguém abrir um ticket de provisionamento.

O público é quem toma decisão de mensageria: arquitetos de solução, engenheiros de plataforma e quem responde pela fatura de FinOps.

## O que a ferramenta faz

- **Comparação lado a lado:** SQS, Kinesis, EventBridge e MSK na mesma tela, a partir das mesmas entradas.
- **Simulação de custo por uso:** você informa throughput e retenção, e a estimativa acompanha.
- **Orientação de decisão:** além do número, a ferramenta indica qual serviço encaixa no perfil informado.
- **Publicada e aberta:** roda em queue.moretes.com e o código está no GitHub sob licença MIT.

## Como a ferramenta funciona

Fluxo de uso da calculadora. É uma aplicação de frontend: a estimativa é feita no próprio app, sem chamada a APIs da AWS.

### ▲ Vercel: queue.moretes.com

- Next.js UI Tailwind CSS (frontend)
- Entradas / Inputs throughput + retenção (edge)
- Modelo de custo TypeScript (compute)

### 📤 Resultado: comparação

- SQS por requisição (messaging)
- Kinesis por shard (messaging)
- EventBridge por evento (messaging)
- MSK por broker-hora (messaging)
- Orientação encaixe recomendado (ai)

### Fluxos

- arch -> ui: abre no navegador
- ui -> inputs: coleta
- inputs -> model: alimenta
- model -> sqs: estima
- model -> kinesis: estima
- model -> eb: estima
- model -> msk: estima
- model -> guide: compara e recomenda

## Instalar e rodar localmente

1. **Use a versão publicada, se só quer o número**: Abra `https://queue.moretes.com`. Não há nada para instalar.

2. **Clone o repositório**: `git clone https://github.com/fernando-moretes/app-queue-advisor-pricing.git` e depois `cd app-queue-advisor-pricing`. O README ainda mostra a URL antiga em `fernandofatech/queue-advisor-pricing-app`: o repositório migrou para a org `fernando-moretes`, e a URL nova é a que vale.

3. **Instale as dependências**: Rode `pnpm install`. O projeto usa pnpm; misturar com `npm install` gera um segundo lockfile e instalações que não batem com o que foi testado.

4. **Suba o servidor de desenvolvimento**: Rode `pnpm dev` e abra o endereço que o Next.js imprimir no terminal, normalmente `http://localhost:3000`.

5. **Informe o perfil da carga**: Preencha throughput e retenção com números medidos, não estimados no olho. Compare as quatro opções e leia a orientação junto com o custo.

_Quickstart completo_

```bash
git clone https://github.com/fernando-moretes/app-queue-advisor-pricing.git
cd app-queue-advisor-pricing
pnpm install
pnpm dev
```

## Como ler o resultado

A calculadora devolve um número por serviço, mas o número sozinho engana. Três coisas que aprendi a olhar antes de aceitar o mais barato:

**Custo fixo contra custo variável:** SQS e EventBridge cobram por uso, então tráfego zero custa perto de zero. MSK cobra broker-hora mesmo parado. Em carga baixa ou intermitente, essa diferença domina a fatura; em carga alta e constante, ela se inverte.

**Retenção não é detalhe:** SQS guarda mensagem por no máximo 14 dias. Kinesis guarda 24 horas por padrão e pode ir até 365 dias, pagando a retenção estendida. Se o requisito é reprocessar o histórico, a opção barata pode simplesmente não atender.

**Semântica de consumo:** fila com um consumidor por mensagem, stream com vários consumidores lendo a mesma ordem, e barramento com roteamento por regra são modelos diferentes. Trocar um pelo outro para economizar costuma voltar como retrabalho de idempotência e ordenação.

A ferramenta põe o custo na mesa. A decisão continua sendo sua, e depende de quem vai operar isso quando o consumidor atrasar.

> **Estimativa não é fatura:** Preço da AWS muda e varia por região. Use o resultado para comparar ordens de grandeza entre os serviços; antes de aprovar orçamento, confira o número final no AWS Pricing Calculator e nas páginas oficiais de preço de cada serviço.

## Stack e estado do projeto

O app é Next.js com TypeScript e Tailwind CSS, publicado na Vercel sob `queue.moretes.com`. Não há backend próprio nem credencial AWS envolvida: a ferramenta não lê sua conta, não chama Cost Explorer e não precisa de permissão IAM nenhuma. Isso foi escolha, não limitação. Uma calculadora que pede acesso à conta vira item de revisão de segurança, e o objetivo aqui é responder uma pergunta de arquitetura em minutos.

Sobre maturidade, sendo direto: o roadmap do README lista refatorações, ampliação de testes e melhoria de documentação como itens abertos. Trate o projeto como ferramenta de apoio à decisão, não como fonte oficial de preço.

Contribuições são bem-vindas. Para mudança grande, abra uma issue antes do pull request, especialmente se envolver o modelo de custo: uma fórmula errada ali não quebra o build, ela só devolve um número plausível e errado, que é a falha mais difícil de perceber.

## Perguntas frequentes

### Preciso de conta AWS para usar?

Não. A ferramenta roda no navegador e não acessa nenhuma conta.

### Quais serviços entram na comparação?

SQS, Kinesis, EventBridge e MSK, os quatro citados no README.

### Posso usar o número para aprovar orçamento?

Use para escolher entre as opções. Para o orçamento, confirme na página oficial de preço da região que você vai usar.

### Qual a licença?

MIT. Veja o arquivo `LICENSE` no repositório.

## Para quem é

Use o QueueAdvisor quando você precisa escolher entre SQS, Kinesis, EventBridge e MSK, já tem throughput e retenção medidos e quer ver a diferença de custo antes da reunião de arquitetura. Não use como substituto do AWS Pricing Calculator na hora de fechar orçamento, nem como resposta final quando o requisito de ordenação ou de replay já elimina metade das opções: aí a decisão é de semântica, não de preço.

## Referências

- [GitHub: fernando-moretes/app-queue-advisor-pricing](https://github.com/fernando-moretes/app-queue-advisor-pricing)
- [QueueAdvisor (live)](https://queue.moretes.com)
- [AWS Pricing Calculator](https://calculator.aws/)
- [Amazon SQS pricing](https://aws.amazon.com/sqs/pricing/)
- [Amazon Kinesis Data Streams pricing](https://aws.amazon.com/kinesis/data-streams/pricing/)
- [Amazon EventBridge pricing](https://aws.amazon.com/eventbridge/pricing/)
- [Amazon MSK pricing](https://aws.amazon.com/msk/pricing/)

## Links

- [GitHub repository](https://github.com/fernando-moretes/app-queue-advisor-pricing)
- [Homepage](https://queue.moretes.com)
