Modernización legacy, versionado de datos y despliegue cloud en tiempo récord
Agrocredit Corporation SAC · AgroInvesting, 2020 — De un archivo ZIP desorganizado a una plataforma de inversión agrícola en producción en 48 horas y monetizando en 5 meses
Situación
El proyecto de AgroInvesting — plataforma de inversión y financiamiento para una agricultura climáticamente inteligente, de la startup Agrocredit Corporation SAC — existía únicamente como un archivo comprimido ZIP con código Laravel 5.6 incompleto y dumps de MySQL desestructurados.
- Sin repositorios Git, documentación ni control de cambios.
- Sin infraestructura en la nube.
- Varios formularios críticos no funcionaban.
- Ausencia de entornos de QA y producción, lo que impedía la continuidad del desarrollo y la salida al mercado.
Tarea
Incorporado como CTO para una misión acotada —llevar el producto desde ese estado hasta la monetización—, debía estructurar el control de versiones, realizar ingeniería inversa sobre la base de datos para versionarla mediante código, provisionar la infraestructura cloud en AWS, corregir y completar el core del sistema (módulos de crowdfunding y firma electrónica) y lanzar la primera versión a producción en el menor tiempo posible.
Acción
- Control de versiones y ambientes: inicialicé el control de versiones en Bitbucket (Git), aislando las ramas de desarrollo y producción para garantizar la trazabilidad de los cambios.
- Versionado de base de datos (reverse engineering): transformé los archivos
.sqlen un esquema de migraciones de Laravel estructurado en orden lógico estricto (tablas maestras → tablas intermedias → seeds de datos iniciales), garantizando despliegues automatizados y repetibles. - Infraestructura cloud en AWS: provisioné una arquitectura liviana con AWS EC2 (Linux) para el servidor de aplicaciones y MySQL, AWS S3 para el almacenamiento seguro de documentos subidos por los usuarios, y AWS Route53 para la administración de DNS.
- Desarrollo del core FinTech: reparé los flujos de datos defectuosos y completé la lógica de negocio para crowdfunding, conceptos financieros y el flujo de firma electrónica de documentos.
- Documentación técnica: creé manuales de implementación y despliegue para garantizar la mantenibilidad y escalabilidad del proyecto.
Compromisos de ingeniería (trade-offs)
- Instancia única (EC2 + MySQL) vs. RDS separado: alojar la aplicación Laravel y la base de datos MySQL dentro de la misma instancia EC2 durante la fase inicial sacrificó la alta disponibilidad y el aislamiento de recursos de un RDS dedicado, a cambio de reducir costos operativos drásticamente e implementar la primera versión en producción en solo 48 horas.
- Recreación manual de migraciones vs. herramientas automatizadas: escribir manualmente cada archivo de migración en Laravel inspeccionando las tablas del dump SQL requirió un trabajo inicial intensivo y tedioso, pero garantizó el control absoluto sobre los tipos de datos, restricciones de llaves foráneas y el orden exacto de ejecución para evitar inconsistencias en el seeding.
Resultado
| Métrica | Antes (estado legacy) | Tras la intervención |
|---|---|---|
| Tiempo de despliegue | Sin infraestructura | 2 días a la primera versión en producción |
| Control de código y BD | Sin control (archivos ZIP y dumps SQL) | Código y esquema de BD íntegramente versionados (Git + migraciones Laravel) |
| Tiempo a monetización | Inoperativo | 5 meses (producto completo y generando ingresos) |
Se transformó un prototipo abandonado e inestable en un producto SaaS funcional, seguro y rentable en el mercado de inversiones agrícolas.