소프트웨어

[나는 개발자다] 아이돌플러스 글로벌 론칭 주역 ‘클라우드기술랩’

강소현

[디지털데일리 강소현 기자] “서비스 인프라를 구축하기 위한 자원의 종류와 개수는 매우 많습니다. 인프라를 구축하려면 이 자원들에 대해 잘 알고 있어야 하는 것은 물론, 사용자가 원하는 서비스 개발 방향 혹은 목적에 따라 자원을 선택할 수 있어야 합니다.”

전통적인 정보기술(IT) 조직은 개발팀과 운영팀으로 구분됐다. 하지만 최근엔 이런 두 팀의 연결고리 역할을 하는 이른바 데브옵스(DevOps)의 중요성이 커지고 있다. 과거 분리됐던 개발과 운영을 하나의 파이프라인으로 연결해 고객의 피드백을 신속하게 반영하고, 서비스를 제공하기 위함이다.

LG유플러스는 지난 2019년 개발팀과 운영팀을 뒷받침하는 별도의 데브옵스(DevOPS) 조직을 꾸렸다. 클라우드기술Lab이다. <디지털데일리>는 클라우드기술Lab 소속의 엔지니어 클라우드아키텍쳐팀 조정인 책임과 신동렬 선임, 클라우드플랫폼엔지니어링팀 송제호 선임을 만나, 이런 데브옵스 조직의 중요성에 대해 들어봤다.

◆ 최적화된 클라우드 인프라 구축…개발자·운영자 지원 역할

LG유플러스의 클라우드기술Lab은 개발자와 운영자가 각자의 업무에 집중할 수 있도록 최적화된 인프라를 구축하는 조직으로, 클라우드아키텍쳐팀과 클라우드플랫폼엔지니어링팀 등 4개 팀으로 구성됐다.

통상 애플리케이션(앱)을 론칭한다고 하면 그 안에선 빌드·테스팅·배포·모니터링·운영 등의 과정이 유기적으로 발생하는데, 여기에서 클라우드기술Lab은 서비스가 지속 업데이트될 수 있도록 퍼블릭 클라우드 환경을 구축해 개발자와 운영자를 지원하는 역할을 한다.

예컨대 개발자가 앱의 소스 코드를 작성한다고 이를 바로 서비스로 실행할 수 있는 것은 아니다. 소스 코드를 실제 실행할 수 있는 파일로 변환(빌드)시키고, 이 실행 파일을 국내외 서버에 옮겨 구동(배포)시키는 작업이 요구된다. 클라우드기술Lab은 이런 과정을 자동화해, 개발자들이 온전히 앱 개발에 집중할 수 있도록 돕는다.

조정인 클라우드아키텍쳐팀 책임은 “인프라를 구축하기 위한 자원의 종류와 개수는 매우 많다”라며 “이 가운데 인프라를 구축하려면 사용자가 원하는 서비스 개발 방향 혹은 목적에 따라 자원을 선택해야 한다”고 말했다.

이어 “데이터베이스(DB)에서만 해도 SQL(Structured Query Language)과 같은 관계형DB를 사용할지, 혹은 비관계형DB인 NoSQL(Not only SQL)를 쓸지 선택해야 하는 등 인프라 구축은 선택의 연속”이라며 “클라우드기술Lab은 시간이 많이 소요되는 인프라 구축을 대신해 개발자가 개발에 집중할 수 있도록 돕는 동시에 업무의 민첩성을 향상시키고 있다”고 덧붙였다.

◆ 첫 해외 서비스 어려움…IaC·CI/CD로 해결


클라우드Lab은 최근 아이돌플러스(구 ‘U+아이돌Live’)의 글로벌 론칭 과정에서 주축이 되기도 했다. 아이돌플러스는 LG유플러스의 아이돌 전문 미디어 플랫폼으로. 지난 8월 글로벌 시장 공략에 나섰다.

해외 서비스가 처음인 가운데 글로벌 론칭 과정은 쉽지 않았다. 글로벌 고객 수용을 위해 아마존웹서비스(AWS) 글로벌 리전(물리적 서버)을 싱가폴·파리·미국에 새롭게 구축하고, 소셜네트워크서비스(SNS) 회원인증, 글로벌 결제 플랫폼을 통한 결제 기능 또한 추가로 개발해야 했다.

신동렬 클라우드아키텍쳐팀 선임은 “자사에서 글로벌 리전 구축은 처음인지라 아키텍쳐 측면에서 많은 고민이 있었다”라며 “최대한 빠른 서비스를 제공하기 위해 고객에게 직접적으로 화면이 노출되는 프론트엔드(Frontend) 범위는 글로벌리전에 배치하고, 안정적인 운영을 위해 각 리전 별 가상 네트워킹(VPC) 구성에 대해 개발팀·운영팀과 함께 초기 설계 단계부터 함께 고민했다“고 말했다.

클라우드Lab의 역할은 특히, 리전에 인프라를 생성하는 과정에서 더욱 빛났다. 콘솔을 통해 수동으로 구축하던 인프라를, 코드형 인프라(IaC·Infrastructure as Code) 기술을 활용해 자동화 했다. IaC는 그 이름처럼 인프라를 코드로 구축하는 기술로, 이를 활용하면 국가별 리전에 일일이 인프라를 구축할 필요 없이 코드에서 국가명만 바꿔주면 된다.

예컨대 건물 하나를 세우더라도 땅을 다지고 뼈대를 세우는 것과 같은 일련의 과정들이 요구된다. 같은 건물을 9개 더 세운다고 할 때 건물을 식별할 수 있는 값만 변동해 코드를 입력하면 동일한 과정을 반복할 필요 없이 자동으로 건물을 세워주는 것이 IaC 기술이라고 이해하면 된다.


조정인 책임은 “IaC 기술은 수동 구축 과정에서 발생할 수 있는 휴먼에러를 방지하고, 항상 동일한 질의 인프라를 제공 가능하다는 장점이 있다”며 “콘솔로 작업하는 경우 개발기 구축에 클릭 80회 메뉴이동10회, 검수기·상용기 역시 클릭80회 메뉴이동10회가 필요하다면 코드로 작업하는 경우 개발기 코드를 생성한 뒤 검수기·상용기에서 환경 세팅 값만 바꾸면 한번에 구축할 수 있다“고 말했다.

이어 “개발 난이도는 높았지만 추후 운영 시 자원 추가·수정이나, 다른 글로벌 리전에 추가 진출 시에도 콘솔 구축보다 훨씬 효율적일 것”이라고 덧붙였다.

클라우드Lab은 인프라 구축뿐 아니라, 배포에 필요한 작업들도 자동화해 업무의 효율성을 높였다. CI·CD(지속적 통합·배포) 파이프라인 구축을 통해서다.

송제호 클라우드플랫폼엔지니어링팀 선임은 “한국 서버에 서비스를 우선적으로 배포를 시도 한 뒤 성공시 해외 서버에 병렬적으로 배포가 필요하다는 특수한 요구사항이 있었다”라며 “해당 요구사항에 맞춰서 서버에 배포할 파일들을 자동으로 해외 저장소에 복제하는 방법, 동시 다발적으로 해외 서버에 자동으로 배포하는 방법을 함께 고려해 CI·CD 파이프라인을 설계했다”고 전했다.

◆ LGU+ 클라우드의 경쟁력 '데브옵스'배포 뒤에도 이슈에 지속 대응

서비스 개발과 배포가 끝난 뒤에도 클라우드Lab의 업무는 지속된다. 고객의 요구사항을 지속 팔로우하며 이슈에 대응한다. 아이돌플러스의 핵심 기능인 ‘실시간 중계’에서 초저지연성(레이턴시·Latency) 구현과 트래픽을 지속 관리하는 것도 그 중 하나다.

신동렬 선임은 “성능 검증 중 발생했던 TPS(초당 트래픽 처리속도)저하가 가장 기억에 남는다. 당시 컴퓨팅 자원이 스토리지에 저장된 정보를 조회하는 과정에서 입출력(I/O)의 제한으로 인해 처리가 지연되는 걸 발견했다”며 “캐싱을 통해 직접 조회를 줄이는 방식으로 로직을 변경하도록 가이드 해 문제를 해결할 수 있었다”고 귀띔했다.

향후 클라우드Lab은 인프라 자동화의 범위를 넓히는 등 데브옵스 조직을 지속 발전시켜나갈 계획이다. 운영에 필요한 모든 작업의 종합 인프라 자동화도 이끌어내겠다는 포부다. 또 CI/CD 부문에서는 파이프라인을 구축하는 것을 넘어, CI/CD전략 등의 거버넌스를 수립하고 정착시키는 것을 목표로 하고 있다.

송제호 선임은 LG유플러스 클라우드 조직의 경쟁력 중 하나를 '데브옵스'로 꼽으며 “서비스 시나리오와 목적을 듣고 개발팀과 아키텍쳐를 함께 설계했다. 단순히 개발팀의 요구상황에 맞춰 만들어내는게 아니라 특정 시나리오 상에서 고려되지 않았던 부분들이 있다고 한다면 그런 부분들을 서로 제안하고, 상호 협의해 더 개선된 아키텍쳐를 수립하고 구현할 수 있었다”고 말했다.

개인의 성장에도 집중할 예정이다. 현재 LG유플러스는 개발자들의 발전을 위해 직무와 관련한 자격증 응시료를 한도 없이 지원하고, 공부에 집중할 수 있도록 근무를 빼주는 학습데이를 두고 있다. 이런 회사 제도를 적극 활용해 데브옵스 엔지니어로서 한층 더 성장하겠다는 계획이다.

신동렬 선임은 “최근에 AWS에서 인정하는 전문가라 일컫는 'AWS 히어로' 타이틀을 가진 분께서 입사하셨는데 이 분을 보며 저도 AWS 히어로 수준의 타이틀을 획득하는 걸 목표로 성장하겠다”고 전했다.

강소현
ksh@ddaily.co.kr
기자의 전체기사 보기 기자의 전체기사 보기
디지털데일리가 직접 편집한 뉴스 채널