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 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
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 | 0% (archivos ZIP y dumps SQL) | 100% versionado (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.