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.