Wie skaliert Lalamove seine Kommunikationsplattform?
Wie die Lalamove-Kommunikationsplattform die Herausforderungen der Benutzerkommunikation mit einer neuen Architektur löst.
Von Ray Chong , Will Lo , Mike Du , Eric Chan , Roy Shum , Maggie Suen , Leviero
Einführung
Die Kommunikationsplattform spielt im Lalamove-Ökosystem eine wichtige Rolle bei der Kommunikation mit den Benutzern von Lalamove über verschiedene Kommunikationskanäle. Lalamove versendet monatlich Hunderte Millionen Mitteilungen, um über verschiedene Kommunikationskanäle wie SMS, E-Mail und Push mit den Benutzern von Lalamove zu kommunizieren. Unser Ziel ist es, eine skalierbare, hochmoderne und kostengünstige Omnichannel-Kommunikationsplattform bereitzustellen, um die technische und betriebliche Effizienz unserer internen Teams zu steigern.
Wir haben jedoch sowohl aus geschäftlicher als auch aus technischer Sicht mehrere Herausforderungen innerhalb unserer aktuellen Kommunikationsplattform identifiziert. Um diese Herausforderungen besser zu verstehen, ist es notwendig, unsere Legacy-Architektur zu untersuchen.
Herausforderung
Bei dieser Architektur verband jedes Feature-Team seine Dienste direkt mit den Kommunikationsdiensten, was zu Herausforderungen bei der Skalierbarkeit und verschiedenen Schwierigkeiten für das Engineering-Team von Lalamove führte.
Im Folgenden sind die Herausforderungen aufgeführt, mit denen wir bei dieser Architektur konfrontiert waren:
- Schwierige Integration mit mehreren Kommunikationsdiensten – Feature-Teams müssen beim Versenden von Kommunikation unabhängig voneinander mehrere Kommunikationskanäle integrieren. Wenn beispielsweise fünf Kommunikationskanäle vorhanden sind, müssen sich die Feature-Teams fünfmal mit der Kommunikationsplattform integrieren, was einen erheblichen Integrations- und Kommunikationsaufwand erfordert und sich negativ auf die technische Effizienz auswirkt.
- Mangelnde Kommunikationsorchestrierung – Die Legacy-Architektur ist eine Mehrkanallösung, es mangelt ihr jedoch an der Omnichannel-Fähigkeit. Dies macht die Kommunikationsplattform für Feature-Teams nicht flexibel genug.
- Redundanter Entwicklungsaufwand – Derzeit ist der Entwicklungsaufwand für allgemeine Kommunikationsfunktionen in dieser Architektur enorm, wie z. B. Datensichtbarkeit und Vorlagenverwaltung. Wir müssen dieselbe Funktion unabhängig voneinander für mehrere Kommunikationskanäle entwickeln. Dies beeinträchtigt die technische Effizienz und Wartbarkeit.
Architektur der Kommunikationsplattform
Das Kommunikations-Gateway ist eine wichtige Komponente der Kommunikationsplattform und ermöglicht es Feature-Teams, sich einmal zu integrieren und nahtlose Updates zu genießen.
In dieser Architektur möchten wir die folgenden Funktionen bereitstellen:
- Stellen Sie skalierbare APIs und Kommunikationsorchestrierung bereit, um Omnichannel-Kommunikation zu ermöglichen
- Kapseln Sie die Kommunikationslogik, um doppelten Aufwand zu vermeiden
- Definieren Sie klare Verantwortlichkeiten für verschiedene Stakeholder durch Trennung der Anliegen
- Ermöglichen Sie Geschäftsverbesserungen durch Datentransparenz
Kernwert
Die Kommunikationsplattform der nächsten Generation ist so aufgebaut, dass sie vier Schlüsselfunktionen bietet: Eigenverantwortung, Skalierbarkeit, Flexibilität und Transparenz. Zusammen bilden sie die Grundwerte der Kommunikationsplattform und ermöglichen es der Kommunikationsplattform, eine Komplettlösung für interne Benutzer bereitzustellen.
Klare Eigentumsverhältnisse
Auf der Kommunikationsplattform wird eine klare Zuständigkeit gewährleistet, wobei jede Vorlage einem bestimmten Team zugeordnet ist. Dadurch können wir im Falle von Produktionsproblemen leicht das verantwortliche Team und den auslösenden Dienst identifizieren. Auch im Kommunikationsökosystem von Lalamove hat die Trennung von Belangen Priorität, wobei das Geschäftsteam und nicht das Technologieteam für den Kommunikationsinhalt verantwortlich ist.
Skalierbarkeit
Wir vereinfachen die Integration mit der Kommunikationsplattform, indem wir eine Omnichannel-API anbieten. Das Kommunikations-Gateway abstrahiert den Kommunikationsprozess und macht es für Benutzer einfach, seine Vorteile zu nutzen. Durch die einmalige Integration in die Kommunikationsplattform können Benutzer nahtlose Updates genießen.
Flexibilität
Um die Kommunikation unter verschiedenen Bedingungen wie Kanalwechsel und Content-Management effektiv zu verwalten, benötigen wir einen flexiblen Ansatz. Die Kommunikationsplattform bietet genau das und ermöglicht es unseren Geschäftsteams, Kanäle und Inhalte zu aktualisieren, ohne dass unsere Ingenieure Codeänderungen oder Bereitstellungen durchführen müssen. Dies vereinfacht nicht nur die Verwaltung der Kommunikationskanäle, sondern macht unsere Plattform auch flexibler.
Transparenz
Unser Ziel mit der Kommunikationsplattform der nächsten Generation ist es, unseren internen Benutzern Datentransparenz zu bieten, indem wir ihnen ermöglichen, die Wirksamkeit unserer Kommunikationsbemühungen zu erkennen. Um dies zu erreichen, verfügen wir über eine Datenpipeline, um die Daten aufzunehmen und unseren internen Benutzern Datentransparenz zu bieten.
Wie gestalten wir dann die Kommunikationsplattform neu, um die Herausforderungen zu meistern und unsere Grundwerte zu erreichen?
Omnichannel
Mit der Omnichannel-API ist das Kommunikationsgateway in der Lage, die Kommunikation in verschiedenen Kommunikationskanälen entsprechend unterschiedlicher Geschäftsstrategien zu orchestrieren. Außerdem bieten wir unseren Benutzern einen einzigen Einstiegspunkt, damit sie sich einmal in die Kommunikationsplattform integrieren und nahtlose Updates genießen können.
In diesem Design haben wir ein Konzept namens „Aktion“, das zur Definition der Kommunikation verwendet wird. Eine „Aktion“ bezieht sich normalerweise auf ein Geschäftsszenario. Jede „Aktion“ ist einem oder mehreren Kommunikationskanälen zugeordnet. Durch die Verwendung dieses Konzepts können wir unsere Kommunikation einfacher skalieren, ohne die Kommunikation an einen bestimmten Kommunikationskanal zu koppeln.
Dies bringt Flexibilität und Zuverlässigkeit für die Kommunikationsplattform und Komfort für die Benutzer. Die Benutzer können die Kanäle jederzeit ohne Codeänderungen wechseln und müssen die Kommunikationsplattform nicht wiederholt integrieren.
Kommunikationskapselung
Die Kapselung der Kommunikation ist wichtig, da sie dabei hilft, die Kommunikationsverarbeitungslogik zu zentralisieren. Einer der Grundsätze, die wir in der Kommunikationsplattform übernommen haben, ist die Trennung von Belangen.
Um es zu verstehen, können wir die Inhaltszusammensetzung als Beispiel nehmen. Der Inhalt und der Kanal werden von der Kommunikationsplattform und nicht von unseren Verbrauchern verwaltet.
Allerdings können Benutzer eine Vorlage auf der Kommunikationsplattform registrieren und eine Kommunikationsanfrage senden, indem sie die erforderlichen Parameter angeben. Danach wird die gesamte Inhaltskompositionslogik von der Kommunikationsplattform übernommen. Dadurch werden die Anliegen verschiedener Stakeholder getrennt und die Kommunikationslogik kohärenter.
Vorlagenportal
Das Vorlagenportal dient als Benutzeroberfläche, die es internen Benutzern ermöglicht, Kommunikationsvorlagen und -kanäle im Self-Service-Verfahren zu verwalten, ohne sich darauf verlassen zu müssen, dass das Technikteam den Backend-Code ändert. Durch die Trennung der Anliegen rationalisieren wir den Prozess der Verwaltung der Übersetzungen von Kommunikationsvorlagen und bieten internen Benutzern Autonomie.
Schlüssel zum Mitnehmen
Es gibt einige wichtige Erkenntnisse aus unserer Reise zur Neuarchitektur, darunter:
- Content-Management-Workflow – Content-Management war eine entscheidende Herausforderung bei Lalamove, da der Inhalt auf verschiedene Dienste verteilt war, was es schwierig machte, die Wartungsverantwortung zu skalieren und zu definieren. Um dieser Herausforderung zu begegnen, haben wir unsere Grundwerte aufeinander abgestimmt und definiert, dass die Inhalte von Geschäftsanwendern und nicht von Softwareentwicklern verwaltet werden sollten. Um dies zu erreichen, haben wir ein Portal entwickelt, das es Geschäftsanwendern ermöglicht, Vorlageninhalte zu verwalten und über Kommunikationsautonomie zu verfügen.
- Kommunikationsorchestrierung – Kommunikationsorchestrierung ist ein entscheidender Aspekt jeder Kommunikationsplattform, da sie bestimmt, ob die Plattform leicht skalierbar ist oder nicht. Bei Lalamove standen wir vor der Herausforderung, über mehrere Kommunikationskanäle, aber keine Omnichannel-Fähigkeit zu verfügen. Durch unsere Erfahrung wissen wir, wie wichtig eine Kommunikationsplattform ist, die Omnichannel-fähig ist, da sie die nötige Flexibilität und Zuverlässigkeit bietet, um eine reibungslose Kommunikation über alle Kanäle hinweg zu gewährleisten.
- Bedeutung der Microservice-Orchestrierung – Der Orchestrator-Dienst Communication Gateway in unserer neuen Architektur kapselt und zentralisiert die gemeinsame Kommunikationslogik, wodurch mehrere Einstiegspunkte überflüssig werden und die Komplexität der Kommunikationsplattform verringert wird. Kommunikationsdienste können sich nun ausschließlich auf die Kommunikation konzentrieren, während das Kommunikations-Gateway die Kommunikationsorchestrierung übernimmt, beispielsweise die Anforderungsverwaltung, Kanalauswahl und Inhaltskomposition. Dieses Design verbessert nicht nur die technische Effizienz, sondern ermöglicht auch eine einfachere Wartung und Skalierbarkeit der Kommunikationsplattform.
In der alten Architektur gab es unabhängige Komponenten ohne Verbindung zwischen ihnen, was zu Herausforderungen führte.
Vor diesem Hintergrund haben wir viel Mühe darauf verwendet, darüber nachzudenken, wie wir verschiedene Komponenten miteinander verbinden und eine skalierbare, hochmoderne und kostengünstige Omnichannel-Kommunikationsplattform aufbauen können. Es bietet zahlreiche Vorteile wie Vorlagen- und Kanalverwaltung, skalierbare APIs und Kommunikationsorchestrierung.
Die Kommunikationsplattform ist darauf ausgelegt, vier Schlüsselfunktionen bereitzustellen, darunter Eigenverantwortung, Skalierbarkeit, Flexibilität und Transparenz, und sie bilden zusammen die Grundwerte der Kommunikationsplattform. Dies verbessert die Entwicklererfahrung und steigert die technische und betriebliche Effizienz bei Lalamove.
Danksagungen
Besonderer Dank geht an (alphabetisch nach Nachnamen sortiert) 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 und Hale Wu für ihren Beitrag zu diesem Projekt.