Volver a proyectos

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

S

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.
T

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.

A

Acción

  1. 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.
  2. Versionado de base de datos (reverse engineering): transformé los archivos .sql en 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.
  3. 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.
  4. 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.
  5. 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.
R

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.