Bravo SAC es una empresa distribuidora de consumos y bienes que enfrenta desafíos críticos en su operación diaria:
- Inconsistencias en el inventario: Actualizaciones desincronizadas que generan discrepancias en los registros
- Falta de trazabilidad: Sin auditoría clara de transacciones
- Seguridad deficiente: Ausencia de controles robustos para proteger información sensible
- Pérdidas económicas: Pedidos erróneos debido a datos incorrectos
Implementación de una arquitectura basada en Linux Containers (LXC) gestionada con Terraform y automatizada con Ansible.
✅ Reproducibilidad: Despliegue automatizado de entornos idénticos
✅ Versionamiento: Controlar cambios en la infraestructura mediante código
✅ Eficiencia de costos: Ejecución local sin dependencia de nube pública
✅ Aislamiento: Segregación por VLANs y contenedores
✅ Confiabilidad: Sistema de colas para garantizar consistencia de datos
La solución implementa una arquitectura multinivel segmentada por VLANs, donde cada capa tiene responsabilidades específicas y aislamiento de red.
| Componente | IP | Función |
|---|---|---|
| Nginx Proxy | 10.10.0.1 |
Proxy inverso, terminación SSL |
| Grafana | 10.10.0.3 |
Dashboard de monitoreo y visualización |
| Log Sync | 10.10.0.4 |
Centralización de logs para auditoría |
Propósito: Punto de entrada seguro y servicios de observabilidad.
| Componente | IP | Función |
|---|---|---|
| RabbitMQ | 10.20.0.1:8080 |
Sistema de colas de mensajes |
| NodeJS | 10.20.0.1:8080 |
Aplicativo |
Propósito: Lógica de negocio y procesamiento asíncrono confiable.
| Componente | IP | Función |
|---|---|---|
| PostgreSQL | 10.30.0.3 |
Base de datos relacional principal |
| cron-job | 10.30.0.2:3412 |
Gestor de trabajos programados |
| Redis | 10.30.0.1:3375 |
Sistema de caché en memoria |
| NTFS Storage | - | Almacenamiento persistente de 1TB |
Propósito: Almacenamiento y persistencia de datos críticos.
| Componente | IP | Función |
|---|---|---|
| NAT Instance | 10.40.0.1 |
Control de acceso a internet |
Propósito: Aislamiento y control de acceso seguro a internet.
Principios de Seguridad Aplicados:
- Defensa en profundidad (múltiples capas)
- Principio de mínimo privilegio
- Segregación de red
- Cifrado en tránsito
bravo-sac-infrastructure/
├── app/ # Código de aplicación (futuro)
├── config/ # Configuración de Ansible
│ ├── ansible.cfg # Configuración principal de Ansible
│ ├── inventory.ini # Inventario de hosts
│ └── group_vars/ # Variables por grupo
│ ├── all.yml # Variables globales
│ └── via_proxy.yml # Configuración de proxy SSH
│
├── iac/ # Infraestructura como Código (Terraform)
│ ├── main.tf # Configuración del provider Proxmox
│ ├── variables.tf # Definición de variables
│ ├── credenciales.auto.tfvars # Credenciales (NO versionar)
│ ├── vlans.tf # Definición de VLANs
│ ├── proxy.tf # Contenedor Nginx Proxy
│ ├── natgateway.tf # Contenedor NAT Gateway
│ ├── grafana.tf # Contenedor Grafana
│ └── logsync.tf # Contenedor Log Sync
│
├── docs/ # Documentación
│ ├── diagrams/ # Diagramas de arquitectura
│ └── guides/ # Guías de configuración
│
├── .gitignore # Archivos excluidos de Git
└── README.md # Este documento
En Proxmox, debe existir:
local:vztmpl/devuan-5.0-standard_5.0_amd64.tar.gzgit clone https://github.com/picantitoDev/infraestructura-proyecto.git
cd iacLas credenciales se configuran en jenkins
cd iac/
terraform initterraform validate
terraform planterraform applycd ../config/
ansible-playbook -i inventory.ini nombre-del-laybook.yml