페이스북, 1명이 서버 2만대 관리하는 비결

각종 SW 통해 IT 운영 효율성에 집중

일반입력 :2013/11/26 10:23    수정: 2013/11/27 08:11

서버 2만대를 운영하려면 관리인력 몇명이 필요할까? 회사마다 사정이 다르겠지만, 페이스북은 단 한명이다.

25일(현지시간) 미국 지디넷에 따르면, 페이스북은 관리자 1명당 서버 2만대를 관리하는 것으로 알려졌다.

페이스북의 이같은 효율성은 필요에 의해 탄생했다. 세계 10억명 이상의 사용자의 '좋아요'를 지원하는데 필요한 컴퓨팅 자원 운영인력치곤 매우 적은 숫자다.

톰 펄롱 페이스북 사이트 운영 담당 이사는 페이스북의 철학은 만약 '사람이 필요없는 작업이라면 사람없이 해보는 것을 시도하라'다고 말했다

페이스북은 IT인프라에 대한 매뉴얼 관리를 최대한 제거했다. 서버와 저장매체는 오픈컴퓨트프로젝트(OCP)에 기반한 디자인 덕분에 도구없이도 교체가능하다. 사이보그(Cyborg)라 불리는 시스템은 오작동하는 서버들을 자동으로 수리하며, 셰프(Chef) 같은 프로비저닝도구가 수천대의 서버 관리를 도와준다.

페이스북의 최신 자동화 툴은 클러스터플래너란 것이다. 페이스북은 끊임없이 비즈니스 요구사항 변화에 맞추기 위해 수천대의 서버를 규칙적으로 배포한다. 클러스터플래너는 전세계 데이터센터에 걸쳐 서버 클러스터의 최적 위치를 찾아준다.

펄롱 이사는 클러스터플래너는 우리에게 장비를 어디에 집어넣을지 계산하는 걸 돕는다며 이를 통해 우리가 가진 인프라스트럭처를 가장 좋게 활용할 수 있다라고 설명했다.

그는 이어 그것은 놀라울 정도로 매뉴얼 작업을 대신한다라며 (클러스터플래너 덕에) 클러스터 배포 시간이 수일에서 수시간으로 줄어들었다라고 덧붙였다.

페이스북의 클러스터플래너는 페이스북 인프라 위치에 대한 스냅샷을 보유한다. 그리고 서버 요소들과 평균 CPU 활용도, 초당입출력(IOPS) 등 페이스북 컴퓨터 시스템에 대한 데이터를 집계한다. 그외 전력수급용량과 평균 상면 등 데이터센터에 대한 상세 데이터도 집계한다.

펄롱은 그런 것들을 엔지니어가 수학적으로 계산하려면 매우 복잡한 단계를 밟아야 한다라며 클러스터플래너로 매우 빠르게 계산할 수 있어, 며칠씩 걸리던 작업이 몇시간안에 이뤄지게 됐다고 말했다.

클러스터플래너는 현재 베타버전으로 향후 모든 페이스북 데이터센터로 확대적용될 예정이다.

페이스북 데이터센터는 회사 사업의 변화에 따라 형성된다. 컴퓨팅 자산은 시스템 변경과 새로운 소프트웨어 가동을 지원하기 위해 모양을 바꾼다. 펄롱은 페이스북에서 IT운영은 클러스터플래너 같은 시스템을 사용하는 것으로 더욱 효율적으로 이뤄질 수 있다고 강조했다.

대규모의 서버를 관리하는 것은 거대한 싸움일 수 있다. 페이스북은 몇가지 수단을 통해 이같은 부담을 쉽게 덜어냈다.

OCP의 서버, 스토리지, 데이터센터 장비 등을 활용하는 것은 특정 컴퓨팅 워크로드를 수행하는데 필요한 핵심 구성요소에서 불필요한 것을 제거했다. 가령 페이스북 웹 서비스 운영을 위한 서버에서 필요치 않은 과도한 하드디스크용량을 없애는 식이다.

이 디자인은 불필요한 부속물을 없앨 뿐 아니라 잘못 사용될 수 있는 부품의 수도 줄인다. 페이스북은 OCP 하드웨어를 사용함으로써 직원의 유지보수 작업시간을 50% 줄였다.

매뉴얼화된 유지보수 작업 수를 줄이는 것은 '사이보그' 같은 자동화 SW툴을 사용했다. 펄롱은 우리는 한명의 데이터센터 인력당 기본 2만대의 머신을 관리한다고 밝혔다.

그는 우리가 효율적으로 서버 수리를 할 수 있는 건 데이터를 수집하고 분석하는 자동화된 시스템을 보유했기 때문이라며 사이보그는 재시작 같은 단순한 작업을 요하는 서버수리를 시도한다라고 설명했다.

페이스북의 IT운영이 아무런 문제없이 돌아가는 건 아니었다. 인프라 규모가 급격히 커지면 전에 없던 문제점이 나타나기 때문이다. OCP서버의 일부 메인보드에서 동일한 오작동이 반복됐던 게 한 예다.

관련기사

펄롱은 우리가 OCP 서버로 바꾸자 레거시 장비 전체에서 동일한 장애가 있었다라며 견본 크기가 너무 작았던 탓에 그전에 발견하지 못했던 것이라고 말했다.

그는 미래의 작업을 위해 새 인프라를 꾸릴 경우 견본을 소규모로 꾸리기보다 전체 작업을 고려해 만들라고 조언했다.