본문 바로가기

IT 이야기

Facebook 서버 시스템에 관한 고찰

Facebook 은 현존하는 전 세계에서 가장 많은 이용자를 보유한 Social Media 업체이다.

자원을 구축하고 그것을 빌려주는 AWS 와 같은 퍼블릭 클라우드 업체와 다르게 

자신들의 서비스를 제공하기 위해서 고도의 데이터센터 여러 개를 구축했고 지금도 건설하고 있다. 

 

Facebook이 사용하는 서버를 살펴보면 일반적으로 많이 사용하는 것과는 조금 다르다

 

보통 서버는 CPU를 2개 탑재한 2P(혹은 2S) 시스템이 일반적이다.

HP DL560 Gen10

 

하지만 Facebook 은 1P 서버를 주력 시스템으로 사용한다. 

기존의 2P 서버는 자신들의 서비스를 운용하는데 적합하지 않고 낭비가 발생한다고 판단한 것이다.

아래 링크에 Facebook이 직접 밝히고 있다.

 

engineering.fb.com/core-data/introducing-yosemite-the-first-open-source-modular-chassis-for-high-powered-microservers/

 

This especially applies to two-socket (2S) computing platforms, which have become scale-up systems. 2S has been the mainstream server architecture for a long time for good reason. With multiple high-performance processors, it’s strong and versatile, but it’s also bulky and power-hungry. In other words, it’s not optimized for scale-out uses. As we continued to evolve our infrastructure, we realized 2S was the wrong tool for some of our needs. To provide our infrastructure with capacity that scales out with the demand, we designed a modular chassis that contains high-powered system-on-a-chip (SoC) processor cards, code-named “Yosemite.”

 

Facebook의 대표 서버 Yosemite v2 시스템과 1P 서버인 Twinlake 

운영하는 서비스 대비 하드웨어의 덩치가 너무 크고 파워도 많이 들고, 한마디로 자신들에 최적화되어 있지 않아서 

인텔과 협력하여 디자인한 SOC로 1P 서버 구성해서 사용하겠다는 것이 주 내용이다.

 

이제 이렇게 용도에 맞게끔 칩을 설계하기는 했는데 이게 혼자만 사용하게 된다면 공급 가격이 비싸질 수밖에 없을 것이다. 

그래서 나온 아이디어가 OCP 인 것 같다. 

 

Open Compute Project

 

Facebook 주도하에 하드웨어의 오픈소스화를 표방하며 여러 관련 업체들과 함께 협업하여 현재까지 단체를 이끌어오고 있다.

Data Center에 필요한 서버, 파워, 랙, 스위치, 스토리지 등 거의 모든 부품들에 표준화 작업을 계속하고 있다.

좀 과장해서 말하면 OCP에 공개된 Contribution 자료대로 구성하면 누구든 Facebook과 같은 Data Center를 만들 수 있다. 

최대한 참여자를 늘려서 수요를 늘리면 Facebook 본인들 구매 가격도 낮출 수 있고 생태계를 조성하고 이끌어가는 것은 덤인 상황이 되는 것이다.

 

궁금한 점은 Facebook 이 이렇게 상용서버를 버리고 자체 디자인을 하면서까지 최적화를 위해 많은 노력을 했는데

그게 얼마나 영향력이 있고 효율이 좋아졌는지에 대해서 접근해보고 분석할 수 있으면 좋을 것 같다. (현재 아이디어는 없긴 하지만...)

 

서비스를 운영하기 위해 상용서버를 구매해서 설치하고 규모가 커지니 업체에서 서버를 임대하여 사용하다 

더 이상 상용서버를 사용하고 데이터센터 공간을 빌려 쓰는 것 만으로 안되니 아예 자체 데이터센터를 세우고 운영하는 단계까지 발전한

Facebook

 

다음번 글에서는 Facebook 서버에 대한 좀 더 상세한 내용과 데이터 센터 현황에 대한 이야기를 해볼까 한다.