¿Cómo escala Lalamove su Plataforma de Comunicación?

May 10 2023
Cómo la plataforma de comunicación Lalamove resuelve los desafíos de comunicación de los usuarios con una nueva arquitectura. Por Ray Chong, Will Lo, Mike Du, Eric Chan, Roy Shum, Maggie Suen, Leviero Introducción La plataforma de comunicación cumple una función importante en el ecosistema de Lalamove al comunicarse con los usuarios de Lalamove a través de varios canales de comunicación.

Cómo la plataforma de comunicación Lalamove resuelve los desafíos de comunicación de los usuarios con una nueva arquitectura.

Por Ray Chong , Will Lo , Mike Du , Eric Chan , Roy Shum , Maggie Suen , Leviero

Introducción

La plataforma de comunicación desempeña un papel importante en el ecosistema de Lalamove al comunicarse con los usuarios de Lalamove a través de varios canales de comunicación. Lalamove envía cientos de millones de comunicaciones mensuales para comunicarse con los usuarios de Lalamove a través de varios canales de comunicación, como SMS, correo electrónico y Push. Nuestro objetivo es proporcionar una plataforma de comunicación omnicanal escalable, de última generación y rentable para impulsar la ingeniería y la eficiencia operativa de nuestros equipos internos.

Sin embargo, hemos identificado varios desafíos tanto desde el punto de vista comercial como de ingeniería dentro de nuestra plataforma de comunicación actual. Para comprender mejor estos desafíos, es necesario examinar nuestra arquitectura heredada.

Desafío

comienzo del caos

Bajo esta arquitectura, cada equipo de características conectó directamente sus servicios a los servicios de comunicación, creando desafíos de escalabilidad y varias dificultades para el equipo de ingeniería de Lalamove.

Los siguientes son los desafíos que enfrentamos con esta arquitectura:

  • Difícil de integrar con múltiples servicios de comunicación: los equipos de características tienen que integrarse con múltiples canales de comunicación de forma independiente al enviar la comunicación. Por ejemplo, si hay cinco canales de comunicación, los equipos de características tienen que integrarse con la plataforma de comunicación cinco veces, lo que requiere un esfuerzo de integración y comunicación significativo y afecta negativamente la eficiencia de la ingeniería.
  • Falta de orquestación de comunicación: la arquitectura heredada es una solución multicanal pero carece de la capacidad omnicanal. Esto hace que la plataforma de comunicación no sea lo suficientemente flexible para los equipos de características.
  • Esfuerzo de desarrollo redundante: actualmente, el esfuerzo de desarrollo de funciones de comunicación comunes es enorme bajo esta arquitectura, como la visibilidad de datos y la administración de plantillas. Necesitamos desarrollar la misma característica en múltiples canales de comunicación de forma independiente. Esto perjudica la eficiencia y la capacidad de mantenimiento de la ingeniería.

Arquitectura de la plataforma de comunicación

Pasarela de comunicación

La puerta de enlace de comunicación es un componente fundamental de la plataforma de comunicación, ya que permite que los equipos de funciones se integren una vez y disfruten de actualizaciones fluidas.

En esta arquitectura, nuestro objetivo es proporcionar las siguientes capacidades:

  • Proporcione API escalables y orquestación de comunicaciones para habilitar la comunicación omnicanal
  • Encapsule la lógica de comunicación para evitar la duplicación de esfuerzos
  • Definir responsabilidades claras para las diferentes partes interesadas mediante la separación de preocupaciones
  • Habilite la mejora del negocio a través de la transparencia de los datos

Valor central

La plataforma de comunicación de próxima generación está diseñada para proporcionar cuatro capacidades clave: Propiedad, Escalabilidad, Flexibilidad y Transparencia, juntas forman los valores centrales de la plataforma de comunicación y permiten que la plataforma de comunicación brinde una solución completa para los usuarios internos.

Valor central

Borrar propiedad

Se proporciona una propiedad clara en la plataforma de comunicación, donde cada plantilla se asigna a un equipo específico. Esto nos permite identificar fácilmente el equipo responsable y el servicio de activación en caso de problemas de producción. La separación de preocupaciones también se prioriza en el ecosistema de comunicación de Lalamove, donde el equipo de negocios es el propietario del contenido de comunicación en lugar del equipo de tecnología.

Escalabilidad

Simplificamos la integración con la plataforma de comunicación ofreciendo una API omnicanal. La puerta de enlace de comunicación abstrae el proceso de comunicación, lo que facilita que los usuarios aprovechen sus beneficios. Al integrarse con la plataforma de comunicación una vez, los usuarios pueden disfrutar de actualizaciones sin inconvenientes.

Flexibilidad

Para administrar de manera efectiva la comunicación en diversas condiciones, como el cambio de canal y la administración de contenido, necesitamos un enfoque flexible. La plataforma de comunicación ofrece precisamente eso, lo que permite que nuestros equipos comerciales actualicen los canales y el contenido sin necesidad de que nuestros ingenieros realicen cambios en el código o realicen implementaciones. Esto no solo simplifica la gestión de los canales de comunicación, sino que también permite que nuestra plataforma sea más flexible.

Transparencia

Nuestro objetivo con la plataforma de comunicación de próxima generación es brindar a nuestros usuarios internos transparencia de datos al permitirles ver la efectividad de nuestros esfuerzos de comunicación. Para lograr esto, contamos con una canalización de datos para ingerir los datos y proporcionar transparencia de datos a nuestros usuarios internos.

Entonces, ¿cómo rediseñamos la plataforma de comunicación para resolver los desafíos que teníamos y lograr nuestros valores fundamentales?

omnicanal

omnicanal

Con la API omnicanal, la puerta de enlace de comunicación puede orquestar la comunicación en diferentes canales de comunicación de acuerdo con diferentes estrategias comerciales. Además, proporcionamos un punto de entrada único para que nuestros usuarios puedan integrarse con la plataforma de comunicación una vez y disfrutar de actualizaciones sin inconvenientes.

En este diseño tenemos un concepto llamado “Acción” y se utiliza para definir la comunicación. Una "Acción" generalmente se refiere a un escenario comercial. Cada “Acción” se asigna a uno o varios canales de comunicación. Al usar este concepto, podemos escalar nuestra comunicación más fácilmente sin vincular la comunicación a un canal de comunicación específico.

Esto aporta flexibilidad y fiabilidad a la plataforma de comunicación y comodidad para los usuarios. Los usuarios pueden cambiar los canales en cualquier momento sin cambios de código y deshacerse de la integración de la plataforma de comunicación repetidamente.

Encapsulación de comunicación

Proceso Comunicación Contenido

La encapsulación de la comunicación es importante, ya que ayuda a centralizar la lógica de manejo de la comunicación. Uno de los principios que adoptamos en la plataforma de comunicación es la Separación de preocupaciones.

Para entenderlo, podemos tomar como ejemplo la composición del contenido. El contenido y el canal son administrados por la plataforma de comunicación en lugar de nuestros consumidores.

Dicho esto, los usuarios pueden registrar una plantilla en la plataforma de comunicación y enviar una solicitud de comunicación proporcionando los parámetros necesarios. Después de eso, toda la lógica de composición del contenido será realizada por la plataforma de comunicación. Esto separa las preocupaciones de las diferentes partes interesadas y hace que la lógica de la comunicación sea más cohesiva.

Portal de plantillas

El portal de plantillas sirve como una interfaz de usuario que permite a los usuarios internos administrar las plantillas y los canales de comunicación de manera autoservicio, sin depender del equipo técnico para cambiar el código de back-end. Con la separación de preocupaciones, agilizamos el proceso de gestión de traducciones de plantillas de comunicación y brindamos autonomía a los usuarios internos.

Punto clave

Hay algunos puntos clave de nuestro viaje de re-arquitectura, que incluyen

  • Flujo de trabajo de gestión de contenido: la gestión de contenido fue un desafío crítico en Lalamove, ya que el contenido se distribuía entre varios servicios, lo que dificultaba escalar y definir la responsabilidad del mantenimiento. Para abordar este desafío, alineamos nuestros valores fundamentales y definimos que el contenido debe ser administrado por usuarios comerciales en lugar de ingenieros de software. Para lograr esto, desarrollamos un portal que permite a los usuarios comerciales administrar el contenido de las plantillas y tener autonomía de comunicación.
  • Orquestación de la comunicación: la orquestación de la comunicación es un aspecto crítico de cualquier plataforma de comunicación, ya que determina si la plataforma se puede escalar fácilmente o no. En Lalamove, enfrentamos el desafío de tener múltiples canales de comunicación pero carecíamos de capacidad omnicanal. A través de nuestra experiencia, hemos llegado a comprender la importancia de tener una plataforma de comunicación equipada con capacidad omnicanal, ya que puede brindar la flexibilidad y confiabilidad necesarias para garantizar una comunicación fluida en todos los canales.
  • Importancia de la orquestación de microservicios: el servicio orquestador, Communication Gateway, en nuestra nueva arquitectura encapsula y centraliza la lógica de comunicación común, lo que elimina la necesidad de múltiples puntos de entrada y reduce la complejidad de la plataforma de comunicación. Los servicios de comunicación ahora pueden centrarse únicamente en la comunicación, mientras que la puerta de enlace de comunicación maneja la orquestación de la comunicación, como la gestión de solicitudes, la selección de canales y la composición de contenido. Este diseño no solo mejora la eficiencia de la ingeniería, sino que también permite un mantenimiento y escalabilidad más sencillos de la plataforma de comunicación.

En la arquitectura heredada, había componentes independientes sin conexión entre ellos, lo que generaba desafíos.

Con esto en mente, dedicamos mucho esfuerzo a pensar en cómo conectar diferentes componentes y construir una plataforma de comunicación omnicanal escalable, de última generación y rentable. Ofrece numerosas ventajas, como gestión de plantillas y canales, API escalables y orquestación de comunicaciones.

La plataforma de comunicación está diseñada para proporcionar 4 capacidades clave que incluyen propiedad, escalabilidad, flexibilidad y transparencia, y se combinan para establecer los valores fundamentales de la plataforma de comunicación. Esta ayuda mejora la experiencia del desarrollador y aumenta la ingeniería y la eficiencia operativa en Lalamove.

Expresiones de gratitud

Un agradecimiento especial a (ordenar alfabéticamente por apellido) Nick Chan , Winston Chandra , Lonnie Chen , Allan Chiu , David Choi , Amber Fung , Xavier Ho , Teddy Hong , Justin Hu , Shane Hu , Miranda Huang , Chatty Indrawan , Neha Jayaswal , Hyper Jiang , Edward Lam , Tommy Leung , Crystal Lin , Kayn Liu, Radio Liu , Steven Peng , Naveen Ramamourty ,Brian So , Homing Tam , Simon Tse y Hale Wu por su contribución a este proyecto.