Port Cities y GoJek Construyen un Sistema que Soporta Gran Volúmen de Transacciones diarias

Cómo el sistema 3 en 1 gestionó la operación logística de Gojek procesando miles de transacciones diarias.
Port Cities x Gojek
Nombre de la Organización: Gojek
Localidad: Indonesia
Industria: Servicio de transporte de tecnología
Tamaño de la Compañía: Grande
Tiempo de Implementación:~1 año
Sistema Implementado: Sistema de gestión de pedidos, sistema de gestión de flotas, sistema de gestión del transporte

Cuando se construyen productos de los que dependen las naciones a diario, cada segundo es valioso, ya que el producto depende de la transferencia de datos en tiempo real para ofrecer servicios excelentes y una experiencia de usuario sin problemas. Si eres el primer decacornio de Indonesia, tendrás que lidiar con millones de procesos cada minuto.

Este es el lugar exacto en el que se encuentra hoy Gojek . Lo que empezó como un negocio de transporte en coche en 2010 ha crecido hasta convertirse en un nombre familiar y una superapp que ofrece productos de transporte y logística, pagos, comida y compras, entretenimiento, con cobertura en la mayor parte del sudeste asiático.

Debido a la competitividad de los mercados en los que opera Gojek, hay que evitar los retrasos en la medida de lo posible. Esto es cierto si se pretende permanecer en la cima. Con Gojek, descubrirá que se basan en tres pilares.

El primer pilar sobre el que se asienta Gojek es la velocidad. El segundo es la innovación, y el tercero es el impacto social. Y esto es evidente en todos los productos de Gojek.

En este caso de estudio nos centramos en el servicio de entrega de paquetes de Gojek, conocido como GoSend. Con GoSend, los clientes pueden hacer que sus paquetes sean llevados desde su ubicación a otra de su elección. GoSend tiene tres servicios de entrega: GoSend Instant, GoSend Sameday y GoSend Intercity.

Port Cities x Gojek

Crédito de la foto: todos los créditos de las fotos pertenecen a Gojek

Explicación del problema

El equipo de Port Cities se reunió con el de GoSend en 2019 y se le confió un proyecto complejo. Al hablar de los detalles del proyecto, el CTO de Port Cities, Dennis Guillot, dijo:


Nos desafiaron a integrar la complejidad de su negocio multiservicio de alta tecnología con un flujo interno de operaciones muy personalizado.

"También requirieron que construyéramos desde cero un sistema de gestión de transporte (TMS) específico que por ahora no existe dentro de Odoo. También nos pidieron que implementáramos la gestión de flotas a un nivel bastante elevado, que va más allá de la función estándar de Odoo Fleet. También era necesario interconectar e integrar con los sistemas existentes a nivel de grupo".

Anteriormente, Gojek no contaba con un sistema de back-end para gestionar cualquier tipo de operación de almacenamiento o logística para su servicio de mensajería, que funcionaba con un alto volumen que alcanzaba miles de transacciones diarias.

Cuando GoSend empezó a funcionar, el equipo ofrecía un servicio que sólo transportaba mercancías de una ciudad a otra. Poco a poco, fueron aumentando el número y el tamaño de sus almacenes y las ciudades que cubrían. Esto permite a GoSend recoger cualquier mercancía desde la ubicación del cliente hasta el lugar que elija en todo el país.

A medida que el negocio crecía, también aumentaba la necesidad de validar constantemente los datos. Por ejemplo, el cliente #405 pide a GoSend que entregue un paquete de un metro cúbico del punto A al punto B. Tiene que haber un sistema que compruebe si GoSend tiene espacio en su almacén para acomodar la entrega. También es importante asignar el espacio en su flota, de lo contrario, van al cliente en un camión sin capacidad para llevar el pedido.

Sin embargo, el mayor problema era la fuerte integración que debe existir entre los detalles geográficos, con las especificidades del almacenamiento, las rutas y las capacidades de las rutas a utilizar para la entrega.

Al final, el equipo de Port Cities identificó más de 120 flujos de validación que deben ejecutarse en todo momento para garantizar que GoSend pueda completar un pedido. Esto significa que, en una fracción de segundo, el sistema debe comprobar e interactuar con el frontend para conocer las dimensiones, el origen, el destino, la capacidad, las rutas, la hora de salida, los retrasos y otros factores. Una vez satisfechas todas estas condiciones, se puede procesar un pedido.

La segunda parte de la cuestión es el tiempo de ejecución. Un cliente que paga no va a esperar varios minutos antes de saber si su pedido será aprobado o no.

Dennis explicó la situación con más detalle: "Gojek hizo algo de I+D en su propia implementación de Odoo, el número máximo de interacciones y validaciones que obtenían era de 2 a 3 por segundo en Odoo estándar. Cuando empezamos a incluir criterios adicionales, como los flujos únicos de GoLogistics de GoSend, obtuvimos 20 segundos de validación por pedido".

"Sin embargo, el requisito era que teníamos que ser capaces de validar potencial y simultáneamente más de 1.500 hasta 2.000 pedidos por segundo. Es una diferencia muy grande entre 2.000 pedidos por segundo y uno cada 20 segundos".

Y ahí estaba el reto. Los pedidos entrantes deben ser validados antes de ser aceptados, pero los clientes que pagan no tienen paciencia para esperar durante minutos. Por lo tanto, se necesitaba un sistema que aportará la validación en tiempo real del back-end y la integración con Odoo sin penalizar la experiencia del cliente.

Ahora bien, ¿qué solución aportó Port Cities y cuál fue el resultado obtenido?


La Solución de Port Cities para GoSend

Nuestra solución para GoSend fue un sistema totalmente personalizado y complejo construido desde cero para acomodar los flujos internos de las operaciones de GoSend con un alto volumen de transacciones diarias.

Al entender el problema, también quedó claro que este sistema también debe integrarse con un número muy elevado de plataformas de terceros que GoSend ya está utilizando. Al mismo tiempo, debe ser capaz de validar los datos de los altos volúmenes de transacciones en tiempo real.

Para conseguirlo, el sistema constaba de tres subsistemas:

  1. Sistema de gestión de pedidos (OMS)

  2. Sistema de gestión de la flota (FMS)

  3. Sistema de gestión del transporte (TMS)

Cuando se le preguntó por los retos a los que se enfrentó durante la ejecución del proyecto, Dennis destacó el ritmo transaccional de Gojek.

Dijo: "Imagínese por un segundo que se envían hasta varios miles de sales_order_lines por llamada o incluso a veces en masa, en unos pocos segundos durante las horas pico. Imaginemos cargas útiles muy pesadas que requieran una aceptación de control de validación de datos avanzada en tiempo real y un requisito de dar y devolver inmediatamente un código o mensaje de error o una indicación y hacer por caso la lógica y el protocolo de respuesta de la API.

"Entonces imagina que dentro de las reglas de validación de esta API, también te piden que integres más de 200 verificaciones condicionales en el momento del envío del pedido. Por ejemplo, si el paquete tiene este o aquel tamaño, si supera este peso, si va de este origen a este destino, si utiliza esta o aquella ruta. En función de eso, la API debe responder inmediatamente cuál es el precio, si se acepta o no, cuándo se ejecutará y cuál será el tiempo estimado de llegada.

"En concreto, cuando el cliente requiere que se obtenga todo eso en tiempo real dentro de un tiempo de respuesta decente, que es, digamos en el peor de los casos menos de dos o tres segundos por llamada".

A pesar de los desafíos, Gojek vio un aumento inmediato en el procesamiento de sus pedidos sin hacer esperar a los clientes que pagaban.

Nuestro resultado en el proyecto de Gojek puede resumirse así:

  • Desarrollo de un sistema único de gestión de pedidos y flotas, profundamente conectado a los detalles geográficos y a las especificidades y capacidades de los almacenes y rutas a nivel nacional.

  • Un sistema capaz de validar más de 120 flujos de validación por pedido y potencialmente más de 1.500 hasta 2.000 pedidos por segundo de forma simultánea.

  • Integración de API de alto rendimiento con el complejo flujo de operaciones de Gojek y los sistemas de terceros. Una de estas integraciones es con Kafka, una plataforma de flujo de datos interna de alto rendimiento que se utiliza para la analítica de datos en tiempo real y los canales de datos de alto rendimiento.

Port Cities es uno de los mayores partners de Odoo en el mundo. Sin embargo, este proyecto ha demostrado aún más que nuestro servicio va más allá de la implementación de Odoo. Sea cual sea el tamaño y la disciplina de tu organización, tenemos los conocimientos y la experiencia necesarios para ayudarte con las implementaciones de TI. Si tiene preguntas sobre nuestro trabajo con Gojek o consultas sobre Odoo y la implementación de TI en general, no dudes en ponerte en contacto con nosotros. Siempre estaremos encantados de ayudarte.

14 marzo, 2022
AUTOR
Port Cities y GoJek Construyen un Sistema que Soporta Gran Volúmen de Transacciones diarias
Oluwatosin Odebunmi
Copywriter/ Content Marketer
Oluwatosin Odebunmi is a talented content marketer with years of experience working with clients in various fields, including technology, marketing, and sales automation. While he has a computer science and engineering background, he is passionate about using words to help people make informed decisions. In his spare time, Oluwatosin enjoys exploring nature and reading.
Compartir

Want more free tips with Odoo?

Join our newsletter to stay updated!