La plataforma de Lokad está orientada al procesamiento de datos a escala de terabytes y está destinada a la optimización predictiva de la gestión de la cadena de suministro. Sin embargo, para procesar los datos, primero necesitamos importarlos. La mayoría de las aplicaciones web cuentan con API web diseñadas como REST, sin embargo, Lokad cuenta con FTPS y SFTP, lo cual puede resultar sorprendente1. Esta elección no fue accidental, sino dictada por los requisitos de rendimiento de transferencia de datos. Si bien esta elección se realizó hace una década basada en experiencias anteriores, las razones a favor de FTP siguen siendo tan fuertes como siempre.

¿Por qué FTP en lugar de REST?

Aclaremos el caso de uso de Lokad. Una empresa cliente típica necesita transferir la copia íntegra de 10 a 100 tablas de base de datos, de 5 a 500 campos por tabla, a su cuenta de Lokad. Estos datos representan el contenido de su ERP, MRP, WMS, POS, etc. Con el tiempo, las copias deben mantenerse actualizadas, generalmente no más antiguas que el día de ayer. La cantidad total de datos involucrados, asumiendo archivos de texto plano sin comprimir (es decir, CSV), varía desde 1 GB para una empresa mediana hasta 10 TB para una empresa grande. Al adoptar transferencias de datos incrementales para las tablas más grandes, el volumen de transferencias diarias generalmente oscila entre 100 MB y 10 GB.

La empresa cliente -o su proveedor de software, o el integrador del proveedor- debe lograr enviar los datos relevantes a Lokad. De hecho, en la mayoría de las situaciones, Lokad nunca tiene acceso a TI a ningún sistema de producción. Esto es razonable: por razones de seguridad, los análisis de terceros no deben tener acceso directo a los sistemas de producción. La empresa cliente debe mantener el control, como guardián, de los datos que fluyen desde su sistema. Además, esto les permite eliminar cada bit de datos personales, que un tercero como Lokad ni siquiera necesita.

En teoría, REST puede ser tan eficiente como se desee. En la práctica, esto no es así. Con REST, transferir de manera confiable 100 MB de datos relacionales detallados, de manera diaria, inevitablemente genera grandes sobrecargas de rendimiento a menos que participe un equipo de ingeniería de software de primer nivel. Se deben manejar con sumo cuidado dos aspectos: la cantidad de llamadas a través de la red y los reintentos. La cantidad de llamadas se relaciona con la cantidad de llamadas realizadas a través de la red. Los reintentos se relacionan con los comportamientos necesarios para hacer frente a las fallas de red transitorias. Ambos son difíciles, especialmente en la práctica.

En el espacio empresarial, la mayoría de los proveedores de software ni siquiera pueden paginar correctamente sus propias API. La proposición de que los mismos proveedores, al implementar una integración rápida y sucia de Lokad, de repente vayan a dedicar talento de primer nivel en ingeniería de software no es razonable. Mi experiencia en Lokad indica que, por el contrario, los trabajos de TI apresurados son lo mejor que Lokad puede esperar. Esto está bien. Hay muchas batallas que librar en el ámbito de TI. Realísticamente, no se puede esperar que la integración de datos de Lokad sea la única batalla que requiera sacar a relucir las fuerzas de élite.

En la práctica, cuando se presiona para obtener un rendimiento decente, las API web se convierten en transferencias de archivos planos a través de HTTP. Esta evolución aborda el ángulo de “cantidad de llamadas” mencionado anteriormente. Sin embargo, aún queda abierto el ángulo de “reintentos”. Una vez que también se aborda el ángulo de “reintentos”, felicitaciones, la API finalmente ha reinventado un Protocolo de Transferencia de Archivos (también conocido como FTP).

Sin embargo, este FTP ad hoc está lejos de ser tan instrumentado como el real. FTP es compatible con todos los principales sistemas operativos. Ambos tienen un amplio soporte de herramientas de código abierto. Las implementaciones relevantes han sido de calidad de producción durante décadas. Es cierto, hay peculiaridades, esos protocolos pueden no ser “de moda” en este momento, pero cuando se trata de hacer el trabajo en cuestión de horas sin involucrar a ingenieros estrella, ni siquiera se puede comparar.

Es por eso que Lokad ha adoptado FTP para admitir tanto las transferencias de datos entrantes como salientes. Además, una década de operaciones ha demostrado que esta elección fue la correcta. Incluso las empresas de TI externalizadas de bajo costo y baja habilidad tienen éxito al transferir grandes cantidades de datos relacionales de manera rápida y confiable a Lokad a través de FTP, lo cual nunca sucedió, ni siquiera una vez, durante todos los años en los que contamos con una API web.


  1. En lo siguiente, por concisión, FTP siempre se refiere a “FTPS y SFTP”. Esos dos protocolos son bastante diferentes, pero para esta discusión, esas diferencias son irrelevantes. Favorecer un protocolo sobre el otro es principalmente una cuestión de alineación con las prácticas de TI preexistentes dentro de la empresa de interés. ↩︎