5G, IoT, 클라우드 컴퓨팅과 같은 최신 기술의 발전이 가속화되면서 소프트웨어 개발에 대한 민첩성과 확장성, 효율성에 대한 요구가 그 어느 때보다 커지고 있습니다. LG그룹 산하의 한국 대표 모바일 및 인터넷 사업자인 LG유플러스는 모바일, 홈 및 기업서비스를 운영하며, 최근에는 인프라·데이터·플랫폼 중심의 B2B AI 전략으로 고객 성장을 이끄는 AI 사업자로 발돋움하고 있습니다.
LG유플러스 클라우드 플랫폼 개발팀의 진보은 소프트웨어 엔지니어는 MongoDB.local Seoul 2024에서 MongoDB Atlas를 활용한 개발자 플랫폼 혁신 사례를 공유했습니다.
LG유플러스는 최신 서비스를 제공하기 위한 애플리케이션 현대화 과정에서 내부 프로세스 간소화를 위한 노력의 일환으로 Uplus Cloud Management Platform(UCMP)을 구축했습니다. UCMP는 클라우드 환경 및 서비스 전반을 관리하고 보안 위험을 모니터링하며 원활한 서비스 출시에도 활용할 수 있는 LG유플러스의 내부 개발자 플랫폼입니다.
퍼블릭 클라우드 도입 증가에 따라 LG유플러스는 클라우드 서비스에서 발생하는 방대한 양의 데이터를 처리하기 위해 한층 강화된 인프라 보안 기능이 필요했고, 이를 위해 MongoDB의 유연한 도큐먼트 모델로 구동되는 멀티클라우드 개발자 데이터 플랫폼인 MongoDB Atlas를 도입했습니다.
MongoDB Atlas 구축 전 관계형 데이터베이스를 사용하던 LG유플러스는 클라우드 환경에서 사용되는 비정형 데이터의 양과 복잡성을 다룰 수 있는 더 적합한 데이터베이스가 필요했습니다. 가령 데이터 보안 점검 결과를 제공하는 프라울러(Prowler)와 같은 외부 시스템 사용 시 새로운 버전이 출시될 때마다 달라지는 구조와 형식에 맞춰 지속적인 스키마 업데이트가 필요해, 관계형 데이터베이스에서는 상당한 시간을 투입해야 했습니다.
LG유플러스는 인프라 보안을 위해 350개의 AWS 계정에 대한 점검을 진행하며, 계정 당 점검 결과는 취약점 항목별로 최대 2,500건입니다. 그리고 전체 계정에 대한 정기 점검 결과는 3개월 간 저장되는데 이때 다뤄야 하는 점검 결과는 무려 1,000만건에 달합니다.
진보은 엔지니어는 “기존 관계형 데이터베이스로 데이터를 구성했다면 정형화된 스키마로 인해 데이터 점검 결과 형식이 변경될 때마다 스키마 변경 대응에 많은 시간과 노력을 투입했을 것”이라며 “MongoDB의 도큐먼트 모델은 스키마 변경 없이 필요한 데이터를 바로 저장하고 읽을 수 있고, 복잡하고 계층적인 문서 구조를 유연하게 처리할 수 있어 비정형 데이터 처리에 이상적이다. 방대한 양의 데이터를 성능 저하 없이 효과적으로 처리할 수 있는 확장성도 MongoDB를 선택한 이유”라고 전했습니다.
MongoDB Atlas 도입은 LG유플러스의 데이터 쿼리 처리 방식에도 획기적인 변화를 가져왔습니다. 인프라 보안 기능을 위해 실행되는 다양한 밀리세컨드(millisecond) 단위의 실시간 API 관리에 MongoDB의 집계 파이프라인(aggregation pipeline)을 활용해 대규모 데이터 세트를 효율적으로 필터링, 그룹화 및 처리할 수 있었습니다.
예를 들어 취약점별로 보안 점검 결과를 집계하는 쿼리의 경우, 비효율적인 그룹화 및 집계 작업으로 인해 약 87만 건의 데이터를 대상으로 쿼리를 실행하는 데 13초가 소요됐습니다. LG유플러스는 MongoDB의 집계 파이프라인을 통해 집계 방식과의 연관성에 따라 필드를 분리하고 쿼리를 튜닝해 쿼리 실행 시간을 무려 99.11% 단축했습니다.
진보은 엔지니어는 “MongoDB를 처음 사용함에도 불과 3개월만에 UCMP의 인프라 보안 기능을 오픈할 수 있었다. 이렇게 단기간에 MongoDB Atlas를 구축할 수 있었던 것은 MongoDB의 낮은 러닝커브 덕분”이라며 “MongoDB Repository와 Mongo Template을 내부 시스템 환경에 맞춰 커스터마이징해 정교한 쿼리도 빠르게 작성할 수 있다”고 전했습니다.
이어 “무엇보다 간편하게 초기 인프라를 구성할 수 있어 실무에 빠르게 적용할 수 있었다. MongoDB 클러스터에 UCMP의 레플리카 세트를 생성해 고가용성과 안정성을 유지하면서 CPU 사용량에 따라 시스템을 오토스케일(auto-scale) 할 수 있다”고 덧붙였습니다.
앞으로 LG유플러스는 비용 효율화와 쿼리 최적화, 데이터 관리 고도화를 위해 MongoDB Atlas가 제공하는 다양한 기능을 탐색해 나갈 계획입니다.
진보은 엔지니어는 “스케줄링을 통한 비용 효율화를 위해 MongoDB Atlas의 functions 및 triggers 기능을 활용해 급격한 트래픽 증가나 정기적인 배치 작업이 예정된 경우에도 상황에 맞춰 효과적으로 트래픽을 관리할 것이다. 또한 쿼리 성능 개선을 위한 권장사항을 제공하는 Performance Advisor로 쿼리 실행 시간을 모니터링하고 인덱스 사용에 대한 추천을 받아 데이터베이스를 최적화할 수 있을 것으로 기대된다”고 밝혔습니다.