Lalamove는 커뮤니케이션 플랫폼을 어떻게 확장합니까?
Lalamove 커뮤니케이션 플랫폼이 새로운 아키텍처로 사용자 커뮤니케이션 문제를 해결하는 방법.
작성자: Ray Chong , Will Lo , Mike Du , Eric Chan , Roy Shum , Maggie Suen , Leviero
소개
커뮤니케이션 플랫폼은 다양한 커뮤니케이션 채널을 통해 Lalamove의 사용자와 소통하는 Lalamove 생태계에서 중요한 역할을 합니다. Lalamove는 SMS, 이메일, 푸시와 같은 다양한 커뮤니케이션 채널을 통해 Lalamove의 사용자와 소통하기 위해 매월 수억 건의 커뮤니케이션을 보냅니다. 우리의 목표는 확장 가능하고 비용 효율적인 최첨단 옴니채널 커뮤니케이션 플랫폼을 제공하여 내부 팀의 엔지니어링 및 운영 효율성을 높이는 것입니다.
그러나 우리는 현재 커뮤니케이션 플랫폼 내에서 비즈니스 및 엔지니어링 관점에서 몇 가지 문제를 확인했습니다. 이러한 문제를 더 잘 이해하려면 레거시 아키텍처를 검토해야 합니다.
도전
이 아키텍처에서 각 기능 팀은 서비스를 통신 서비스에 직접 연결하여 Lalamove의 엔지니어링 팀에 확장성 문제와 다양한 어려움을 야기했습니다.
다음은 이 아키텍처에서 직면한 문제입니다.
- 여러 통신 서비스와 통합하기 어려움 - 기능 팀은 통신을 보낼 때 여러 통신 채널을 독립적으로 통합해야 합니다. 예를 들어 커뮤니케이션 채널이 5개인 경우 기능 팀은 커뮤니케이션 플랫폼과 5번 통합해야 하므로 상당한 통합 및 커뮤니케이션 노력이 필요하고 엔지니어링 효율성에 부정적인 영향을 미칩니다.
- 커뮤니케이션 오케스트레이션 부족 - 레거시 아키텍처는 다중 채널 솔루션이지만 옴니채널 기능이 부족합니다. 이로 인해 커뮤니케이션 플랫폼은 기능 팀을 위해 충분히 유연하지 않습니다.
- 중복 개발 노력 - 현재 데이터 가시성 및 템플릿 관리와 같은 공통 커뮤니케이션 기능에 대한 개발 노력은 이 아키텍처에서 막대합니다. 여러 커뮤니케이션 채널에서 독립적으로 동일한 기능을 개발해야 합니다. 이것은 엔지니어링 효율성과 유지 보수성을 손상시킵니다.
커뮤니케이션 플랫폼 아키텍처
통신 게이트웨이는 기능 팀이 한 번 통합하고 원활한 업데이트를 즐길 수 있도록 하는 통신 플랫폼의 중요한 구성 요소입니다.
이 아키텍처에서는 다음과 같은 기능을 제공하는 것을 목표로 합니다.
- 옴니채널 커뮤니케이션을 가능하게 하는 확장 가능한 API 및 커뮤니케이션 오케스트레이션 제공
- 중복된 노력을 피하기 위해 통신 논리를 캡슐화합니다.
- 관심사를 분리하여 다양한 이해 관계자에 대한 명확한 책임을 정의합니다.
- 데이터 투명성을 통한 비즈니스 개선 지원
핵심가치
차세대 커뮤니케이션 플랫폼은 소유권, 확장성, 유연성 및 투명성의 네 가지 핵심 기능을 제공하도록 구축되었으며, 이들은 함께 커뮤니케이션 플랫폼의 핵심 가치를 형성하고 커뮤니케이션 플랫폼이 내부 사용자를 위한 완벽한 솔루션을 제공할 수 있도록 합니다.
소유권 지우기
각 템플릿이 특정 팀에 할당되는 커뮤니케이션 플랫폼에서 명확한 소유권이 제공됩니다. 이를 통해 생산 문제가 발생할 경우 담당 팀과 트리거링 서비스를 쉽게 식별할 수 있습니다. Lalamove의 커뮤니케이션 생태계에서는 기술 팀이 아닌 비즈니스 팀이 커뮤니케이션 콘텐츠를 소유하는 문제의 분리도 우선시됩니다.
확장성
옴니채널 API를 제공하여 커뮤니케이션 플랫폼과의 통합을 단순화합니다. 통신 게이트웨이는 통신 프로세스를 추상화하여 사용자가 이점을 쉽게 활용할 수 있도록 합니다. 커뮤니케이션 플랫폼과 한 번 통합하면 사용자는 원활한 업데이트를 즐길 수 있습니다.
유연성
채널 전환, 콘텐츠 관리 등 다양한 조건에서 커뮤니케이션을 효과적으로 관리하기 위해서는 유연한 접근이 필요합니다. 커뮤니케이션 플랫폼은 바로 이를 제공하므로 엔지니어가 코드를 변경하거나 배포를 수행할 필요 없이 비즈니스 팀이 채널과 콘텐츠를 업데이트할 수 있습니다. 이는 커뮤니케이션 채널 관리를 단순화할 뿐만 아니라 플랫폼을 보다 유연하게 만듭니다.
투명도
차세대 통신 플랫폼에 대한 우리의 목표는 내부 사용자가 우리 통신 노력의 효과를 볼 수 있도록 하여 데이터 투명성을 제공하는 것입니다. 이를 달성하기 위해 데이터를 수집하고 내부 사용자에게 데이터 투명성을 제공하는 데이터 파이프라인이 있습니다.
그렇다면 당면 과제를 해결하고 핵심 가치를 달성하기 위해 커뮤니케이션 플랫폼을 어떻게 재구성해야 할까요?
옴니채널
통신 게이트웨이는 옴니채널 API를 통해 다양한 비즈니스 전략에 따라 다양한 통신 채널에서 통신을 조정할 수 있습니다. 또한 사용자가 커뮤니케이션 플랫폼과 한 번 통합하고 원활한 업데이트를 즐길 수 있도록 단일 진입점을 제공합니다.
이 디자인에는 "Action"이라는 개념이 있으며 커뮤니케이션을 정의하는 데 사용됩니다. "액션"은 일반적으로 비즈니스 시나리오를 나타냅니다. 각 "액션"은 하나 이상의 통신 채널에 매핑됩니다. 이 개념을 사용하면 통신을 특정 통신 채널에 연결하지 않고도 통신을 더 쉽게 확장할 수 있습니다.
이는 통신 플랫폼에 유연성과 신뢰성을 제공하고 사용자에게 편의성을 제공합니다. 사용자는 코드 변경 없이 언제든지 채널을 전환할 수 있으며 통신 플랫폼을 반복적으로 통합할 필요가 없습니다.
통신 캡슐화
통신 캡슐화는 통신 처리 논리를 중앙 집중화하는 데 도움이 되므로 중요합니다. 우리가 커뮤니케이션 플랫폼에서 채택한 원칙 중 하나는 관심사 분리입니다.
이를 이해하기 위해 콘텐츠 구성을 예로 들 수 있습니다. 콘텐츠와 채널은 소비자가 아닌 커뮤니케이션 플랫폼에서 관리합니다.
즉, 사용자는 통신 플랫폼에 템플릿을 등록하고 필요한 매개 변수를 제공하여 통신 요청을 보낼 수 있습니다. 이후 모든 콘텐츠 구성 로직은 커뮤니케이션 플랫폼이 담당하게 됩니다. 이것은 서로 다른 이해 관계자의 관심사를 분리하고 커뮤니케이션 논리를 더욱 응집력 있게 만듭니다.
템플릿 포털
템플릿 포털은 백엔드 코드를 변경하기 위해 기술 팀에 의존하지 않고 내부 사용자가 커뮤니케이션 템플릿과 채널을 셀프 서비스 방식으로 관리할 수 있도록 하는 사용자 인터페이스 역할을 합니다. 관심사 분리를 통해 커뮤니케이션 템플릿 번역 관리 프로세스를 간소화하고 내부 사용자에게 자율성을 제공합니다.
주요 요점
아키텍처 재설계 과정에서 다음과 같은 몇 가지 주요 사항이 있습니다.
- 콘텐츠 관리 워크플로 - 콘텐츠가 다양한 서비스에 분산되어 있어 유지 관리 책임을 확장하고 정의하기가 어렵기 때문에 콘텐츠 관리는 Lalamove에서 중요한 과제였습니다. 이 문제를 해결하기 위해 우리는 핵심 가치를 조정하고 소프트웨어 엔지니어가 아닌 비즈니스 사용자가 콘텐츠를 관리해야 한다고 정의했습니다. 이를 달성하기 위해 비즈니스 사용자가 템플릿 콘텐츠를 관리하고 커뮤니케이션 자율성을 가질 수 있는 포털을 개발했습니다.
- 커뮤니케이션 오케스트레이션 - 커뮤니케이션 오케스트레이션은 플랫폼을 쉽게 확장할 수 있는지 여부를 결정하므로 모든 커뮤니케이션 플랫폼의 중요한 측면입니다. Lalamove에서 우리는 여러 커뮤니케이션 채널을 보유하고 있지만 옴니채널 기능이 부족한 문제에 직면했습니다. 경험을 통해 모든 채널에서 원활한 커뮤니케이션을 보장하는 데 필요한 유연성과 안정성을 제공할 수 있는 옴니채널 기능을 갖춘 커뮤니케이션 플랫폼의 중요성을 이해하게 되었습니다.
- 마이크로서비스 오케스트레이션의 중요성 - 새 아키텍처의 오케스트레이터 서비스인 Communication Gateway는 공통 통신 논리를 캡슐화하고 중앙 집중화하여 여러 진입점의 필요성을 제거하고 통신 플랫폼의 복잡성을 줄입니다. 통신 서비스는 이제 통신에만 집중할 수 있으며 통신 게이트웨이는 요청 관리, 채널 선택 및 콘텐츠 구성과 같은 통신 오케스트레이션을 처리합니다. 이 설계는 엔지니어링 효율성을 향상시킬 뿐만 아니라 통신 플랫폼의 유지 관리 및 확장성을 용이하게 합니다.
레거시 아키텍처에는 서로 연결되지 않은 독립적인 구성 요소가 있어 문제가 발생했습니다.
이를 염두에 두고 서로 다른 구성 요소를 함께 연결하고 확장 가능하고 비용 효율적인 최첨단 옴니채널 커뮤니케이션 플랫폼을 구축하는 방법에 대해 많은 노력을 기울였습니다. 템플릿 및 채널 관리, 확장 가능한 API, 커뮤니케이션 오케스트레이션과 같은 다양한 이점을 제공합니다.
Communication Platform은 Ownership, Scalability, Flexibility, Transparency의 4가지 핵심 기능을 제공하도록 설계되었으며, 이를 결합하여 Communication Platform의 핵심 가치를 구축합니다. 이를 통해 Lalamove에서 개발자 경험을 개선하고 엔지니어링 및 운영 효율성을 높일 수 있습니다.
감사의 말
특별 감사: 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 , Hale Wu 이 프로젝트에 기여해 주셔서 감사합니다.