Central Dogma 컨트롤 플레인으로 LY Corporation의 수천 개 서비스를 연결하기 (새 탭에서 열림)
LY Corporation은 수천 개의 서비스를 효율적으로 연결하기 위해 Central Dogma를 활용한 통합 컨트롤 플레인(Control Plane)을 구축했습니다. 기존 레거시 시스템의 한계를 극복하고 xDS 표준 프로토콜을 도입함으로써, 물리 서버(PM), 가상 머신(VM), 쿠버네티스(K8s)를 아우르는 유연한 서비스 메시 환경을 구현했습니다. 이 시스템은 GitOps 기반의 설정 관리와 사이드카 없는(Sidecar-less) 아키텍처 지원을 통해 개발자 경험과 시스템 성능을 동시에 향상시키는 성과를 거두었습니다.
레거시 시스템의 한계와 새로운 요구사항
- 타이트한 결합과 동적 등록의 부재: 기존 시스템은 특정 프로젝트 관리 도구(PMC)에 강하게 의존하고 있어 서비스의 동적인 변경사항을 즉각적으로 반영하기 어려웠습니다.
- 상호 운용성 부족: 자체 커스텀 메시지 스키마를 사용했기 때문에 Envoy나 다른 오픈소스 에코시스템과의 통합이 제한적이었습니다.
- 제한적인 트래픽 제어: 단순한 레지스트리 역할에 치중되어 있어 서킷 브레이커, 카나리 배포, 세밀한 로드 밸런싱 등 현대적인 컨트롤 플레인 기능을 수행하기에 부족함이 있었습니다.
Central Dogma 컨트롤 플레인의 설계 및 구현
- xDS 프로토콜 표준화: 업계 표준인 xDS 프로토콜을 채택하여 Envoy 프록시 및 gRPC 클라이언트와 원활하게 통신할 수 있는 기반을 마련했습니다.
- GitOps 기반 관리: Central Dogma의 Git 기반 저장소 특성을 활용해 설정 변경 사항을 버전 관리하고, 외부 Git 저장소(GitHub 등)와의 미러링을 통해 안전하게 설정을 배포합니다.
- 하이브리드 인프라 지원: PM, VM 환경의 레거시 데이터와 K8s의 엔드포인트를 모두 수용할 수 있도록 플러그인 구조를 설계하여 통합적인 엔드포인트 관리를 가능케 했습니다.
- 고신뢰성 및 인증: 다중 데이터센터 복제를 통해 가용성을 확보하고, 강력한 인증 시스템을 통합하여 보안성을 강화했습니다.
사이드카 없는 서비스 메시(Sidecar-less Service Mesh)
- 리소스 및 복잡성 해결: 일반적인 서비스 메시에서 발생하는 사이드카 프록시의 리소스 오버헤드와 운영 복잡성을 줄이기 위해 Proxyless 방식을 도입했습니다.
- 라이브러리 수준의 통합: gRPC 및 Armeria 라이브러리를 사용하여 애플리케이션이 컨트롤 플레인과 직접 xDS로 통신하게 함으로써 사이드카 없이도 서비스 메시의 이점을 누릴 수 있게 했습니다.
- 효율적인 통신 제어: 별도의 프록시 계층을 거치지 않고도 클라이언트 사이드 로드 밸런싱, 자동 재시도, 존 인식 라우팅(Zone-aware routing) 등을 직접 수행하여 성능을 최적화했습니다.
대규모 인프라에서 수천 개의 서비스를 연결해야 한다면, xDS와 같은 표준 프로토콜을 준수하면서도 기존에 검증된 구성 관리 도구(Central Dogma 등)를 컨트롤 플레인으로 확장하는 전략이 유효합니다. 특히 운영 효율성과 성능이 중요하다면 사이드카 없는 방식의 서비스 메시 도입을 적극적으로 고려해 볼 만합니다.