Arquitectura Completa
Vista de alto nivel de la arquitectura completa de data engineering de Solvento, mostrando todas las capas y componentes.
Diagrama de Arquitectura Completa
graph TB
subgraph externos["Fuentes Externas"]
Webhooks[Webhooks<br/>Syntage + Toku]
S3[S3 Bucket]
end
subgraph bases_datos["Bases de Datos y SaaS"]
LoanPro[(LoanPro<br/>MySQL)]
BackendSolvento[(Backend Solvento<br/>PostgreSQL)]
HubSpotCRM[HubSpot<br/>CRM]
end
subgraph ingesta["Capa de Ingesta"]
CloudRun[Cloud Run<br/>Webhook / API Handler]
DatastreamSvc[Datastream<br/>LoanPro — ventanas 15 min]
AirbyteSvc[Airbyte<br/>Solvento + HubSpot]
Glue[AWS Glue<br/>S3 ETL]
PubSub[Pub/Sub<br/>Bus de Eventos]
end
subgraph procesamiento["Capa de Procesamiento"]
Dataflow[Dataflow<br/>ETL Pipelines]
DBT[dbt<br/>Transformaciones]
Dataform[Dataform<br/>Transformaciones]
ConsistencyRun[Cloud Run<br/>Consistencia]
end
subgraph almacenamiento["Capa de Almacenamiento"]
DataProd[BigQuery<br/>solvento-data-prod<br/>RAW]
AdvAnalytics[BigQuery<br/>solvento-adv-analytics-prod<br/>DEPURADO]
RiskAnalytics[BigQuery<br/>solvento-risk-analytics-prod<br/>RIESGO]
end
subgraph visualizacion["Capa de Visualización"]
Metabase[Metabase Cloud<br/>solvento.metabaseapp.com]
end
subgraph orquestacion["Capa de Orquestación"]
Scheduler[Cloud Scheduler]
end
%% Fuentes externas → Cloud Run → Pub/Sub
Webhooks --> CloudRun
S3 --> Glue
%% Bases de datos → herramientas de replicación
LoanPro -->|"CDC Binlog<br/>flush 15 min"| DatastreamSvc
BackendSolvento -->|"Replicación CDC"| AirbyteSvc
HubSpotCRM -->|"Replicación API"| AirbyteSvc
%% Herramientas de ingesta → data-prod
CloudRun --> PubSub
DatastreamSvc --> DataProd
AirbyteSvc --> DataProd
Glue --> DataProd
PubSub --> Dataflow
Dataflow --> DataProd
%% ETL: data-prod → adv-analytics (SOLO dbt y Dataform)
DataProd --> DBT
DataProd --> Dataform
DBT --> AdvAnalytics
Dataform --> AdvAnalytics
%% Consistencia sobre datos depurados
AdvAnalytics --> ConsistencyRun
ConsistencyRun --> AdvAnalytics
%% Risk puede leer de ambos proyectos
DataProd -.->|"Lee raw"| RiskAnalytics
AdvAnalytics -.->|"Lee depurado"| RiskAnalytics
%% Visualización
AdvAnalytics --> Metabase
%% Orquestación
Scheduler --> CloudRun
Proyectos GCP y Capas de la Arquitectura
Proyectos GCP
La arquitectura se organiza en tres proyectos GCP:
solvento-data-prod: Almacena todos los datos raw (sin procesar)solvento-adv-analytics-prod: Almacena datos depurados y transformados (resultado de ETL)solvento-risk-analytics-prod: Almacena datos de riesgo (puede leer de ambos proyectos)
Filosofía: Todo ingresa primero a solvento-data-prod como raw. Los procesos ETL transforman y escriben a solvento-adv-analytics-prod. solvento-risk-analytics-prod puede consumir de ambos según necesidad.
Capas de la Arquitectura
1. Fuentes de Datos
- APIs externas y Webhooks (Syntage, Toku): entrada vía Cloud Run → Pub/Sub
- LoanPro (MySQL): replicado por Datastream con flush cada 15 minutos
- Backend Solvento (PostgreSQL): replicado por Airbyte (CDC)
- HubSpot (CRM): replicado por Airbyte (API)
- S3: transferido por AWS Glue
2. Capa de Ingesta
- Cloud Run: recibe webhooks/APIs y publica a Pub/Sub
- Pub/Sub: bus de eventos asíncrono
- Datastream: CDC de LoanPro → BigQuery (ventanas de 15 min)
- Airbyte: replicación de Backend Solvento y HubSpot → BigQuery
- AWS Glue: ETL de S3 → BigQuery
3. Capa de Procesamiento
- Dataflow: consume Pub/Sub y escribe a
solvento-data-prod - dbt: transforma de
data-prod→adv-analytics-prodyrisk-analytics-prod - Dataform: transformaciones complementarias hacia
adv-analytics-prod - Cloud Run (Consistencia): ajustes sobre datos depurados
4. Capa de Almacenamiento
solvento-data-prod: datos rawsolvento-adv-analytics-prod: datos depuradossolvento-risk-analytics-prod: data products de riesgo
5. Capa de Visualización
- Metabase Cloud: consume de
solvento-adv-analytics-prodpara analíticas internas y dashboards embebidos
Flujos Principales
Flujo Webhooks (Syntage + Toku)
Flujo Datastream (LoanPro)
Flujo Airbyte (Backend Solvento + HubSpot)
Flujo S3
Flujo de Transformación
Proyectos GCP
solvento-data-prod: datos raw — todo ingresa aquí primerosolvento-adv-analytics-prod: datos depurados (solo dbt y Dataform escriben aquí)solvento-risk-analytics-prod: datos de riesgo (puede leer de ambos proyectos)
Ver filosofía completa de proyectos GCP →
Consulta las secciones específicas para más detalles sobre cada componente.