토요일, 9월 27, 2014

[B급 프로그래머] 페이스북 확장에 규정은 없다

하드웨어 공학에서 몇 가지 작업 방식이 있으며, 공학도들은 심지어 필요한 경우에도 이를 어기려 들지 않기 때문에 단순히 규칙을 따른다. 하지만 페이스북은 어떨까? 오늘은 테크크런치에 When It Comes To Facebook Scale, You Can Throw Out The Rulebook라는 글이 올라와서 독자 여러분들께 간략하게 소개드린다.

페이스북은 하드웨어 상당수를 직접 만들기 시작했다. 따라서 공학도들은 일이 어떻게 진행되어야 하며, 페이스북의 확장을 위해 장비를 구축할 경우 생각을 달리할 수 있게 되었다. 창의적인 사고가 필요한 셈이다. 페이스북의 코드리는 다음과 같이 말한다. "페이스북은 도전, 비용, 운영 환경을 이해하고 있으며, 외부 업체보다 더 나은 결과를 얻어야 합니다. 우리는 페이스북에 특별히 필요한 요구 사항을 전문적으로 다룰 수 있습니다."

페이스북이 창의적인 사고를 격려하는 한 가지 방법 중 하나가 전문 분야를 건너뛰는 협업이다. 페이스북은 공학도들이 각자 일하는 대신 함께 일할 때 흥미로운 일이 벌어진다는 사실을 발견했다. 다른 회사들이 서버, 스토리지, 데이터베이스 등등으로 공학팀을 격리하지만, 페이스북에서는 통합적으로 한데 묶는다. 다양한 팀이 함께 일하면 문제를 해결하기 위한 새로운 방법을 찾을 수 있으니까.

심지어 하드웨어 제조사들도 자사 공학도들을 데이터센터로 보내 자신들이 설계한 하드웨어를 사람들이 사용하는 모습을 지켜보는 관례를 정립하지 않았다. 하지만 직접 뛰어들어 하드 드라이브를 교체하느라 스크류 6개(또는 16개)를 빼는 작업을 지켜보고, 매년 수 백번 넘게 이런 작업을 한다는 사실을 알게 되면 뭔가 더 간단한 방법이 필요하다는 사실을 깨닫게 된다.

따라서 페이스북은 디스크 어래이를 다르게 설계했다. 쉬운 유지보수를 위해 스크류가 하나도 없다. 커다란 녹색 레버를 당겨 배열을 튀어나오게 한 다음, 힌지 덮개를 당기고 하드 드라이브를 꺼내 새 하드 드라이브로 교체한다. 물론 스크류는 하나도 없다. 다른 회사의 경우에는 기술자들이 유지보수에 전혀 신경쓰지 않기에 작은 스크류와 교체가 어려운 방식을 고집한다.

새로운 기계를 다룰 경우 약간의 수고만 감수하면 되지만, 수천 대나 심지어 수 만대를 다룰 경우 이야기가 달라진다.

페이스북 공학도들이 상자 바깥으로 나와서(글자 그대로 :)) 생각하게 만드는 또 다른 방법은 서버 설계다. 공학도들은 서버 설계가 2u 랙에 맞아야 하지만, 만일 랙 제약이 없다면 어떤 식으로 서버를 설계할지 상상하라고 주문한다.

이런 제약을 버리면, 다양한 가능성이 열린다. 공학도들은 길고 좁은 박스를 만들어 왔다. 페이스북은 새로운 크기에 맞춰 랙을 설계했다. 박스는 랙 바깥으로 미끌어져 빠져 나오며, 상단을 열면(물론 스크류는 없다), 한번에 모든 부품이 눈에 들어온다. CPU 옆에 붙은 RAM처럼 관련된 부품끼리 가까이 모여있다.

독특한 하드웨어 형태를 양산할 때, 이를 오픈소스화 해서 오픈 컴퓨터 프로젝트에 공개한다. 확장 가능한 컴퓨터 문제를 해결하고 유지보수가 쉽고, 더 효율적으로 움직이고, 생명 주기 동안 비용 절감이 가능한 하드웨어를 생산하는 방법을 함께 공략하려는 시도다.

창의력과 상상력이 궁금하다면 페이스북에서 힌트를 얻기 바란다.

EOB

댓글 2개: