관리 메뉴

미닉스의 작은 이야기들

SSD 이야기 6. SSD와 서버: 서버 본문

김인성의 삽질기/3. SSD 이야기

SSD 이야기 6. SSD와 서버: 서버

미닉스 김인성 2008. 10. 14. 23:32

6 SSD와 서버: 서버

6.1 서버의 역사

애플사에 의해 불붙은 개인용 컴퓨터는 IBM의 손을 거쳐 결국 인텔과 마이크로소프트가 지배하는 X86 PC로 결론이 났습니다. 한편 메인프레임에서 출발한 서버 시장은 DEC의 미니컴퓨터를 거쳐 분산컴퓨팅 모델의 썬 유닉스 머신으로 진화했으나 인터넷 시대에 이르러 이 또한 리눅스가 탑재된 X86 서버로 통일되고 있습니다.

다른 쪽에서는 시분할 시스템 단말기의 차후 버전인 클라이언트서버 형 그래픽 X터미널이 세상을 지배하려고 했지만 PC에 의해 멸망 당했습니다. 그러나 사용자를 독점하려는 컴퓨터 회사들의 욕심은 또 다시 ASP(Application Service Provider)라는 개념과 NC(Network Computer)라는 제품을 만들어내고야 말았습니다. 이마저도 패배하자 씬클라이언트(ThinClient), 유틸리티 컴퓨팅 그리고 그리드 컴퓨팅(Grid Computing)까지 주장하였으나 역시 먹혀 들지 않았습니다. 포기를 모르는 그들은 이제 가상화, 클라우드 컴퓨팅 즉 SaaS(Software as a Service)라는 개념으로 세상을 혼돈 속에 몰아 넣고 있습니다.

 
윈도우 라이브: 마이크로소프트는 어떠한 경우에도 새롭다고 주장하는 기술에 대해 눈감지 않았습니다. SaaS라는 유행에 대항하기 위해 자신들의 최대 자금 줄인 오피스 프로그램까지 담보로 내놓았습니다. 예언이 불가능한 IT 산업에서 신기술이 성공했을 때 자신들을 위협할지도 모르니까요. 그들은 새로운 분야에서 승리하거나 그 분야가 완전히 망가질 때까지 끊임없이 자기 변신을 해왔습니다.


마치 "추론에 의한 문제해결법"이라고 이름 붙여야 할 대상을 인공지능(Aritficail Intelligence)이라고 명명함으로써 존재론적 사유를 고민해야 하는 철학의 영역으로 들어가버린 컴퓨팅의 한 분야와 비슷합니다. 본질과 상관없는 마케팅 용어로 치장한 IT 비지니스는 세상을 호도하고 엄청난 비용을 낭비한 다음 수 많은 사람들이 피눈물을 흘리게 하고서야 조용히 사라져 갔습니다.

SaaS는 뉴메인프레임 혹은 중앙집중식 컴퓨팅 방식이라는 솔직한 이름을 붙여야 합니다. 물론 역사가 증명하듯이 컴퓨터, 특히 PC는 "모든 사람에게 자기만의 컴퓨터를!"이라는 해커 정신의 산물이므로 빅브라더는 결코 성공할 수 없습니다. 한 두 업체가 돈을 벌 수도 있겠지만 아마 대규모 사이트의 내부 시스템 구성으로 안착하는 정도가 최대치일 것입니다. 그 어떤 경우에도 개인의 자유로운 선택권을 제한하는 기술이 대세가 된 적은 없습니다. 미래는 스티브 잡스가 들고 있는 iPhone의 고성능화에 있지 포탈의 전능함에 있지 않다는 뜻입니다.

아마존: 클라우딩 컴퓨팅의 선두주자, 놀라운 신기술이 탄생했다고 알려져 있으나 실상은 가상화를 통한 서버 호스팅 또는 웹하드와 유사합니다. 특정 기술이 모든 분야를 휩쓸 것이라고 주장하는 것은 마케팅적인 구호로서나 적절합니다. 그 말에 부화뇌동하여 뒤늦게 뛰어든 업체는 참담한 실패만을 겪을 것입니다. 물론 마이크로소프트는 여기에도 숟가락 하나 들이밀고 있는데 아마 내부적으로 기술 검토를 거치면서 이 쓰잘데기 없는 분야를 아작 내기로 결정했을 수도 있습니다.


서버 시장도 마찬가지였습니다. 메인프레임은 분산 시스템의 강력함을 이길 수 없었고 독점적인 코드와 하드웨어에 기반한 고성능 유닉스 머신은 오픈소스와 오픈 아키텍쳐에 기반한 리눅스 X86 서버와 경쟁할 수 없었습니다. 그리하여 인터넷이 활성화되자 먼저 수 많은 유닉스 회사가 망해갔습니다.

PC용 저성능 CPU로 인식되던 X86 프로세서는 엄청난 생산량에 따른 가격 경쟁과 인텔, AMD 기타 호환 업체들 간의 성능 경쟁을 통해 다른 CPU들을 따라 잡았습니다. X86 CPU는 범용성과 저가격, 고성능을 무기로 임베디드부터 슈퍼컴퓨터까지 모든 분야에 파고 들었습니다. 비 X86 CPU의 멸망이 시작된 것입니다. 고성능을 자랑하던 DEC의 알파칩, 썬의 스팍, IBM Cell, 밉스테크놀러지의 MIPS, 모토롤라의 MC68시리즈 심지어 인텔의 이테니엄과 아이비엠의 POWER CPU 조차도 미래를 기약할 수 없게 되었습니다.

또한 고성능 메임프레임과 미드레인지 서버 그리고 워크스테이션급 하드웨어는 싸구려 X86 CPU를 사용한 리눅스 서버 블럭 쌓기를 당해낼 수 없었습니다. 시스템 엔지니어들의 경험이 늘어나면서 그동안 신비화되었던 유닉스 머신의 성능과 안정성의 미신이 벗겨졌고 1억원짜리 미드레인지 서버보다 삼백만원짜리 X86 서버 10대가 더 효율적이라는 사실을 알아내고야 말았습니다. 서버 제품의 멸망도 가속화되었다는 뜻이지요.

 
인텔 아톰 CPU: AMD의 지오드, VIA의 나노 CPU와 같은 저성능 X86 CPU. MID(Mobile Internet Device)를 타켓으로 하고 있다고 말하지만 임베디드 시장을 평정한 ARM 프로세서와 직접적인 경쟁관계에 있습니다. 임베디드 기기에서 X86 프로그램을 수정 없이 돌릴 수 있다는 것은 엄청난 매력입니다. 향후 ARM이 고성능을 꿈꾸는 순간 바로 아톰에게 먹히고 말 것입니다.
이미지 출처: http://upload.wikimedia.org/wikipedia/en/c/c4/Silverthrone_with_Penny.jpg


슈퍼 컴퓨터: 단일 하드웨서 설계를 통한 슈퍼컴퓨터 시대를 지나 수천 개의 X86 서버를 엮는 클러스터 방식의 슈퍼컴이 상위를 차지하고 있습니다. Cray사도 X86 CPU를 사용해서 고속 병렬 처리 방식의 슈퍼컴을 만들고 있습니다.


애플 컴퓨터를 설계한 워즈니악의 천재적인 선견지명에 따라 IBM-PC에도 계승된 오픈 아키텍쳐 정신은 PC와 서버 시장에도 빛나 X86 서버는 수 많은 업체들이 경쟁하는 완전 시장이 되었습니다. 호환성과 안정성은 개별 부품 단위에 적용되어 있어서 그 어떤 업체도 독점적인 하드웨어를 주장할 수 없습니다. 기능에 따른 하드웨어의 재조합, 원하는 기능을 가진 부품군에서의 자유로운 선택이 보장되었습니다. 공개적인 경쟁은 뼈를 깎는 원가절감이 가능한 대량 생산 업체만이 살아남을 수 있는 시장으로 변모시켰습니다. 그리하여 서버들이 모여 있는 데이터센터는 X86 서버와 오픈소스 운영체계가 디폴트로 자리 잡게 되었습니다.

확장슬롯: ISA, EISA, VESA, PCI, PCI-X, PCI-EXPRESS까지, 인터페이스 표준에만 맞으면 같은 기능을 가진 어떤 제품이라도 꽂을 수 있고, 누구라도 같은 기능을 가진 제품을 개발해 팔 수 있습니다. 확장 슬롯은 PC를 기업체의 손에서 구해 사용자에게 돌려 주고자 했던 한 위대한 해커의 놀라운 발명입니다.

간단히 말해 PC와 마찬가지로 서버 시장도 X86 서버로 통일되었다는 뜻입니다. 오픈소스 운영체계가 소프트웨어의 독점을 막아 주고, 오픈 아키텍처에 기반한 하드웨어 경쟁이 가격 하락과 성능 향상을 할 수 있게 해 줍니다. 고성능이 요구되는 곳에는 단일 서버의 고성능화보다는 소규모 서버 클러스터링으로 대응하고 있습니다. 클라우드 컴퓨팅은 요란한 분위기에도 불구하고 결국은 대규모 서버가 필요한 특정 사이트의 내부 시스템 구축을 위한 방법론으로 귀결 될 것입니다.


6.2 서버 점유율의 비밀

X86 서버가 시장을 평정했다는 주장이 과연 사실일까요? 실제로 통계 자료에 따르면 이렇게 주장하기 힘든 면이 있습니다. 어떻게 보면 현실을 모르고 떠드는 이야기일 수도 있지 않을까요?


매출액 통계에 따르면 2008년 1사분기 서버 전체 매출액은 130억 달러이며 각각의 업체가 다음과 같은 점유율을 가지고 있습니다.

사용자 삽입 이미지

매출액에 따른 서버 점유율: 2008년 1분기, IBM과 HP가 선두 다툼을 벌이고 있고 Dell이 뒤쫓고 있으며 Sun은 점차 점유율이 떨어지고 있는 상황입니다.

메인프레임과 미드레인지 서버를 가지고 있는 IBM은 PC와 노트북 그리고 하드디스크 사업부를 정리했고 이제 수익이 나지 않는 PC 서버 제품 군까지 포기하려고 하고 있습니다. 컴팩은 알파 CPU로 수익을 내지 못하고 PC와 PC 서버에 의존하다가 HP에 흡수 당했습니다. HP는 프린터와 유닉스 서버 등 다른 수익원을 가지고 있기 때문에 아직은 PC 서버 시장에서 선전하고 있습니다. 그러나 무조건 싸게 만드는 재주를 가지고 있는 델에게 전방위로 위협을 당하고 있어 언제 그 입지가 흔들릴지 아무도 알 수 없습니다. 유닉스 서버만을 가지고 있던 Sun은 수익율 악화를 이겨보기 위해서 PC 서버를 판매하고 있으나 점차적인 시장 점유율 하락에 의해 회사의 미래가 어둡기만 합니다.

사용자 삽입 이미지

운영체계 별로 본 모습: 윈도우 NT 서버가 39.2%를 차지해 압도적이며 그 뒤를 UNIX 서버가 30.6를 점하고 있으며 리눅스가 13.7%로 뒤를 쫓고 있습니다. 특이하게 IBM은 메인프레임 라인업 한 개로 서버 시장의 8.4를 점하고 있습니다.


매출액에 따른 분류만으로 보면 X86 서버가 60%정도를 점하고 있고 그 외 비 X86 서버가 40%를 차지하고 있는 형태입니다. 그러나 서버 매출 대수로 따져보면 완전히 다른 결과를 볼 수 있습니다.

사용자 삽입 이미지

X86과 비 X86 서버 출하대수 비교: 실제 출하된 서버 수는 X86 서버가 압도적으로 많습니다. 총 230만대 중 190만대가 X86 서버이고 나머지 40만대가 UNIX 서버와 메인프레임입니다.


윈도우와 리눅스 서버로 사용되는 X86 서버는 업체간 경쟁이 치열하여 거의 원가 수준으로 판매가 되고 있지만 UNIX 서버 쪽은 나름대로 특화된 고부가가치 시장으로 인식되어 X86 서버와 동급의 시스템을 거의 10배 가격으로 판매하고 있기 때문에 적은 출하량에도 불구하고 매출액은 높습니다.

메인프레임 시장은 거의 IBM의 독무대이며 이 시장은 특히 더 높은 가격을 형성해 비슷한 성능인 UNIX 서버의 10배 이상의 가격을 받고 있습니다. 그 때문에 극히 적은 수 천대 정도만 판매해도 전체 서버 시장 매출액의 8.4%를 차지할 수 있습니다.

X86 서버 시장만을 봤을 때 상대적으로 윈도우 서버가 강세이지만 이 또한 많은 부분이 왜곡되어 있습니다. 우선 윈도우 서버는 대부분 기업체의 파일 서버와 같이 독립 형태의 소규모 서버에 주로 쓰입니다. 윈도우 서버들을 가지고 대규모 서버 클러스터링을 운용하는 것은 권장되지 않습니다. 몇 대 정도의 윈도우 서버로 서비스를 하던 업체들은 규모가 커지기 시작하면 유닉스나 리눅스 서버로 전환하는 것이 일반적입니다.

리눅스는 대부분 무료로 구해서 쓰기 때문에 이런 매출 통계에 정확히 잡히지 않습니다. 그럼에도 서버 점유율에서 13.7%나 나타나는 것은 대단히 놀라운 일입니다. 데이터센터의 서버팜을 차지하는 것은 대부분 리눅스를 설치한 X86 서버입니다. 이들 서버는 통계에 잘 잡히지 않는 인텔 화이트 박스류 그리고 서버급 메인보드를 사용한 저가 조립서버들도 많습니다. 물론 기업체에서 윈도우 파일 서버 대신 리눅스 삼바 서버가 쓰이고 있는 경우도 많습니다. 사용자들이 윈도우라고 믿고 있는 많은 서버들이 실제로는 리눅스 서버입니다.

이 모든 것을 감안하고 통계를 발표하는 단체의 업체 편향을 감안했을 때 실제 모습은 다음과 같을 것이라고 생각됩니다.


사용자 삽입 이미지

실제에 근접한 서버 수 추정 통계: 분기당 판매량 230만대의 두배 정도가 실제 추가된 서버라고 가정하고 통계에 잡히지 않은 서버는 리눅스 60% 윈도우 40%라고 가정합니다. 그에 따라 X86 서버는 거의 90% 이상의 점유율을 가지며 그 안에서 윈도우와 리눅스 서버가 반 정도씩 차지하고 있습니다.

유닉스 서버와 메인프레임은 금융권과 관공서 그리고 대기업의 전산실에서 쓰이며 윈도우 서버는 회사의 공유 파일 서버 혹은 액티브 디렉토리 서비스로 사용자들을 괴롭히는데 활용됩니다. 통계의 마법에도 불구하고 인터넷 시대를 주도하는 서버들이 모여 있는 데이터센터를 가 보면 대부분이 리눅스 서버임을 알 수 있습니다. 리눅스 서버는 복잡하고 부하가 많이 걸리는 서비스에서 오랫동안 단련되어 오고 있습니다. 유닉스와 메인프레임 시장이 현재 아무리 매출액이 높다고 하더라도 미래가 결코 밝지 않습니다. 그 시장은 점차 X86 서버 쪽으로 넘어 올 것이기 때문입니다. 누가 뭐라고 하더라도 대세는 오픈소스, 오픈 아키텍처에 기반한 X86 서버에 있다고 믿으셔도 좋습니다.


6.3 서버에게 요구되는 것들


6.3.1 서버 전용 하드웨어의 특징


X86 서버는 기본적으로 PC입니다. PC에 비해 좀 더 빠르고 멀티타스킹에 유리한 CPU, 에러 체킹 기능이 추가된 메모리, 안정성이 검증된 메인보드, 고성능에 신뢰성있는 하드디스크, 2개 이상의 기가비트 랜포트 정도입니다.


그래픽 카드는 보드 내장형으로 화면을 표시할 수 있을 정도면 됩니다. 리눅스 서버라면 아예 시리얼 포트를 사용하여 제어를 할 수도 있습니다. 네트워크로 작업할 수 있기 때문에 이마저도 사용하지 않는 경우가 많습니다. CD-ROM이나 플로피는 쓸모 없지만 미리 달려오는 것이라 떼기 귀찮아서 그냥 달아 놓을 뿐입니다. 사운드 기능도 필요 없고 키보드 마우스도 거의 사용하지 않습니다.

얇고 긴 케이스는 앞 쪽에 많은 하드디스크를 달 수 있도록 되어 있습니다. 핫스왑을 지원하여 동작 중에 하드디스크를 빼고 끼울 수 있도록 한 것은 기본입니다. SCSI 인터페이스를 가진 하드디스크는 최근 SAS 방식으로 진화하였고 15000rpm의 고성능 하드디스크가 많이 사용됩니다. 주로 3.5인치가 쓰였으나 요즘에는 2.5인치 하드디스크도 사용되기 시작하는 추세입니다.


인텔 화이트 박스: 앞에 달린 베이에 8개의 2.5인치 하드디스크를 장착할 수 있습니다. 사진의 하드디스크는 15000rpm의 2.5인치 SAS 하드디스크입니다. 인텔은 브랜드 없는 PC 서버를 제조합니다. 업체들은 필요한 만큼의 CPU와 메모리 그리고 하드디스크와 확장 카드를 장착하여 자신의 브랜드를 붙여서 팔면 됩니다.


확장성도 필요합니다. 사진의 조립서버 좌측에는 SAS, SATA등 원하는 형태의 하드디스크 베이를 설치할 수 있습니다. 오른쪽에는 필요한 기능을 갖춘 메인보드로 바꾸어 설치 할 수 있고 라이저 카드를 사용해서 확장 카드를 추가할 수도 있습니다.


전류도 가능하면 적게 먹어야 합니다. 1개의 부팅용 SSD와 8개의 하드디스크를 장착한 서버는 1.6암페어의 전류를 소모합니다. 수 만대의 서버가 설치된 데이터센터에서는 각각 서버의 작은 전류 절약도 큰 차이를 만듭니다. 그린컴퓨팅의 핵심은 고성능이면서도 전력을 적게 소모하는 서버 솔루션을 찾는 것입니다.


케이스는 방열을 위해서 시끄러운 팬 소음을 냅니다. 파워는 2개 장착되어 있습니다. 규정상 데이터센터는 각각 다른 발전소에서 끌어온 두 전기 선로를 이중화하여 한 서버의 각각의 파워에 연결해야 합니다.


지하에 발전기를 갖추고 만일의 단전 사태에도 대비 해야 합니다. 데이터센터는 거대한 냉장고와 같습니다. 열이 많이 나는 서버들이 가득 찬 내부의 온도와 습도를 일정하게 유지하고 필요한 전력을 안정적으로 공급하여 서버들이 중단 없이 동작할 수 있도록 해 주는 것이 주 임무입니다.

물론 이런 임무를 망각하고 스프링쿨러를 오작동하여 전원이 들어와 있는 서버들을 샤워시킨 경우도 있었고 초과 전력 사용을 감당 못해 정전 사태를 일으켜 일시에 모든 서버가 다운되게 했던 곳도 있었으며 UPS(무정전 전원 공급장치) 교체 작업을 하다가 황당하게도 선을 바꿔 끼우는 바람에 항온항습기를 다운시켜서 서버실을 찜질방으로 만든 적도 있었습니다. 기사에 한 줄도 나오지 않는 이런 사고를 당한 업체들은 자다 말고 나와서 선풍기 들고 서버 식히러 뛰어 다녀야 했지요. 혹시 여러 분의 서버가 데이터센터에 입주해 있나요? 반드시, 반드시, 반드시 백업하시기를 바랍니다.


호스팅 서버: 한달에 15만원 정도의 임대료를 내고 사용하는 호스팅 서비스에 투입된 서버들 모습. 낮은 사용료로 인해 인건비를 최소로 들여야 하므로 깔끔한 마무리는 기대할 수 없습니다. 빈번한 호스팅 업체 추가, 취소, 변경 때문에 구성은 점점 복잡해집니다.

6.3.2 서버에게 요구되는 것: 고성능

서버에게 일차적으로 요구되는 것은 고성능입니다. X86 서버는 대규모 컴퓨팅 파워를 위한 단위 블럭과 같이 사용되기 때문에 서버 각각의 성능이 뛰어날 필요가 있습니다. 하루에 천만 명이 방문하는 포탈의 첫 페이지를 위한 전용 서버는 피크타임인 오후 4시경의 응답속도를 기준으로 개수가 정해질 것입니다. 한 개의 서버가 동시사용자수 10만 명 정도만 감당할 수 있다면 100대의 서버가 필요할 것입니다. 만일 20만명을 감당할 수 있다면 50대를 절약할 수 있습니다.

검색어를 입력했을 때 결과 페이지를 빠르게 보여주기 위해서는 정교한 작업이 필요합니다. 광고, 지식, 뉴스, 이미지, 블로그, 카페, 웹 등등을 담당하는 서버들이 따로 있으며 그 각각은 전용의 데이터를 따로 인덱싱 해 놓고 있습니다. 물론 통계에 의해 인기 있는 검색어는 미리 검색해서 결과를 저장해 놓고 서비스하기도 합니다. 문제는 인기 검색어와 롱테일(자주 사용되지 않는 데이터) 간의 속도 차이가 없어야 한다는 점입니다. 검색 서비스는 데이터가 늘수록 더 많은 서버 파워가 필요하기 때문에 단위 서버의 성능은 언제나 고성능을 요구하게 됩니다.


다층구조: 거대한 포탈의 가장 앞 부분에는 여러 대의 첫 페이지 서버가 로드밸런서로 묶여 한꺼번에 몰리는 사용자를 분산 처리합니다. 첫페이지에 나온 정보를 클릭하면 디렉토리 서버로 제어가 넘어갑니다. 검색어 질의는 뒤쪽 검색 전용 서버가 처리합니다. 만약 인기 검색어와 같이 이미 답변이 준비되어 있는 질문이라면 캐싱 서버에서 바로 그 결과를 보내 줍니다. 새로운 질문이라면 후단의 또 다른 각 부분 검색 서버에게 전달하여 그 답변을 모아 한 개의 결과 페이지를 완성합니다. 서비스 방식에 따라 차이가 나기는 하지만 대부분의 사이트가 이런 형태로 구성되어 있습니다.


CPU도 서버용으로 구분된 제품을 써야 합니다. 일반 CPU보다 캐시가 더 많고 멀티 CPU가 가능한 구성을 지원합니다. 메모리는 에러 체크 기능이 추가되어 있습니다. 최소 4GB 이상을 장착하며 8GB 이상을 달기도 합니다. 크기가 작은 데이터베이스를 처리한다면 아예 16G 이상을 달고 전체 데이터를 메모리에 올려서 사용하기도 합니다. 하드디스크는 고성능 제품을 사용하며 성능을 더 끌어올리기 위해서 레이드 컨트롤러를 사용합니다. 속도가 문제라면 레이드-0를 안정성이 필요하다면 레이드-1 혹은 레이드-5,6을 사용합니다.


쿼드코어(한 CPU 패키징 안에 4개의 CPU가 들어 있는 제품)를 4개까지 장착할 수 있는 4U 사이즈의 PC 서버입니다. 64GB의 메모리 위에서 동작하는 16개의 CPU는 괴력을 발휘합니다.


6.3.3 서버에게 요구되는 것: 서비스 안정성


셋업이 끝나고 한 분야의 서비스가 제 자리를 잡고 나면 그 후에는 안정성이 가장 중요한 요소가 됩니다. 안정성은 몇 가지로 나뉩니다. 우선 서비스의 안정성이 있습니다. 서비스는 가능하면 중단 없이 이루어져야 합니다. 만약 특별한 작업을 위해서 시스템을 변경했다가 서비스에 문제가 생긴다면 회사 전체가 심각한 영향을 받습니다. 몇 시간의 서비스 중단은 사용자 항의, 매출 손실 혹은 광고비 환불 요구까지 받을 수 있습니다. 기자들이 눈치채 기사화라도 된다면 일반인들까지 사이트 안정성을 의심하는 치명적인 사태로 까지 발전합니다. 남의 데이터에 접근할 수 있게 만든 로그인 에라는 대규모 손해배상 소송의 표적이 되기도 했습니다.

그리하여 서버를 운영하는 사람들이 철칙으로 삼는 모토는 "잘 도는 것은 절대로 건들지 않는다"입니다. 사용자들이 불평하지 않을 정도의 일정 수준의 응답속도가 보장되는 상태로 안정화되고 나면 그 시스템은 봉인됩니다. 보안문제, 치명적 버그 개선 또는 폭발적인 사용자 증가 등이 있지 않는 한 그 서비스는 최소한의 유지 관리 상태에 돌입하게 됩니다.


안정화된 시스템: 동일 하드웨어로 잘 셋업된 형태, 네트웍 케이블도 가지런히 정리되어 문제 있는 부분을 즉각적으로 파악할 수 있습니다. 차후에 전혀 손댈 일이 없을 것이라고 생각해서 케이블타이까지 사용하여 고정시켜 버렸습니다.


시간이 지나고 서버가 고성능화되면서 기존의 서버는 점차 구형이 됩니다. 공간을 많이 차지하고 전원도 많이 먹으면서 성능도 좋지 않습니다. 서버 판매 업자들이 보기에는 기존의 서버를 신형으로 교체하면 속도도 빨라지고 서버 개수도 줄일 수 있습니다. 이런 부분을 마케팅 포인트로 잡고 접근하지만 대부분 별 성과를 올리지 못합니다.

주기적으로 해야 하는 야간 관리 작업에 바빠 이런 시스템 재구축을 위한 인력을 뺄 수가 없습니다. 시스템 개편에 필요한 서비스 구조 조정을 해 줄 프로그래머들은 새 서비스 개발에 투입되어 시간을 내지 못합니다. 만약 처음 작업했던 프로그래머가 소스코드를 잊어 버렸다면 개편 작업은 거의 불가능한 일이 됩니다. 이런 난관을 극복하더라도 적절한 부가 작업을 해 주어야 할 서비스 운영팀이 특별한 필요성을 느끼지 못할 뿐 아니라 일거리만 늘어난다고 생각하기 때문에 웬만해서는 도와주려 하지 않습니다.

시스템 교체가 정말로 필요하며 그에 따라 눈에 띄는 비용 절감 효과와 성능 개선이 이루어짐을 증명한다고 하더라도 혹시라도 있을 지 모를 서비스 불안정까지 보증하지 않는 한 회사 내에서 쉽게 허락을 받기는 힘든 일입니다. 불굴의 의지를 가지고 있는 야전사령관 타입의 엔지니어라면 성능 개선 작업에 목숨을 걸 수도 있겠지만 대부분은 이런 상황을 타개하지 못하고 다른 할 일이 쌓여 있기 때문에 결국 그냥 현 상태를 방치하게 됩니다. "잘 도는 거, 괜히 건드렸다가 덤터기 쓸 필요는 없"으니까요.

그리하여 시스템 사용 기간이 길어질수록 서버들은 제 각각의 하드웨어와 여러 버전의 운영체계, 서로 다른 프로그래밍 언어로 복잡하게 엮겨 버리기 때문에 한 부분을 간단히 고성능화 시키는 작업은 또 다른 비싼 대가를 치를지도 모를 위험한 작업이 되어갑니다. 좀 더 지나면 전체 시스템을 이해하는 사람이 한 명도 없는 사태까지 가게 됩니다. 결국 새로운 하드웨어와 소프트웨어 그리고 솔루션의 도입은 대부분 새 서비스에나 적용하게 됩니다.

6.3.4 서버에게 요구되는 것: 관리상의 안정성


안정성의 또 다른 면은 관리상의 문제와 연관이 있습니다. 대규모 하드웨어를 구축해 놓은 업체들은 가능하면 검증된 제품을 선택하는 경향이 있습니다. 그러나 그들도 처음부터 이런 보수적인 태도를 가졌던 것은 아닙니다. 언제나 그렇듯 알게 될수록 그럴 수 밖에 없는 사정이 있는 법이지요. 그 사정이란 어떤 것일까요?

저성능 서버: 왼쪽의 세로로 서 있는 서버들, PC 보드를 조립해서 만든 극히 저가이면서 공간도 적게 차지하는 제품들입니다. 가격만을 따지는 저가 호스팅 서비스에 투입됩니다.


저렴하고 고성능이지만 신뢰성이 떨어지는 하드웨어/소프트웨어는 주로 소규모 업체에서 도입합니다. 서버라고 인증 받은 하드웨어는 상대적으로 비싸기 때문에 새로운 서비스를 시작하는 가난한 업체는 용감하게 PC를 그냥 쓰기도 합니다. 사실 PC가 오히려 더 싸고 빠른 경우가 많습니다. 최신 기능은 PC에 먼저 도입되니까요. 신기술은 PC를 대상으로 오랜 베타테스트를 거쳐 안정성을 인정 받고 나서야 서버에 채택됩니다. 가격과 성능이 중요하고 문제가 생기면 직접 고쳐 쓸 자세가 되어 있는 소규모 업체 입장에서는 쓸데없이 비싸기만 할 뿐인 서버보다는 PC가 더 훌륭해 보입니다.

그러나 운영이 계속될수록 이런 선택은 추가 비용을 요구한다는 것을 알게 됩니다. 서버 수가 10대를 넘어가고 100대를 넘어 1000대 이상이 되면 서버 관리가 악몽이 됩니다. 불량률이 1%라면 항상 1000대의 서버 중에서 10대는 고장 나 있다는 뜻입니다. 한 두 서버 일 때는 문제가 없지만 많아지면 그 확률만큼 반드시 문제가 발생합니다.


포탈의 서버들: 수 많은 서비스가 동작 중인 한 국내 포탈의 서버실 일부, 모든 부분이 완벽히 정리되어 아름답기까지 합니다. 이 정도 서버수가 되면 정상 서비스가 이루어지도록 관리하는 데만도 많은 인력과 비용이 필요하게 됩니다.


서버가 만대를 넘어가면 고민은 새로운 차원이 됩니다. 운영체계 초기 설정 값을 바꾸는 것으로 성능이 5% 증가한다는 사실을 알았습니다. 그러나 이것만을 위해서 만 대의 서버를 고칠 시간과 인력을 만들 수가 없습니다. 한 가지 개선은 다른 한가지 부작용도 발생하기 때문에 함부로 한꺼번에 모두 바꿀 수도 없습니다. 레퍼런스가 중요해지고 어떤 것을 바꿀 때 부작용이 최소한이라는 보증을 구하게 됩니다.

보통 때는 잘 돌지만 특정 상황에서 문제가 일어나는 제품은 이제 쓸 수가 없습니다. 그런 제품 처리에 들일 시간 비용이 너무 크기 때문입니다. 혹시라도 있을 지 모를 A/S 문제 때문에 생산업체의 건실성을 확인하게 됩니다. 한 번 팔고 망해버린 업체들에게서 산 하드웨어가 구석에 쳐 박혀 애물단지가 되고 있습니다. 조금 더 비싸고 성능이 약간 떨어지더라도 믿을 수 있는 업체의 제품을 선택해야 합니다. 한 두 업체에서만 생산하는 특별한 형태의 제품보다는 여러 업체에서 생산하는 보편적인 제품이 나중에 문제가 생길 가능성이 적다는 것도 알게 됩니다.

그리하여 서버 시장은 최첨단의 비즈니스임에도 불구하고 오히려 가장 보수적인 시장이 되었습니다. 새로운 장비를 도입 할 때는 BMT(benchmark test)를 필수적으로 거치고 업체 선정에도 신중을 기합니다. A/S를 위한 재고 수급이 원활히 될 수 있는지도 체크해야 합니다. 가능하면 예비 장비를 미리 구입해 놓기도 합니다. 프로그래머들을 위해서 동일 플랫폼, 동일 운영체계 버전으로 맞추어 주기 위해 도입주기도 가능한 길게 정하고 웬만하면 중간에 계획을 바꾸지 않습니다. 성공 사례가 확실히 드러나기 전에는 새로운 하드웨어에 관심을 가지지 않습니다.

안정화된 세상은 변화가 없습니다. 고비용 저효율인 곳에서 새로움이 나타나지도 않습니다. 가진 돈 없이 아이디어만으로 승부하려는 여러분은 값싼 하드웨어를 가지고 시작해도 됩니다. 아니 차라리 한 달에 만 원짜리 웹호스팅이 더 나은 선택일지도 모릅니다. 그러나 결국 여러분들도 사이트가 커감에 따라 이런 신중한 태도가 필요함을 인정하게 될 것입니다. 오늘 고루한 그들을 비웃더라도 내일 그들에게 매몰되지는 마시기를…… 언젠가 젖비린내 나는 젊은이들이 변화를 두려워하는 바로 당신을 비웃는 날이 올 수 있으니까요.


다음 아고라: 다시 1등이 되고 싶은 포탈 사이트, 변화를 꿈꾸면 선구자가 된다. 새로움에 대한 갈망이 깊어진다. 그래서 선구적으로 SSD를 사용할 수 있었다. 절벽을 뛰어 넘어 건너편 줄을 잡을 수 있을까? 다음은 국민에게 복종하는 길을 선택함으로써 새로운 가능성을 어렵게 열었으나 이제 스스로 그 문을 다시 닫으려 하고 있다.


6.3.5 극단적 안정성

합당한 보수성은 꼭 필요한 미덕입니다. 그러나 이런 보수성을 극단적으로 끌고 가는 곳이 있습니다. 바로 금융권과 관공서입니다. 그들이 우선시 하는 것은 "절대로 문제가 생기지 않는 것"입니다. 고객의 돈을 다루는 곳이기 때문에 일견 이해하지 못할 바는 아닙니다. 그러나 아무리 노력해도 시스템은 문제가 생길 가능성을 가지고 있고 또 결국 문제가 생깁니다. 메인 메모리의 데이터를 넘겨 받아 처리할 수 있는 실시간 장애복구 솔루션을 갖추고 이중화 삼중화의 안전장치를 추가하더라도 완벽하지 않습니다. 어떻게 하더라도 문제는 생깁니다. 그들은 이런 경우에도 통할 해결책을 원합니다. 특히 관공서는 문제에 따른 책임을 면할 완벽한 면책을 요구합니다. 어떤 경우에도 그들의 직위가 위협받아서는 안됩니다.

그리하여 이런 시장은 모든 제품에 대해 사회적으로 인정받을 수 있는 브랜드까지 요구하게 되었습니다. 시스템은 IXX, 스토리지는 EXX, 데이터베이스는 OXXXXX, 백업은 VXXXXXX, 프로젝트 책임 업체는 SXX로 구성됩니다. 각 분야의 1위 업체들만 선정합니다. 이들이 구축한 시스템이 문제가 생겼다는 것은 세상 어떤 업체가 했더라도 그 문제를 피해가지 못했을 거라는 뜻이니까요.

물론 그들이 기술적 안정성만을 추구한 것은 아닙니다. 어떻게 보면 한몫 챙기면서도 문제가 없을 업체를 선정했다는 것이 더 정확한 표현일지도 모르겠습니다. 안심할 수 있는 업체의 솔루션을 한 밤중에 구입 결정을 내린다는 뜻입니다. 브랜드 제품을 가진 업체로부터 대접받는 것은 전혀 문제가 없습니다. 업체는 상대적으로 저렴한 비용을 지출하고 대신 엄청난 이익을 챙깁니다. 물론 그 대가로 어떤 경우에도 자신들의 안위는 보장받을 수 있는 면죄부를 얻었습니다. 세금과 고객의 돈은 낭비되지만 관계된 모든 사람들이 행복한 은밀한 거래가 완성됩니다.

그러나 이런 정책은 시스템 생태계의 다양화를 파괴하는 결과를 가져왔습니다. 초고가 시스템 도입 비율이 세상에서 가장 높으며, 리눅스와 같은 비주류 운영체계를 무시하는 정책으로 일관하는 나라입니다. 전자결제를 한 업체의 운영체계와 한가지 솔루션으로 제한함으로써 한 개의 바이러스가 나라 전체의 시스템을 다운시키는 사태를 불러왔습니다. 우리가 해바라기 했던 마이크로소프트가 자신의 결정을 바꿈으로써 나라 전체의 전자결제 시스템이 붕괴될 날이 다가오고 있음에도 아무런 대책을 내놓지 못하고 있는 실정입니다. 다름을 인정하지 못하고 주류만을 대접하는 극우적 사회 분위기가 IT에까지 악영향을 끼치고 있습니다.

비주류들: 모질라, 리눅스, 세벌식 등등, 한국에서 이런 것에 관심을 가지는 것은 패배의 길을 선택하는 것입니다. 윈도우와 익스플로러, 두벌식만 득세하는 세상, 남들과 다른 것은 이상한 것이 되는 사회, 왜 하필! 그냥 남들 처럼! 이런 모난 돌에 떨어지는 정수리가 너무 아파 사람들은 더 이상 다양함을 이야기하지 않습니다.


친일파의 나라, 미국의 식민지에서 이런 현실을 받아들이지 못하고 엔지니어적인 주장을 펼치는 것이 순진해 보일 수 있습니다. 고부가가치 시장을 외면하는 것이 못난 짓으로 보일지도 모르겠습니다. 하지만 구글이 전 세계의 데이터를 모두 쓸어 담겠다는 야망을 실현하는 것을 지켜보아야 하는 변방의 한 엔지니어 입장에서는 기술적 우위 보다는 다른 요소들을 더 중요하게 생각하는 타락한 사회 분위기에 안타까움을 느낄 수 밖에 없습니다.

사람들의 목소리에 귀 기울이는 업체가 표적 세무조사라는 탄압을 받는 현실, 검열을 받아들이고 편향된 정치 집단에 복종해야 성공을 보장받을 수 있는 인터넷 비즈니스, 실시간 검색어에만 관심 가지는 세태에 편승해 속도나 높이고 경비도 절약하겠다고 기껏 모아 놓은 2000년 이전의 데이터를 지워 버리는 만행을 일삼고 있는 포탈의 현실을 볼 때, IT 강국이라는 한국의 미래가 정말로 밝을 지 의문스러울 뿐입니다.


역사적인 장소: 오랜 세월에 걸쳐 형성된 유흥지, 대궐에서 퇴청한 관리들이 남산골 집으로 가기 전, 이 곳에서 시전 상인들의 접대를 받았다. 가마로 이동하던 시절의 가장 합리적인 중간 지대. 그 옛날 한명회는 한복 곱게 차려 입은 기생들과 즐거웠고 오늘 만수는 세련된 아가씨들이 기다리는 강남으로 달려간다.

우리는 이런 핸디캡을 안고서 짧은 순간의 민주주의를 통해 기적적으로 세계적인 IT 선진국이 되었습니다. 민주주의가 성숙하는 만큼만 IT도 성숙할 수 있을 것입니다. 전두환이 공부해야 할 젊음들의 아까운 시간을 길거리에서 낭비하게 만들었듯, 또다시 정치가 인터넷 민주주의의 싹을 자르려고 하고 있습니다. 그러나 세상이 아무리 부패해도 결코 굴복하지 않겠다는 투지를 잃어서는 안됩니다. 엔지니어들이여, 길들여지지 않기를! 비이성적인 현실에 편승하지 않고 세상을 구할 거대한 꿈을 꾸기를!


검열: 동물이 썩으면 악취가 나지만 인간이 썩으면 향기가 난다. 현실에 저항하라! 새로운 꿈을 꾸라! 그것이 빨갱이로 매도 당하고 고졸이라고 무시당했던 김대중과 노무현이 우리에게 온몸으로 가르쳐 준 것이다!
이미지 출처: http://blog.naver.com/lwjkys/150033504869


레이드 설명


(일반인을 위한 간단한 내용입니다. 아시는 분은 넘어 가시면 되고 좀 더 알고 싶으신 분은 전문적으로 레이드에 대해서 설명한 글을 찾아 읽어 주시기 바랍니다)

레이드-0 : ABCD라는 데이터가 각각의 하드디스크에 나뉘어져 들어갑니다. 데이터를 읽고 쓸 때 4개의 하드디스크가 독립적으로 움직이므로 높은 성능을 얻을 수 있습니다. 그러나 이 스트라이핑 방식은 ABCD가 모두 완전할 때에만 데이터를 쓸 수 있으므로 한 개의 하드디스크라도 문제가 생기면 전체 데이터를 모두 잃을 수 있습니다. 원본이 따로 있는 읽기 전용, 혹은 같은 데이터를 가진 서버가 2대 이상일 때만 이 구성을 쓸 수 있습니다.

레이드-1: AB라는 데이터가 각각 AABB 형태로 저장됩니다. 이중화, 미러링이라고 불리며 하드디스크가 고장 나도 데이터는 살아 있습니다. 속도는 1/2로 떨어지지만 데이터의 안정성은 보장됩니다. 이 구성은 A, B 각각에 대해서 미러링이지만 AB 전체를 보면 레이드-0(스트라이핑)이기 때문에 1+0 혹은 10이라고 불리기도 합니다.

레이드-5,6: 레이드-1은 데이터의 2배 이상의 하드디스크를 써야 하는 문제가 있습니다. 하드디스크를 효율적으로 쓰기 위해서 ABC+P(패리티) 방법이 고안되었습니다. 레이드-5에서는 A,B,C,P 중의 하나의 하드디스크가 고장 나더라도 나머지 세 하드디스크로 고장 난 부분을 살려낼 수 있습니다. 패리티는 분산되며(레이드-5) 좀더 안정성을 원하면 2중 패리티(레이드-6)를 쓰기도 합니다. 레이드-1은 안정성을 위해서 1/2 만큼의 하드디스크가 낭비되지만 4개의 하드디스크를 레이드-5로 사용할 때 1/4 만큼의 하드디스크가 낭비되며 8개의 하드디스크를 사용한다면 1/8 만큼의 하드디스크만 낭비됩니다.

레이드5+1: 레이드-5는 2개의 하드디스크가, 레이드-6는 3개의 하드디스크가 고장 나면 데이터를 잃게 됩니다. 상업용 스토리지 시스템은 안정성을 위해서 레이드-5,6을 미러링 합니다. 그림에서 왼쪽 4개의 하드디스크 모두와 오른쪽의 1개의 하드디스크가 고장 나도 데이터는 문제가 없습니다.

레이드101: 레이드5,6는 패리티 처리를 위해 고성능 하드웨어가 필요하고 에러 복구 시 또 다른 에러 발생 가능성이 존재합니다. 데이터 안전을 위한 가장 뛰어난 방법은 한 개의 스토리지를 미러링(1+0)으로 사용하고 동일한 스토리지를 서버가 다시 미러링 하는 것입니다. 서버는 한 개의 데이터를 두 스토리지 장치로 보내고 각각의 스토리지는 내부적으로 다시 미러링을 합니다. 하드디스크가 많이 낭비되기는 하지만 데이터가 4개의 하드디스크로 분산 저장되어 서버, 스토리지 장치, 하드디스크의 에러에도 데이터의 안정성은 보장됩니다.


6.4 서버 스토리지

서버 스토리지를 쓰는 여러 가지 방법: 1개만 사용하는 경우, 2개를 미러링 모드로 쓰는 경우, 4개를 스트라이핑하는 경우, 또는 그 이상의 하드로 성능을 높이는 경우등 다양한 사용법이 있습니다.


호스팅 서비스에는 한 개의 서버에 한 개의 하드디스크를 장착해 사용 합니다. 백업을 한다면 동일한 하드디스크를 추가해서 2개를 쓰게 됩니다. 2개를 함께 장착해서 실시간 백업을 하거나 일정 주기로 백업한 후에 따로 빼놓기도 하고 아예 레이드-1으로 이중화해도 됩니다.

검색 서버에서는 스토리지를 주로 읽기 전용으로 사용하고, 성능을 위해서 서버 단위로 분산을 하기 때문에 동일 데이터가 여러 서버의 하드디스크에 중복되어 저장되어 있습니다. 포탈의 첫 페이지 서버가 이런 방식으로 사용됩니다. 이 때는 백업조차도 필요 없습니다. 한꺼번에 몇 대의 서버가 죽거나 하드디스크가 망가져도 아무 문제가 없으니까요.

속도가 필요하다면 레이드-0로 사용할 수도 있습니다. 여러 하드디스크를 묶어서 대역폭을 늘이면 성능 증가를 얻을 수 있습니다. 이렇게 해도 불충분하다면 데이터를 쪼개서 여러 서버에 분산해서 저장합니다. 한 서버가 처리할 데이터량을 적게 유지함으로써 응답 속도를 빠르게 할 수 있으니까요. 작업을 나누어 준 서버는 이들이 처리한 결과를 모아서 전달합니다. 데이터가 많아질수록 이런 식의 단계가 증가하여 점점 시스템 구성이 복잡해집니다.

한명 한명의 사용자 데이터가 따로 따로 저장되는 웹메일 시스템은 안정성이 중요합니다. 레이드-1이나 레이드-5 혹은 레이드-6가 사용됩니다. 레이드도 잘못될 수 있기 때문에 이중 미러링을 하는 곳도 있으며 여기에 더해서 백업까지 하기도 합니다.

인터넷이 활성화되면서 점점 더 많은 데이터가 인터넷에 쌓이고 있습니다. 개인에게 허용된 메일 용량이 5G를 넘기고 블로그에는 원하는 만큼의 자료와 이미지, 동영상 데이터를 올릴 수 있습니다. 블루레이 디스크 한 장이 50G가 넘어 가고 동급의 해상도를 가진 HDTV 방송이 끝없이 컨텐츠를 생산하고 있습니다. IPTV는 전국 각지에 설치해 놓은 수많은 파일 서버마다 똑 같은 복사본을 보관해야 합니다. 업계에서는 블루레이를 끝으로 미디어 판매는 끝나고 다운로드 방식으로 전환할 것이라고 예측하고 있습니다. 클라우드 컴퓨팅이 아니더라도 이미 생활의 일부가 된 인터넷에는 끝없이 스토리지가 추가되어야 합니다.

서버가 많아지면서 스토리지 추상화가 필요해졌습니다. 여러 서버가 같은 데이터를 공유하려는 NAS(Network Attached Storage), 스토리지 풀을 필요에 따라 잘라서 쓰도록 해주겠다고 나선 SAN(Storage Area Network)을 거쳐 두 방식의 장점을 합친 iSCSI까지 등장했습니다. 이런 하드웨어를 바탕으로 스토리지 가상화를 통해 오버레이, 온디멘드 스토리지 시스템을 구축해 나가고 있습니다.


스토리지 가상화: 최초로 가상화 제품을 판매하기 시작한 3PAR. 스토리지 어레이 수준에서 가상화를 제공하며 랙 형태의 스토리지를 필요에 따라 늘일 수 있습니다. 경쟁 업체들은 이 놀라운 제품을 본 후에 서둘러 그 개념을 베껴 제품을 발표했습니다. 잘만 했으면 세상을 휘어 잡을 수도 있었을 안타까운 회사입니다.



스토리지 가상화: 가상 주소에 사용자 데이터가 추가되면 그에 따라 스토리지를 추가합니다. 스토리지 내부는 미러링, 스트라이핑 등 데이터의 성격에 따라 여러 가지 방식으로 운영될 수 있습니다. 호스트에 얽매이지 않는 스토리지 풀은 많은 장점이 있습니다.


시스템 전체에 64bit 주소만큼의 스토리지(18엑사 바이트, 18,000,000테라바이트, 18,000,000,000기가바이트)가 있다고 선언합니다. 실제로는 18,000테라 정도의 하드디스크만 준비합니다. 레이드-1혹은 레이드-5, 백업, 빈번하게 사용되는 데이터를 분산 시키기 등을 감안하면 약 30,000개의 1테라 바이트 하드디스크가 필요합니다. 이 양을 기준으로 1억(100,000,000)명의 사용자에게 5G씩의 스토리지를 할당합니다. 사용자들이 실제로 5G를 풀로 채운다면 500,000테라 바이트가 필요하지만 회원 중에서 한 달에 한 번이라도 로그인하는 회원은 30%가 되지 않으며 그들도 대부분 할당된 용량의 10% 미만으로 사용하므로 여유가 있습니다. 회원이 늘어나거나 사용량이 많아지면 그 때 스토리지를 추가하면 됩니다.

소규모 서버를 운영할 때는 서버에 직접 물려 있는 스토리지만으로 충분하지만 대규모 서비스를 하기 시작하면서 필연적으로 이런 추상화 레이어가 필요합니다. 각각의 데이터를 스토리지 클라우드 내에서 자동으로 이중화, 삼중화 하여 안정성을 얻을 수 있고 데이터를 여러 스토리지에 분산함으로써 처리 속도를 끌어 올릴 수 있습니다. 개별 하드디스크 장애가 전체 시스템 운영에 문제를 일으키지 않게 되고 하드웨어 팀은 상위 서비스에 신경 쓰지 않고 스토리지 추가, 개편이 가능합니다. 이상이 생길 가능성이 보이는 하드웨어를 미리 교체하는 예측 정비, 보증 사용 기간이 지난 하드웨어를 바꾸는 예방 정비도 가능하게 된다면 이제 서비스 자체에 집중할 수 있습니다.

6.5 스토리지 클라우드의 미래: 구글

구글은 거대 규모의 서비스를 위해서 빅테이블이라는 대규모 데이터베이스를 운영하고 있습니다. 스토리지 가상화를 통한 물리 스토리지와 논리 스토리지 분리 정책이 주요한 목표일 것입니다. 구글의 서버들은 필요한 자원을 구글 스토리지 클라우드에서 필요할 때 필요한 만큼을 할당 받아 움직입니다. AS/400의 싱글 레벨 스토어처럼 가상의 거대한 스토리지를 구성하고 필요에 따라 시스템을 구축해서 붙여 주면 됩니다. SaaS(Storage as a Service)로서의 필요성은 외부에 서비스하려는 의도보다는 그들의 서비스와 스토리지 사이의 연관 관계를 설명하기 위한 개념적인 측면이 더 크다고 생각됩니다.


IBM AS/400과 그 후손들: 테크놀러지 독립적인 머신 인터페이스를 통해 하드웨어 변경에도 중단 없이 동작 가능한 중간코드 생성 시스템을 자바에 앞서 구현했고, 메모리와 파일 시스템의 구분이 없는 싱글 레벨 스토어로 완전한 스토리지 가상화를 이루었으며, 운영체계에 완벽한 관계형 데이터베이스를 내장하고, 싱글 버츄얼 메모리 방식으로 타스크 스위칭 효율을 경이적으로 높였으며, 재사용 없는 메모리 관리로 오브젝트가 영구적으로 존재할 수 있는 퍼시스턴스 가상 메모리도 제공했습니다. AS/400은 아이비엠 미드레인지 서버의 대명사로 베스트 셀러 기종이었습니다. I-series, System-I로 바뀌어 오다 최근에는 i5/OS로 알려진 IBM I 운영체계로 존재하면 POWER 시스템 위에서 동작하는 여러 운영체계 중의 하나가 되었습니다. 이렇게 컴퓨터 역사를 뒤돌아보면 모든 것은 반복되며 그 선행 기술은 이미 IBM님께서 이미 다 생각해 놓으셨다는 것을 알게 됩니다.

이미지 출처: http://www.mantatech.com/manta/images/systemi.gif


클라우드 컴퓨팅이라는 개념은 구글에서 시작되었습니다. 그들은 구글닥스, 캘린더등으로 사용자가 직접 자신들의 데이터를 웹에 올려 놓고 컴퓨팅 파워까지 서버 클라우드의 자원을 사용할 것이라고 이야기 하고 있습니다. 그러나 메일과 같이 그 특성상 인터넷이 연결된 상태에서만 의미가 있는 일부 서비스를 제외하고는 이런 주장이 그들의 말대로 실현될 가능성은 별로 없어 보입니다. 그러나 그들이 주창한 부분 중에서 스토리지 클라우드는 관심 있게 지켜볼 필요가 있습니다. 스토리지 클라우드는 구글의 철학을 구현해줄 핵심 아이디어이기 때문입니다.


구글은 세상의 모든 데이터를 자신의 스토리지에 확보하고 싶어 합니다. 여태까지 검색 업체들은 데이터량을 줄이기 위해서 인덱스 자료를 추출하고 나면 가져온 원본 데이터는 버렸습니다. 웹문서 원본까지 가지고 있기에는 필요한 스토리지 부담이 너무 컸기 때문입니다. 그러나 구글은 세계의 모든 웹 데이터를 진작부터 그들의 스토리지에 조용히 담아 왔습니다. 전체 웹데이터뿐만 아니라 각각 웹사이트의 히스토리까지 저장되어 있습니다. 그들은 효율적인 스토리지 활용을 통한 비용 절감보다는 데이터 확보를 더 중요한 비즈니스로 생각해 왔습니다.

그들의 관심은 인터넷 데이터뿐만이 아닙니다. 아직도 오프라인으로 남아 있는 전세계 도서관의 모든 문서를 스캔하고 있습니다. 이를 통해서 인류가 남긴 모든 정보를 온라인화 해서 구글이 가지게 됩니다. 지난 모든 신문의 뉴스와 방송되었던 모든 영상 데이터까지 모으고 있으며 유튜브를 통해 사람들이 직접 만든 영상물도 선점하고 있습니다.


구글의 SaaS: 웹에 여러분의 데이타를 올리고 싶으신가요? 걱정 마십시오. 웹호스팅을 무료로 해드리겠습니다. 회사 웹페이지도 구글 안에 만들 수 있습니다. 앞으로 데이터베이스까지 사용할 수 있도록 해서 서버 호스팅도 필요 없게 해드리겠습니다. 오피스 프로그램도 그냥 드립니다. 원하시면 구글 서버에서 제공되는 SaaS를 통해 사용하셔도 됩니다. 사진도 원하시는 만큼 올리고 일정 관리까지도 다 구글에서 해결하시기 바랍니다.

사용자들이 자신들의 데이터를 자발적으로 구글에 올려 놓게 하기 위해서 여러 가지 서비스를 만들고 스토리지를 제공하며 성능 좋은 무료 소프트웨어까지 배포해 왔습니다. 또한 거대 규모의 서버 팜을 통해서 그 어떤 업체보다 빠르고 정확하게 정보를 제공한다는 명성을 쌓아 왔습니다. 타 업체는 따라 오지도 못할 수준의 개인 메일 용량을 제공하고 메일 사용에 아무런 제한을 두지 않음으로써 순식간에 최고의 웹메일 사이트 중 하나가 되었습니다.


구글 지메일: 메일을 일일이 지우려 하지 마십시오. 그냥 다 저장해도 될 만큼 충분한 스토리지를 드리겠습니다. 항목을 만들어 분류하는 귀찮은 작업을 하지 마십시오. 저희들의 뛰어난 검색엔진을 사용하시면 쉽게 메일을 찾을 수 있습니다. 스팸으로 인해서 고생하시지 마십시오. 일억 명이 넘는 사용자들의 반응에 따라 스팸이 즉시 처리되기 때문에 그 어떤 메일 사이트보다 깨끗한 메일함을 보장해 드립니다.

메일 포탈들이 자신들의 메일만 쓰도록 하기 위해서 메일을 받기만 할 뿐 가져가지 못하게 하는 폐쇄적 운영으로 점유율 싸움을 하고 있는 동안 지메일은 사용자들이 원하는 모든 것을 아낌없이 제공해 주는 정책을 쓰고 있습니다. 저장용량은 현재 7.2GB가 제공되며 조금씩 자동으로 늘고 있습니다. POP과 IMAP도 무료로 제공하기 때문에 PC에서 메일을 처리할 수 있습니다. 보내는 사람도 마음대로 정할 수 있습니다. 지메일을 사용하면서도 지메일이 전혀 드러나지 않게 사용할 수 있기 때문에 업무 메일, 개인 메일을 따로 보내기 위해 각각의 메일 시스템에 로그인할 필요가 없습니다.

개인 메일 뿐만 아니라 회사 메일로 지메일을 쓰겠다고 하면 회사원 100명까지 무료로 쓰도록 해 줍니다. 지메일을 a@gmail.com 형식이 아니라 a@company.com 형태로 쓸 수 있습니다. 각각의 사용자는 일반 사용자와 같은 용량을 따로 따로 할당 받습니다. 즉 한 회사 직원 100명에게 700G의 스토리지 할당이 가능하다는 말입니다.

지메일은 이렇게 메일 시스템이 해주어야 할 기능을 모두 무료로 제공하고 있습니다. 사용자 충성심을 얻기 위해서는 일부 기능을 제한하고 등급제를 통해 사용 빈도를 늘여야 한다는 일반적인 믿음과 달리 사용에 있어서 아무런 제한이 없는 이런 정책이 오히려 사용자들을 더욱 더 끌어들이는 요인으로 작용합니다.

그들은 구글어스를 통해 지구와 우주까지 선점했습니다. 앞으로 인공위성으로 찍은 사진의 제한에서 벗어나 저공비행을 통한 좀 더 정밀한 데이터를 확보하고, 실시간까지 가능하게 하며 궁극적으로 3차원 영상까지 제공하여 지구 전체를 데이터화 하려고 하고 있습니다.


구글어스: 2차원 영상에 추가하여 3차원 모델링을 통해 입체 영상을 제공해드립니다. 스트리트뷰를 통해 그 장소에 가 본듯한 가상체험을 하실 수도 있습니다. 여러분들이 찍은 사진을 구글어스 상의 그 장소에 올려서 공유할 수도 있습니다. 다른 어플리케이션에서 직접 구글어스를 활용할 수 있는 API도 무료로 공개해 드립니다. KML(Keyhole Markup Language)을 활용하면 여러분의 작업을 사람들에게 좀 더 쉽게 이해시킬 수 있습니다.

구글어스를 통해 나체 사진이 공개되어 전세계적으로 망신을 당한 사람도 나타나고 구글어스의 광고 효과를 위해 거대한 홍보 이미지를 설치하기도 합니다. 내가 한 작업이 전 세계 사람들의 관심을 받을 수 있다는 점 때문에 사용자들은 열성적으로 구글어스를 풍성한 자료 창고로 만들고 있습니다. 네비게이션과의 연동, 구글어스를 통한 주소 찾기, 위성에서 볼 수 있는 거대 광고판등 지구 전체가 수 많은 비즈니스를 위한 장이 되고 있습니다.


애드센스로 벌어들인 100만 달러: 구글은 애드센스를 통해 구글 외부의 웹운영자들이 스스로 구글의 검색 사용률을 높이도록 유도하고 있습니다. 구글은 개인들이 홈페이지에 붙인 구글 광고 영역을 통해 발생한 이익을 나누어 줍니다. 광고수익을 높이기 위해서는 방문자를 늘여야 하므로 홈페이지를 열성적으로 운영하게 되고 그 결과는 더욱 더 구글에게 이익이 되는 구글 동맹이 강화됩니다.
이미지 출처: www.shoemoney.com/images/hiresaugust.jpg


시작은 비슷했으나 근본 철학이 달랐기 때문에 엄청난 차이가 나기 시작했습니다. 구글에게 다른 업체들은 이런 근본 철학에서 경쟁자들이 아니었습니다. 마이크로소프트는 일개 운영체계 공급 회사이며 인텔은 CPU란 부품 생산업체일 뿐입니다. 델, HP는 언제라도 교체 가능한 서버 판매 업체에 불과합니다. 야후는 여러 포탈 중 하나일 뿐입니다. 검색 데이터량과 속도, 정확성에서 비교가 되지 않습니다. 더구나 그들은 데이터 모으기가 얼마나 중요한 것인지도 모르고 있었습니다.

구글은 인터넷 접속이 원활하도록 도시 곳곳에 무선랜 액세스 포인트를 깔아 주고 있으며, 후진국을 위해서 100달러 노트북 제작을 후원하고, 그 지역의 인터넷 인프라 구축을 위해 인공 위성까지 쏘아 올리고 있습니다. 독자적으로 운영체계를 가리지 않는 웹 브라우저 크롬을 개발하고 오픈 소스를 사용한 핸드폰까지 발표함으로써 구글은 인터넷 진입점을 모두 장악했습니다.

드디어 구글의 고민은 차원을 달리하게 됩니다. 세계평화에 이바지하고 환경을 지키며 어린이를 보살피고 가난한 나라를 돕겠다고 나섰습니다. 이 정도 뻥을 치는 것은 사기에 가까운 것이지만 사람들은 그들의 말을 진지하게 받아들이고 있습니다. 인류를 구할 아이디어에 대규모 자금을 지원하겠다는 최근의 발표를 보면 이미 구글은 경쟁의 승리를 확신하고 있는 것 같습니다.

모든 경쟁자를 물리쳐 왔던 마이크로소프트는 이제 밤잠을 설치며 두려움에 떨고 있습니다. 사용자 데이터를 볼모로 인터넷을 장악하려는 구글의 의도를 너무 늦게 알아채고 말았습니다. 구글에 맞서기 위한 타이밍을 놓친 것입니다. 그들이 아무리 야후를 인수하고 서비스 개편에 나서더라도 이미 늦었습니다. 사용자 데이터를 모으겠다는 철학은 이미 구글이 선점했기 때문입니다.


구글: 이 단순한 인터페이스 뒤에는 전 세계의 데이터를 장악하려는 거대한 의지가 숨겨져 있습니다. 빈 수레가 요란하다는 말은 인터넷에서도 진실입니다. 첫 페이지에 수많은 데이터를 노출시켜 정보가치를 떨어뜨림으로써 힘을 잃고 있는 포탈들과 달리 극히 단순한 인터페이스의 구글은 점점 인터넷에서 힘을 얻어가고 있습니다.


구글을 보고 있으면 엔지니어가 이룰 수 있는 성공의 정점을 보는 듯합니다. 이런 가능성을 믿지 못하고 세상의 불합리에 매몰되어 버린 제가 부끄럽습니다. 검색과 리눅스란 공통 주제로 그들과 경쟁했었던 적도 있었지만 변명일까요? 변방의 엔지니어로서 거대해질 수 없을 것이라고 지레 겁먹었던 것 같습니다. 오늘도 현실과 타협한 포탈들의 행태에서 근본 철학이 보이지 않습니다. 그 차이가 결국 미래의 승자를 결정지을 것입니다. 중요한 것은 현재의 점유율이 아니고 세상을 변화 시킬 수 있는 경향성이니까요.

악마가 되지 말자(Don't be evil)라는 구호를 제창하는 구글의 모습은 어쩔 수 없이 싸워야 하더라도 결코 현실에 매몰되지는 않겠다는 자기 결의로 들립니다. 점차 들려오기 시작하는 구글의 정보 독점에 대한 비난에도 불구하고 구글 편에 서고 싶은 것은 이런 엔지니어적인 순수함에 동화되었기 때문일 것입니다. 앞으로 그들이 어떻게 변해갈지라도 여태까지 그들이 품고 있었던 철학은 옳았다고 믿습니다. 그들은 마케팅 전쟁이나 비열한 책략이 아닌 엔지니어링적인 탁월성으로도 세상에서 승리할 수 있다는 것을 증명해주고 있습니다. 이 세상에 없는 것, 새로운 것, 그러면서도 정의로운 것에 열광해 온 해커들의 꿈을 현실에서 실현시킨 그들의 위대한 업적에 경의를 표합니다.

김인성.

Comments