By 에드 스테펜슨, 역 한빛리포터 2기 이상훈
3년전, Netscape나 Microsoft와 같은 회사가 웹 포탈 사업을 시작한다는 것은 기술계의 큰 뉴스였다. 방문자들이 웹에 연결할 때 주된 시작 페이지로 사용하도록 충분한 서비스를 제공하는 사이트를 만든다는 것은 꽤 많은 기술적인 이해를 요구했다. 지금은 어떤 웹마스터라도 일정수준의 재방문자를 유지하기 위한 온라인 토론, 대화방, 개인 홈페이지, 웹메일 같은 서비스를 제공할 수 있고 게다가 한 푼의 돈도 안 들이고도 그런 일을 할 수 있다.
그것은
GabTown.com에서 독특한 펄기반 애플리케이션을 제공하는 Tom Tessier가 약속하는 것이다. Tessier는 앨버타의 에드먼턴에서 소규모 사업자나 집단에게 온라인 커뮤니티 모듈을 제공하는
Gab Internet eCommunities로 알려진 애플리케이션 서비스 제공자(ASP)의 주개발자이면서 대표이기도 하다. 이 모듈들은 상용 웹사이트와 연결되어 데이터베이스 접속을 제공하며 호스팅 비용과 대역폭을 관리한다. 이러한 서비스를 받기 위해 소비자는 자신의 업체나 단체를 등록하기만 하면 될 뿐, 서비스 이용의 대가로 지불해야 할 것은 절대 없다.
무슨 꿍꿍이속이 있는 것일까? GabTown.com은 "바이러스 마케팅"의 한 형태이다. 이 기술은 Tessier가 Gab Internet의 12,000 달러짜리 맞춤형 솔루션 "powerhouse solution"이 일단의 사용자를 유혹할 것으로 기대하는 것이다. 이미 그의 회사의 호의로 자유 토론, 웹 기반 이메일, 방문자를 위한 홈페이지를 제공하는
SolStar Media와 같은 1000명 이상의 고객이 있고, Tessier 또한 평등의 기치를 높이고 있다. "우리는 오늘날의 인터넷을 만든 사람들의 손으로 힘을 싣고 있으며, 누구나 그들의 웹사이트에 포털과 같은 커뮤니티를 추가할 수 있습니다."라고 그는 주장한다.
그에 걸맞게도 GabTown.com의 바탕이 되는 애플리케이션은 전적으로 공개 소스 연합을 기반으로 만들어졌다. GabTown의 애플리케이션은 "레드햇 리눅스" 환경에서 개발되었고, 앞단의 mod_perl을 사용하는 웹 서버와 뒷단의 MySQL 데이터 베이스가 설치된 FreeBSD 서버에서 작동한다. 다양한 펄 스크립트가 그러한 애플리케이션들을 아파치 웹 서버, 센드메일 그리고 네트웍 사용자들이 공유 파일에 접근을 가능케 하는 공개 운영 체제인 NFS와 무리 없이 연동하고 있다. 또한 펄 스크립트는 센드메일이 적절한 사용자들에게 제공하는 수신 메일을 관리하는 등의 서버하에서의 프로세스 관리도 담당한다.
펄에 대한 믿음
"펄로 애플리케이션 프로그래밍을 하는 것은 뜻밖의 행운이었습니다. 순수 C 뿐만 아니라 Java도 GabTown.com을 개발하기 위해 고려되었습니다. 그러나 펄의 개발시간이 다른 두 가지 언어가 제공하는 작은 이점보다 낫다고 생각했습니다. 확신하건데 만약 Java나 C를 사용했다면, 여전히 알파 테스트 단계에 있었을 것입니다." 1999년 7월 Gab Internet을 창립하고 펄을 7년째 사용하고 있는 Tessier의 말이다.
perl.hanbitbook.co.kr 사이트를 방문하십시오. 펄에 대한 한빛과 오라일리의 도서가 정리되어 있습니다.
실제로 Tessier의 팀은 GabTown.com 애플리케이션을 단 10달만에 완성했다. 컴파일 언어보다 빠른 펄의 개발시간 뿐만 아니라
CPAN에서 얻을 수 있는 모듈의 배포를 믿은 것이다. "우리의 안정적인 사이트는 GabTown.com의 사용자 계정처럼 간단함 그 자체이고 펄에 많은 기반을 둔 강인한 기술을 바탕으로하고 있습니다"라고 Tessier는 펄에 대한 그의 믿음을 나타냈다.
자유롭고 협력적인 그의 솔루션과 함께 그의 목표는 조직, 단체들이 그들의 웹사이트에 대해서 "방문자 유동성"을 개선하고 이익을 증대하는 것이다. 현재 많은 수의 기업이 개인 홈페이지와 웹을 통한 원격 서버에 파일을 저장할 수 있도록 하는 웹 기반 저장 공간을 제공하고 있지만 GabTown.com은 사이트 사용자들이 그들의 홈페이지에 접근을 제어할 수 있게 하도록 허용하면서 웹마스터는 누가 게시판에 글을 올릴 수 있는가를 결정할 수 있는 "승인 기반(permission-based)" 사용자 시스템을 가진 고유한 시스템이라고 생각하고 있다. "사용자는 사업계획을 교환하거나 선호하는 주식에 대한 웹 페이지를 만들 수 있고 자신들이 정확하게 누가 자신의 데이터에 접근할 수 있는지를 제어할 수 있습니다"라고 Tessier는 지적한다.
GabTown.com을 이용하면 웹마스터는 사용자들에게 "재호스팅(rehost)"을 허용하거나 다른 사이트에 개인 홈페이지를 표시하게 할 수도 있다. 재호스팅은 기업고객을 최고의 영업사원으로 바꿔주는 인기있는 인터넷 전략의 하나인 바이러스 마케팅의 중요한 부분이다. GabTown.com의 무료 고객들은 Gab Internet 사이트에 링크되어 있는 "courtesy of GabTown"이라는 겸손한 메시지를 토론장이나 홈페이지 혹은 웹메일에 표시하는 조그만 값을 치룬다. GabTown.com의 무료 고객이 증가함에 따라 Gab Internet의 링크가 증가하는 것은 퍼뜨리기라는 수법의 예다. Tessier는 "마치 바이러스 같다"라고 말한다.
데이터 베이스 연동 해법
그가 지적하는 대로 물론 바이러스 마케팅을 채택하려면 순간적인 수용 증대에 대처할 수 있어야만 한다. 그것이 Tessier가 GabTown.com의 고객수의 증가에 따라 적절한 부하를 조절할 수 있는 데이터베이스인 MySQL을 선택한 이유다. GabTown.com은 수천 사용자의 메일 파일과 토론 메시지 뿐만 아니라 사용자가 Upload Helper나 윈도 98/2000 유틸리티를 이용하여 윈도 익스플로러에서 개인 홈페이지로 파일을 업로드해서 GabTown.com을 원격 네트웍 드라이브로 사용할 수 있게 하는 장기 저장 기능을 수용한다. Tessier는 사용자 데이터와 파일 위치를 데이터베이스에 저장하는 한편 실제 사용자 메일과 파일 데이터는 FreeBSD 시스템의 로우 폼 형태로 저장하도록 애플리케이션을 설계했다. 그러나 그 작업은 MySQL과 펄을 연동하는데 문제를 발생시켰다.
"여러분이 웹 서버에서 웹 브라우저로 데이터를 보내거나 받을 때 반드시 STDOUT으로 쓰고 STDIN으로 읽어야합니다. 반면에 MySQL의 C API는 이런 작업을 가능케 했으나 펄의 DBD/DBI 인터페이스는 STDIN으로부터 데이터베이스로 직접 입력을 하거나 데이터베이스에서 STDOUT으로 직접 출력을 할 수 없었습니다."라고 Tessier는 설명한다.
예를 들어, 사용자가 10 MBs의 파일을 업로드할 때 그 파일은 일단 STDOUT으로부터 읽혀져서 파일시스템에 저장되고 나면 파일시스템으로부터 읽어져서 데이터베이스로 저장되는 내부적으로 총 20 MBs의 작업이 발생한다. 데이터 출력은 역순으로 똑같은 프로세스를 요구한다.
"그러한 이중 부하는 아주 빨리 시스템에 나쁜 영향을 줄 것이라는 것은 명백합니다. 결국, 우리는 메일과 사용자 파일을 숫자로 된 이름으로 파일 시스템에 저장하는 한편 MySQL 데이터베이스는 펄로 만들어진 SQL 루틴을 이용한 빠른 인덱싱과 검색엔진으로 작동하는 것을 선택했습니다. 파일의 데이터는 펄을 통해서 STDOUT으로 바로 읽을 수 있고 STDIN으로부터 오는 데이터는 바로 디스크에 저장되기 때문에 적절한 솔루션임을 증명했습니다."
무료 기술의 보답
Gab Internet의 무료기술과 서비스에 대한 보답은 소수 고객들에게 단체 사용자들을 위한 맞춤 포탈을 만들 수 있는 기회를 제공한다는 것이다. 데이터베이스, 대역폭, 계산력, 아이템들을 포함하는 맞춤형 일괄 포탈을 GabTown의 무료 고객들이 공유한다. Gat Internet은 또한 데이터베이스에 접속이 요구되는 사이트에 대해 인터페이스를 담당하는 고객 코드를 이용하여 현재 회원은 재등록할 필요가 없도록 했다.
InvestorBBS와
Investments Canada는 모두 Gab Internet의 소유이며 회사의 단체 사이트의 예다. "만약 한 단체가 우리에게 사이트의 기초부터 개발까지를 의뢰한다면 앞에서 예로 들었던 모든 브라우저의 해상도에 막힘 없이 작동하는 두 개의 사이트의 레이아웃에 기대어 웹사이트의 제작을 시작할 것입니다. 만약 그 회사가 이미 기초가 잘 정립되어 있는 웹을 갖고 있다면 우리는 그 사이트에 직접 커뮤니티 부분을 딱 맞게 커스터마이징 하게 됩니다."라고 Tessier는 설명한다.
Tessier에게 최고의 생산품이 시장에 나가게 될 때까지 통틀어 들여야 하는 비용과 수고에 대한 문제는 걱정거리가 아니다. 펄과 다른 오픈소스도구를 GabTown 애플리케이션 개발에 사용함으로써 그는 수천달러 이상의 라이센스 비용을 지불할 필요가 없다.
"Gab Internet은 절대로 Oracle과 Microsoft과의 관계가 필연적으로 초래하는 사업의 몰락을 통해서 빚을 지고 몰락한 닷컴 중에 하나를 의미하진 않습니다."라고 그는 주장한다.
대신에 공개소스 정신으로 배타적이지 않은 공개 영역 웹 포탈을 만드는데 기여했다.
Return to: perl.hanbitbook.co.kr