삼성전자, 채팅플러스 인프라 쿠버네티스로 전환…이유는?

VM에서 컨테이너 환경으로 바꿔 리소스 30% 절감

컴퓨팅입력 :2021/04/12 15:32    수정: 2021/04/12 16:36

국내 통신 3사와 삼성전자는 2018년말부터 RCS 기반 문자메시지(SMS) 서비스인 ‘채팅플러스’를 제공중이다. 채팅플러스 서버 개발 및 운영을 통신 3사와 삼성전자가 공동으로 하고 있는데, 작년에 기반 서버 인프라를 가상머신(VM)에서 아마존웹서비스(AWS) 상의 컨테이너와 쿠버네티스로 전환했다.

채팅플러스는 세계이동통신사업자연합회(GSMA)에서 정의한 국제 표준 메시지 규격 ‘리치커뮤니케이션스위트(RCS)’에 기반한 차세대 메시지 서비스다. 별도 메시지 앱 설치 없이 기본 문자 앱에서 그룹채팅, 대용량 파일전송, 선물하기, 챗봇 등의 기능을 이용할 수 있다. 이용자는 데이터 과금없이 이용할 수 있으며, 대용량 파일 전송의 경우 최대 5메가바이트(MB)까지 무료로 주고 받을 수 있다.

삼성전자 무선사업부 클라우드팀 나상화 프로(왼쪽)와 강성원 프로

삼성전자 무선사업부 클라우트팀의 채팅플러스 운영 담당 엔지니어인 강성원 프로는 “작년 VM에 있던 채팅플러스 자원을 AWS의 매니지드 쿠버네티스 서비스인 ‘EKS’로 옮겼다”며 “통신사업자에게 메시지 서비스는 높은 안정성을 요구하는데, 그 요건을 지원하기 위해 자동화로 운영 효율성을 높이고, 자원 오버프로비저닝 문제를 해결하기 위해 전환을 결정했다”고 설명했다.

그는 “VM은 운영자의 경험이나 역량에 따라 페일오버나 자동화 대응에서 차이를 보이는 문제가 있었다”며 “서버 모니터링에서도 로그를 가공해 모니터하면 실시간성 확보에 어려움이 있어 쿠버네티스로 전환했다”고 덧붙였다.

채팅플러스는 통신 3사의 기본 서비스기 때문에 사용자 단말기 증가에 따라 서버 자원도 함께 늘려야 한다. VM은 자원을 늘릴 때 더 많은 여유를 갖고 확장해야 하는 반면, 컨테이너는 미세하게 자원을 늘릴 수 있어 효율적이다. 삼성전자는 채팅플러스를 쿠버네티스로 전환한 뒤 약 1천500개의 VM 수를 1천개로 축소하고, 기존 환경 대비 30% 자원을 절감하고 있다. 서비스레벨인디케이터(SLI) 매트릭 수집 시간을 기존 2분이내에서 1분으로 단축해 더 빠르게 운영문제를 인지해 해결할 수 있게 됐다.

무턱대고 VM에 구축한 애플리케이션을 컨테이너로 옮긴다고 해서 효율적인 자원 배분을 할 수 있는 건 아니다. 애플리케이션 구조를 모노리틱 아키텍처에서 마이크로서비스아키텍처(MSA)로 재설계하는 작업이 선행돼야 한다. 채팅플러스가 컨테이너와 쿠버네티스 환경으로 전환됐다는 건 시스템 구조의 아키텍처가 바뀌었다는 걸 의미한다.

강성원 프로는 “쿠버네티스 스케줄링 기능을 통해 자원을 배분하면 효율적으로 구성해서 배분할 수 있는 장점이 있다”며 “아키텍처를 마이크로서비스화하는 구조 개선 관점에서 자원을 더 효율적으로 쓰게끔 한다는 고려였다”고 설명했다.

삼성전자 강성원 프로

페일오버의 경우 쿠버네티스의 자동복구 기능으로 안정성을 유지하는데 도움을 받고 있다. 쿠버네티스는 트래픽을 여러 서비스로 고르게 분산하는 기능을 제공해 일부 서비스가 장애를 겪어도 빠르게 상태를 복구할 수 있다.

쿠버네티스는 여러 클라우드 서비스 제공업체에서 매니지드 서비스를 내놓고 있다. 기업이 대규모 쿠버네티스 클러스터 환경을 운영하려면, 쿠버네티스 자체에 대한 관리 부담도 갖게 된다. 무엇보다 오픈소스 쿠버네티스는 그 뜨거운 인기만큼 활발하고 빠르게 진화하는 플랫폼이다. 플랫폼 업데이트가 많고, 내부 요소도 복잡하기 때문에 실제 서비스 운영보다 쿠버네티스 운영에 더 많은 스트레스를 받을 수 있다. 요리사가 음식 조리보다 조리장 인테리어에 더 많은 신경을 쓰는 격이다. 매니지드 서비스 형태의 쿠버네티스가 빠르게 지분을 넓히는 이유다.

삼성전자도 같은 맥락에서 AWS EKS를 택하게 됐다.

강 프로는 “매니지드 서비스를 쓰면 쿠버네티스 관리 포인트가 사라지고, AWS EKS를 쓰면 다른 AWS 서비스와 통합하기 용이해진다”며 “AWS의 파게이트 같은 서비스를 쓰게 되면 운영 관리 포인트를 더 줄일 수 있다”고 밝혔다.

그는 “타 플랫폼에 비해 쿠버네티스는 1년에 3차례 업그레이드되고 있어서, 채팅플러스 안정성에 집중해야 하는 상황에서 쿠버네티스 유지보수까지 하게 되면 핵심 가치를 높이기 힘들어진다”며 “쿠버네티스 관리를 AWS에 맡기고 우리의 서비스 만드는데 더 집중하고 있다”고 덧붙였다.

삼성전자는 VM 환경 대비 30% 자원을 절감하게 됐다. 서비스레벨인디케이터(SLI) 매트릭 수집 시간을 기존 2분이내에서 1분으로 단축해 더 빠르게 운영문제를 인지해 해결할 수 있게 됐다.

쿠버네티스와 컨테이너로 전환하려는 기업이 매우 많다. 강 프로와 나 프로는 쿠버네티스 전환을 고려중인 사람들에게 충분히 검토해 결정할 것을 조언했다.

강 프로는 “작은 규모의 서비스에 쿠버네티스를 도입하는건 배보다 배꼽이 더 커질 수 있다”며 “쿠버네티스로 전환하는 것은 운영과 개발이 함께 중요해지는 것이고, 구조개선이 선행돼야 한다”고 말했다.

그는 “쿠버네티스의 러닝 커브가 크기 때문에 사전에 충분히 검토하고 쓰길 바란다”며 “작게 시작해서 늘려가는 방식은 추천하지 않는다”고 덧붙였다.

삼성전자 나상화 프로

채팅플러스를 쿠버네티스로 전환하면서 서버 모니터링 부분도 대폭 수정했다. 기존 모니터링은 엘라스틱서치, 로그스태시, 키바나(ELK) 스택으로 로그를 저장, 분석했었다.

삼성전자 무선사업부 클라우드팀의 나상화 프로는 “ELK를 쓰면서 관리 부담이 계속 커지고, 로그 양이 늘어날수록 운영 비용도 급격히 증가했다”며 “채팅플러스 서비스를 EKS로 전환하면서 로그 모니터링도 구조를 바꿔 ELK 대신 플루언트디(Fluentd)로 로그를 아마존 S3로 보내고, 로그 검색과 분석은 아마존 아테나로 이용하게 했다”고 설명했다.

나상화 프로는 “모니터링 관점을 운영 중심에서 서비스 관점 모니터링으로 바꾼 것”이라며 “모니터링에 쿠버네티스와 프로메테우스를 사용해 실시간 모니터링 역량을 확보했으며, 기존보다 훨씬 더 비용효율적이면서 편의성을 그대로 유지하도록 변했다”고 밝혔다.

아마존 아테나는 AWS에서 제공하는 서버리스 SQL 쿼리 서비스다. 삼성전자 클라우드팀은 로그 분석의 편의성을 높이기 위해 별도의 분석 명령어 세트를 개발했다. 기존 키바나와 루신 쿼리의 편리함을 유지하면서 아마존 아테나의 장점도 얻는 노하우다.

강성원 프로는 “아마존 아테나는 쿼리를 만들 수 없으면 쓰기 어렵기 때문에, 아테나 쿼리를 만드는 대신 별도의 CLI 스크립트를 만들어 제공하고 있다”며 “검색하듯 CLI 명령어 한줄로 서버 로그 이슈를 분석할 수 있다”고 말했다.

관련기사

강 프로는 “채팅플러스 서비스는 기존 SMS 경험에 추가적인 기능을 저렴하게 이용할 수 있는 장점을 갖고 있으며, 안정성도 통신서비스 수준으로 높다”며 “삼성전자와 통신 3사가 채팅플러스의 품질을 높이는데 많은 노력을 하고 있으니 고객들이 안심하고 많이 사용하길 바란다”고 강조했다.

삼성전자 강성원 프로와 나상화 프로는 AWS코리아에서 다음달 11일과 12일 온라인으로 개최하는 ‘AWS 서밋 온라인 코리아 2021’ 컨퍼런스에 강연자로 나서 채팅플러스 인프라 운영 경험을 공유할 예정이다.