Luca Sacchi Ricciardi b539134280 first commit
2026-04-07 11:27:03 +02:00
2026-04-07 11:27:03 +02:00

mockupAWS - Backend Profiler & Cost Estimator

Obiettivo del Progetto

mockupAWS è un ambiente di simulazione locale (homelab) progettato per replicare i layer di ingestion ed elaborazione cloud del progetto LogWhispererAI.

Lo scopo principale non è analizzare i log, ma profilare il traffico e calcolare i driver di costo dei servizi AWS (SQS, Lambda, Bedrock/LLM) prima del deploy in produzione. Inviando log tramite Logstash a questo mockup, è possibile ottenere una stima precisa della fatturazione basata su traffico simulato o reale.

Architettura e Metriche Misurate

Il mockup espone endpoint che simulano il comportamento dei servizi AWS, raccogliendo metriche essenziali:

  • Simulazione Ingestion (Amazon SQS / API Gateway):

    • Misurazione delle richieste HTTP al secondo (RPS).
    • Calcolo della dimensione media dei payload (monitorando i blocchi di fatturazione da 64KB).
    • Principio applicato: Safety First - Validazione dell'integrità del payload in ingresso e verifica dell'avvenuta sanitizzazione dei dati (assenza di PII/Secreti).
  • Simulazione Compute (AWS Lambda):

    • Profilazione dell'efficacia del batching e della deduplicazione.
    • Principio applicato: Little Often - Test del processamento a piccoli batch per simulare la lettura ottimizzata dalle code.
  • Simulazione LLM (Amazon Bedrock):

    • Conteggio esatto dei token in ingresso (Input Tokens) tramite tokenizer (es. tiktoken).
    • Principio applicato: Double Check - Validazione finale del prompt generato prima del calcolo dei costi simulati.

Requisiti

  • Docker / Docker Compose
  • Node.js (v20+) o Python (3.11+) [A seconda dello stack scelto per lo script]
  • Logstash (configurato per puntare agli endpoint esposti da questo mockup)

Flusso di Sviluppo (Spec-Driven & TDD)

Questo repository adotta un approccio rigoroso allo sviluppo:

  1. Spec-Driven: Nessuna implementazione senza prima aver definito le specifiche di input/output.
  2. Test-Driven Development (TDD): I test per il calcolo delle metriche e la validazione dei payload (es. conteggio token, validazione limiti SQS) devono essere scritti prima della logica di routing.
  3. Gestione del Codice:
    • Flusso Git basato su Conventional Commits (feat:, fix:, chore:, test:).
    • Commit atomici e mirati.
    • Compilazione del file CHANGELOG.md aderente allo standard Common Changelog.
  4. Pull Requests: Le PR devono includere l'esito dei test e la descrizione chiara del driver di costo AWS che si sta andando a simulare o correggere.

Come avviare la simulazione

(Da completare una volta definito lo stack esatto e i comandi di avvio, es. docker-compose up --build)

Description
Ambiente di test per il backend di LogWhispererAI. Riceve i dati da Logstash, simula l'ingestion e l'elaborazione AWS calcolando metriche, payload e costi operativi in locale.
Readme MIT 5.8 MiB
Languages
TypeScript 45.5%
Python 39.8%
Shell 6.8%
HCL 3.8%
JavaScript 3.3%
Other 0.7%