매년 11월11일은 알리바바의 광군제 할인행사 날이다. 올해 알리바바는 11일 하루동안 2천135억 위안(약 34조7천억원)의 매출을 기록해 최고성적을 갈아치웠다. 매출액은 작년보다 26.9% 증가했으며, 광군제 행사 시작 2분만에 100억 위안(약 1조6천억원)이 거래되는 등 폭발적 인기를 누렸다.
광군제는 '솔로의 날'을 뜻하며 대규모 할인행사를 연다. 지난 2009년 11월11일 시작돼 매년 기록을 갱신한다. 미국의 블랙프라이데이를 훌쩍 뛰어넘는다.
구매자가 웹사이트에 일시에 폭발적으로 몰리기 때문에 이를 지탱하는 알리바바의 IT인프라는 늘 관심의 대상이다. 알리바바는 수년간 다양한 신기술를 적용하고 IT 아키텍처를 수정하며 광군제를 개최했다. 클라우드, 인공지능, 빅데이터, 컨테이너 등의 기술이 총동원된다.
올해는 광군제 10주년이었다. 행사를 앞두고 알리바바 엔지니어링팀은 맡은 분야에서 어떤 준비를 했는지 블로그에 공유했다.
알리바바그룹 수석 테크니컬 엑스퍼트인 유 딩에 따르면, 알리바바는 지난 9년 동안 분산 아키텍처와 원격 멀티 액티브 아키텍처, 스트레스 테스트 등을 통해 IT 인프라를 계속 업그레이드해왔다.[블로그 바로가기]
알리바바는 2008년과 2013년 중앙집중형 아키텍처를 분산된 확장형 아키텍처로 전환했다. 원격 멀티 액티브 아키텍처는 중국 내 여러 도시에 분산된 알리바바 인프라에서 완벽한 거래처리 시스템을 구동하게 했다.
분산 아키텍처는 시스템 안정성과 복잡성, 멀티 시스템 협업 등 여러 새로운 문제를 드러냈다. 이에 스로틀링(throttling), 다운그레이드, 긴급사태대책 시스템, 온라인 관리 및 제어 시스템을 구축했다. 2013년부터 다양한 스트레스 테스트를 실시해 장애에 사전 대비했다.
동시에 많은 사용자가 접속하는 시스템의 경우 전통적인 접근법은 대량으로 서버 하드웨어를 추가 구비하는 것이다. 알리바바도 초기엔 같은 방법을 취했다. 2013년 전까지 알리바바는 대규모로 하드웨어 자원을 구매해 광군제를 넘겼다. 그러나 광군제 이외 나머지 기간동안 수많은 자원이 활용되지 않았다. 각 자원과 모듈이 개별적으로 최적화돼 재활용하기 힘들었기 때문이다.
알리바바는 2013년 클라우드화에 돌입했다. 광군제에 동원되지 않았던 자원을 광군제 거래처리에 동원해 처리용량을 늘리고, 평시엔 다시 원래 용도로 활용할 수 있게 됐다. 신규 하드웨어 구매 비용을 줄이는 효과를 거뒀다.
알리바바의 현재 운영관리 시스템은 크게 세 갈래로 나뉜다. 온라인 서비스 클러스터, 컴퓨팅 태스크 클러스터, 알리바바클라우드 엘라스틱컴퓨트서비스(ECS) 클러스터 등이다. 세 클러스터는 독립적인 자원 관리 체계와 스케줄 체계를 갖는다.
온라인 서비스는 컨테이너 기술을 활용한다. 각 작업은 LXC 컨테이너로 생성돼 연산을 나눠 수행하고, 컨테이너들은 암호화돼 있다. 각 컨테이너는 애플리케이션 계층에서 운영관리 클러스터에 의해 개별 관리되고, 최상단 서비스계층에서 다른 업무를 구동한다. 광고, 거래검색, 스테이트풀 스토리지 등의 온라인 서비스가 해당된다.
컴퓨팅 클러스터는 빅데이터 분석을 수행하며, ECS 클러스터는 외부 고객 관련 업무를 구동한다.
온라인 작업과 컴퓨팅 작업은 하이브리드 클라우드에 배포된다. 스케줄링 효율성은 통합운영관리로 개선됐고, 용량 전달을 자동화하기 위해 자원 배치를 표준화했다.
알리바바 온라인서비스의 통합 스케줄링 시스템은 '시그마(Sigma)'라 불린다. 2011년 만들어진 이 시스템은 마스터-슬레이브 구조를 기본으로 하며, 우선순위와 정책에 따라 자원 할당과 시간 분배를 유연하게 수행한다. 마스터 노드는 컨테이너들이 대량의 물리적 머신에 배포될 때 자원을 최적화하도록 돼 있다. 슬레이브노드는 단시간에 할당 작업을 수행한다.
시그마는 2011년 만들어진 후 2016년 고 프로그래밍언어로 재작성됐고, 2017년 쿠버네티스 API와 호환되도록 개선됐다.
2014년부터 알리바바는 하이브리드 아키텍처를 본격 활용한다. 알리바바는 시그마와 별도로 컴퓨팅 작업 스케줄링을 푸시(Fuxi)란 시스템으로 운영하고 있다.
온라인 서비스는 긴 수명주기와 복합 룰 및 정책, 지연 민감성 등의 특징을 갖는다. 반면, 컴퓨팅 작업은 짧은 수명주기, 높은 동시성, 고대역폭, 다양한 우선순위 등과 지연에 덜 민감하다는 특징을 갖는다. 이런 다른 요건 때문에 스케줄링 체계를 두 종류로 나눈 것이다.
두 유형의 스케줄링은 하이브리드 아키텍처 속에서 동시에 이뤄진다. 노이즈 클리닝 서버는 시그마와 푸시 모두에 있다. 시그마에서 시그마에이전트가 '파우치컨테이너(PouchContainer)'를 시작하는 여러 런타임을 호출한다. 푸시 스케줄러는 컴퓨팅 작업을 실행하기 위해 노이즈 클리닝 서버에 배치할 자원을 선점한다. 모든 온라인 작업은 파우치컨테이너에 있다. 오프라인 작업은 공란에 채워져 물리 머신 자원을 온전히 사용하도록 한다. 두 유형의 동시배치(Coloacation)가 이렇게 이뤄진다.
커널 자원 격리 기술, 온라인 클러스터 관리 기술, 컴퓨팅 작업 스케줄링 기술 등이 동시배치의 핵심이다. CPU 자원을 시간과 우선순위에 따라 할당하고 재사용하게 하는 기술, 시스템 자원을 애플리케이션에 특정해 유연하게 조절하는 기술, 자원 활용을 시기적절하게 조정하는 기술 등이다.
파우치컨테이너는 알리바바에서 개발된 컨테이너 기술이다. 2011년 개발됐고, LXC에 기반한다. 도커 이미지 펑션 등 여러 표준을 상속한다. 알리바바의 컨테이너는 격리 역량에서 특화됐다. 알리바바는 현재 내부 시스템에서 수백만개의 컨테이너를 배포하고 있다.
파우치는 가상머신(VM)의 가상화 기술을 채택했다. VM에서 컨테이너로 이전하는데 어려움이 있었고, 많은 기술비용을 투입해야 했다고 한다. 운영관리시스템은 독립적인 IP주소를 갖고 SSH로 로그온된다. 파일시스템도 각자 갖는다. 2015년부터 알리바바는 도커 표준을 파우치컨테이너의 새 형식으로 도입했고, 전체 운영관리시스템을 통합했다.
사용자는 프로세스의 자원활용도를 보기 위해 컨테이너에 접속할 수 있다. 프로세스가 중지되면 컨테이너는 계속 운영된다. 컨테이너가 많은 프로세스를 구동할 수 있고, 전후 호환성을 갖는다. 수백만개 컨테이너를 검증해 P2P 이미지 분산 매커니즘을 개발했고, 분산 효율성을 극적으로 개선했다. 컨테이너는 RunC, RunV, RunLXC 같은 표준과 호환된다.
현재 모든 알리바바의 온라인 서비스가 컨테이너에 담겼다. 알리바바는 작년 10월10일 파우치컨테이너 오픈소스화 계획을 발표하고 같은해11월19일 오픈소스화했으며, 올해 3월 첫 정규 버전을 배포했다.[알리바바 파우치컨테이너 깃허브 페이지]
스토리지는 연산과 분리돼 있다. 컴퓨팅 클러스터와 온라인 서비스 클러스터는 다른 데이터센터에 존재한다. 컴퓨팅 작업의 데이터는 온라인 서비스 클러스터에 먼저 저장된다. 이에 알리바바는 캐시 교두보를 만들어 연산을 수행하게 했다.
이후 데이터센터 구조와 네트워크 최적화가 이뤄졌고, 온라인 컴퓨팅 작업을 위한 스토리지와 연산이 분리됐다. 현재 캐시 교두보는 제거되는 중이다. 연산 작업은 네트워크 업로드 대역폭 제한없이 이뤄지고, 트래픽은 중앙시스템을 거치지 않는다.
알리바바는 미래의 광군제 행사에 대비하는 새 하이브리드 아키텍처를 구성하고 있다. 오케스트레이션에 기반하고 수분 안에 확장과 축소를 할 수 있다. 광군제 기간 동안 60% 이상의 피크 트래픽이 알리바바클라우드로 보내진다.
관련기사
- 알리바바 "광군제 물량 중 1.5억 건 블록체인 추적"2018.11.22
- 알리바바, 광군제 앞두고 중국 최대 로봇창고 운영2018.11.22
- 알리바바·화웨이, '양자 컴퓨팅' 금맥 캐나2018.11.22
- 알리바바, 내년 자체 AI 전용칩 출시2018.11.22
이렇게 갖춰진 체계를 통해 알리바바는 광군제 때 신규 IT도입 비용을 50% 절감하고, 일간 IT비용을 30%까지 줄였다.
알리바바는 광군제를 대비해 고안하고 개발한 여러 기술과 지식을 클라우드 서비스 상품에 반영할 계획이라고 밝혔다.