Pular para o conteúdo principal

Arquitetura

Este documento nomeia os componentes reais que existem hoje em produção — não um roadmap disfarçado de diagrama. Onde algo ainda é proposta (não implementada), está marcado explicitamente.

Pipeline de ponta a ponta​

Estágios​

1. Universal Connector Framework​

Cada provedor implementa um conector que extrai o dado bruto (API do provedor, IAM read-only ou API key) e normaliza pra um BillingItem canônico. Nenhum módulo além do conector conhece o formato original do provedor. Um conector novo é tipicamente menos de 300 linhas de lógica de negócio — não toca em Correlation Engine, Recommendation Engine ou Technology Catalog.

2. Financial Event Bus​

Todo BillingItem, evento de deploy ou anomalia é publicado como um FinancialEvent com envelope comum (tenantId, occurredAt, eventType, payload tipado). Cada payload é validado contra um schema versionado antes de ser aceito — um evento malformado nunca entra no bus.

3. Correlation Engine​

Constrói uma timeline unificada cruzando todo eventType publicado, e correlaciona por janela de tempo configurável (ex: "que eventos aconteceram nas 6h antes desse pico de custo"). A correlação é genérica — não é hardcoded pra custo × deploy, funciona pra qualquer par de tipos de evento.

4. Technology Catalog​

Deriva a composição de cada aplicação (CatalogComponent[]) a partir de campos que já existem no evento — tags, resource group, recursos atribuídos manualmente — sem exigir uma migração de dado nem convenção de tag perfeita. Componentes descobertos por scan automático ou criados manualmente persistem separadamente.

5. FinOps Advisor​

Um agente com acesso de ferramenta ao Correlation Engine, Technology Catalog e ao histórico de custo real. Classifica a intenção da pergunta primeiro (custo, forecast, anomalia, composição de app...) e só cai num loop de raciocínio livre quando a pergunta não se encaixa em nenhum padrão fixo.

O que não existe ainda​

Pra manter este documento honesto: não existe hoje um "Knowledge Graph" formal de identidade entre recursos — a proposta mais próxima disso (Application Attribution Engine) está em status proposto, não implementada. O que resolve atribuição hoje é o Technology Catalog, descrito acima.