W jaki sposób Lalamove skaluje swoją platformę komunikacyjną?

May 10 2023
Jak platforma komunikacyjna Lalamove rozwiązuje problemy komunikacyjne użytkowników dzięki nowej architekturze. Ray Chong, Will Lo, Mike Du, Eric Chan, Roy Shum, Maggie Suen, Leviero Wstęp Platforma komunikacyjna odgrywa ważną rolę w ekosystemie Lalamove w komunikowaniu się z użytkownikami Lalamove za pośrednictwem różnych kanałów komunikacyjnych.

Jak platforma komunikacyjna Lalamove rozwiązuje problemy komunikacyjne użytkowników dzięki nowej architekturze.

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

Wstęp

Platforma komunikacyjna odgrywa ważną rolę w ekosystemie Lalamove w komunikacji z użytkownikami Lalamove za pośrednictwem różnych kanałów komunikacyjnych. Lalamove wysyła miesięcznie setki milionów komunikatów, aby komunikować się z użytkownikami Lalamove za pośrednictwem różnych kanałów komunikacyjnych, takich jak SMS, e-mail i push. Naszym celem jest zapewnienie skalowalnej, najnowocześniejszej i ekonomicznej wielokanałowej platformy komunikacyjnej w celu zwiększenia wydajności inżynieryjnej i operacyjnej naszych wewnętrznych zespołów.

W ramach naszej obecnej platformy komunikacyjnej zidentyfikowaliśmy jednak kilka wyzwań zarówno z punktu widzenia biznesu, jak i inżynierii. Aby lepiej zrozumieć te wyzwania, konieczne jest zbadanie naszej dotychczasowej architektury.

Wyzwanie

Początek Chaosu

W tej architekturze każdy zespół ds. funkcji bezpośrednio połączył swoje usługi z usługami komunikacyjnymi, stwarzając wyzwania związane ze skalowalnością i różne trudności dla zespołu inżynierów Lalamove.

Oto wyzwania, przed którymi stanęliśmy w przypadku tej architektury:

  • Trudna integracja z wieloma usługami komunikacyjnymi — zespoły ds. funkcji muszą niezależnie integrować się z wieloma kanałami komunikacyjnymi podczas wysyłania komunikacji. Na przykład, jeśli istnieje pięć kanałów komunikacji, zespoły ds. funkcji muszą pięciokrotnie integrować się z platformą komunikacyjną, co wymaga znacznego wysiłku w zakresie integracji i komunikacji oraz niekorzystnie wpływa na wydajność inżynierii.
  • Brak orkiestracji komunikacji — starsza architektura jest rozwiązaniem wielokanałowym, ale brakuje jej możliwości obsługi wielokanałowej. To sprawia, że ​​platforma komunikacyjna nie jest wystarczająco elastyczna dla zespołów fabularnych.
  • Zbędny wysiłek programistyczny — obecnie w tej architekturze nakład pracy programistycznej dla typowych funkcji komunikacyjnych, takich jak widoczność danych i zarządzanie szablonami, jest ogromny. Musimy niezależnie rozwijać tę samą funkcję w wielu kanałach komunikacji. To szkodzi wydajności inżynierskiej i łatwości konserwacji.

Architektura platformy komunikacyjnej

Brama komunikacyjna

Brama komunikacyjna jest kluczowym elementem platformy komunikacyjnej, umożliwiając zespołom ds. funkcji jednorazową integrację i korzystanie z bezproblemowych aktualizacji.

W tej architekturze naszym celem jest zapewnienie następujących możliwości:

  • Zapewnij skalowalne interfejsy API i orkiestrację komunikacji, aby umożliwić komunikację wielokanałową
  • Hermetyzuj logikę komunikacji, aby uniknąć powielania wysiłków
  • Zdefiniuj jasne obowiązki dla różnych interesariuszy, oddzielając obawy
  • Umożliw usprawnienie działalności dzięki przejrzystości danych

Wartość bazowa

Platforma komunikacyjna nowej generacji została zbudowana w celu zapewnienia czterech kluczowych funkcji: własności, skalowalności, elastyczności i przejrzystości, które razem tworzą podstawowe wartości platformy komunikacyjnej i umożliwiają platformie komunikacyjnej zapewnienie kompletnego rozwiązania dla użytkowników wewnętrznych.

Wartość bazowa

Wyczyść własność

Jasna własność jest zapewniona na platformie komunikacyjnej, gdzie każdy szablon jest przypisany do określonego zespołu. Pozwala nam to łatwo zidentyfikować odpowiedzialny zespół i serwis uruchamiający w przypadku jakichkolwiek problemów produkcyjnych. Oddzielenie problemów jest również traktowane priorytetowo w ekosystemie komunikacyjnym Lalamove, gdzie zespół biznesowy jest właścicielem treści komunikacyjnych, a nie zespół techniczny.

Skalowalność

Upraszczamy integrację z platformą komunikacyjną, oferując omnichannel API. Brama komunikacyjna streszcza proces komunikacji, ułatwiając użytkownikom wykorzystanie jej zalet. Dzięki jednorazowej integracji z platformą komunikacyjną użytkownicy mogą cieszyć się bezproblemowymi aktualizacjami.

Elastyczność

Aby skutecznie zarządzać komunikacją w różnych warunkach, takich jak przełączanie kanałów i zarządzanie treścią, potrzebujemy elastycznego podejścia. Platforma komunikacyjna właśnie to oferuje, umożliwiając naszym zespołom biznesowym aktualizowanie kanałów i treści bez konieczności wprowadzania przez naszych inżynierów jakichkolwiek zmian w kodzie lub wykonywania wdrożeń. To nie tylko upraszcza zarządzanie kanałami komunikacji, ale także sprawia, że ​​nasza platforma jest bardziej elastyczna.

Przezroczystość

Naszym celem w przypadku platformy komunikacyjnej nowej generacji jest zapewnienie naszym użytkownikom wewnętrznym przejrzystości danych poprzez umożliwienie im zobaczenia skuteczności naszych działań komunikacyjnych. Aby to osiągnąć, mamy potok danych do pozyskiwania danych i zapewniania przejrzystości danych naszym użytkownikom wewnętrznym.

W takim razie, jak przeprojektować platformę komunikacyjną, aby sprostać stojącym przed nami wyzwaniom i osiągnąć nasze podstawowe wartości?

wielokanałowa

wielokanałowa

Dzięki wielokanałowemu interfejsowi API brama komunikacyjna może koordynować komunikację w różnych kanałach komunikacji zgodnie z różnymi strategiami biznesowymi. Ponadto zapewniamy naszym użytkownikom pojedynczy punkt wejścia, aby umożliwić im jednorazową integrację z platformą komunikacyjną i cieszenie się bezproblemowymi aktualizacjami.

W tym projekcie mamy koncepcję o nazwie „Akcja” i służy ona do zdefiniowania komunikacji. „Działanie” zwykle odnosi się do scenariusza biznesowego. Każde „Akcja” odwzorowuje jeden lub wiele kanałów komunikacji. Korzystając z tej koncepcji, możemy łatwiej skalować naszą komunikację bez łączenia komunikacji z określonym kanałem komunikacyjnym.

Zapewnia to elastyczność i niezawodność platformy komunikacyjnej oraz wygodę użytkownikom. Użytkownicy mogą przełączać kanały w dowolnym momencie bez zmiany kodu i pozbyć się wielokrotnego integrowania platformy komunikacyjnej.

Enkapsulacja komunikacji

Treść komunikacji procesowej

Hermetyzacja komunikacji jest ważna, ponieważ pomaga scentralizować logikę obsługi komunikacji. Jedną z zasad, które przyjęliśmy na platformie komunikacyjnej, jest separacja obaw.

Aby to zrozumieć, możemy wziąć za przykład kompozycję treści. Treścią i kanałem zarządza platforma komunikacyjna, a nie nasi konsumenci.

To powiedziawszy, użytkownicy mogą zarejestrować szablon na platformie komunikacyjnej i wysłać żądanie komunikacji, podając niezbędne parametry. Następnie cała logika kompozycji treści zostanie wykonana przez platformę komunikacyjną. To oddziela obawy różnych interesariuszy i sprawia, że ​​logika komunikacji jest bardziej spójna.

Portal szablonów

Portal szablonów służy jako interfejs użytkownika, który umożliwia użytkownikom wewnętrznym zarządzanie szablonami i kanałami komunikacji w sposób samoobsługowy, bez konieczności zmiany kodu zaplecza przez zespół techniczny. Dzięki rozdzieleniu obaw usprawniamy proces zarządzania tłumaczeniami szablonów komunikacji i zapewniamy autonomię użytkownikom wewnętrznym.

Zabrany klucz

Istnieje kilka kluczowych wniosków z naszej podróży po nowej architekturze, w tym

  • Przepływ pracy zarządzania treścią — zarządzanie treścią było krytycznym wyzwaniem w Lalamove, ponieważ treść była rozproszona w różnych usługach, co utrudniało skalowanie i definiowanie odpowiedzialności za konserwację. Aby sprostać temu wyzwaniu, dostosowaliśmy nasze podstawowe wartości i zdefiniowaliśmy, że treścią powinni zarządzać użytkownicy biznesowi, a nie inżynierowie oprogramowania. Aby to osiągnąć, opracowaliśmy portal, który umożliwia użytkownikom biznesowym zarządzanie treścią szablonu i autonomię komunikacji.
  • Orkiestracja komunikacji — orkiestracja komunikacji jest krytycznym aspektem każdej platformy komunikacyjnej, ponieważ określa, czy platformę można łatwo skalować, czy nie. W Lalamove stanęliśmy przed wyzwaniem posiadania wielu kanałów komunikacji, ale brakowało nam możliwości wielokanałowości. Dzięki naszemu doświadczeniu zrozumieliśmy, jak ważne jest posiadanie platformy komunikacyjnej wyposażonej w funkcje wielokanałowe, ponieważ może ona zapewnić niezbędną elastyczność i niezawodność, aby zapewnić bezproblemową komunikację we wszystkich kanałach.
  • Znaczenie orkiestracji mikrousług — usługa programu Orchestrator, Communication Gateway, w naszej nowej architekturze hermetyzuje i centralizuje wspólną logikę komunikacji, co eliminuje konieczność stosowania wielu punktów wejścia i zmniejsza złożoność platformy komunikacyjnej. Usługi komunikacyjne mogą teraz skupiać się wyłącznie na komunikacji, podczas gdy brama komunikacyjna obsługuje orkiestrację komunikacji, taką jak zarządzanie żądaniami, wybór kanałów i skład zawartości. Taka konstrukcja nie tylko poprawia wydajność inżynierską, ale także pozwala na łatwiejszą konserwację i skalowalność platformy komunikacyjnej.

W starszej architekturze istniały niezależne komponenty bez połączenia między nimi, co prowadziło do wyzwań.

Mając to na uwadze, włożyliśmy wiele wysiłku w zastanowienie się, jak połączyć ze sobą różne komponenty i zbudować skalowalną, najnowocześniejszą i ekonomiczną wielokanałową platformę komunikacyjną. Oferuje wiele korzyści, takich jak zarządzanie szablonami i kanałami, skalowalne interfejsy API i orkiestracja komunikacji.

Platforma komunikacyjna została zaprojektowana tak, aby zapewniać 4 kluczowe funkcje, w tym własność, skalowalność, elastyczność i przejrzystość, które razem tworzą podstawowe wartości platformy komunikacyjnej. Pomaga to poprawić doświadczenie programistów oraz zwiększyć wydajność inżynierską i operacyjną w Lalamove.

Podziękowanie

Specjalne podziękowania dla (posortuj według nazwisk alfabetycznie) 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 i Hale Wu za ich wkład w ten projekt.