"페북판 웹개발 언어 '핵', PHP보다 10배 빨라"

옐로모바일 정글피플 용영환 CTO 인터뷰

일반입력 :2014/09/02 15:36    수정: 2014/09/03 06:55

페이스북에서 PHP의 한계를 극복하기 위해 만든 신형 프로그래밍 언어 '핵(Hack)'이 웹애플리케이션 개발에 많이 쓰이는 PHP보다 10배나 빨리 실행된다는 평가가 나와 주목된다.

PHP는 세계 웹사이트 프로그래밍 언어로 인기가 높을뿐아니라 한국서도 2000년초 자바보다 먼저 널리 보급된만큼, 핵은 국내 업계인들에게도 흥미로운 언어다.

일정 조건에서 핵이 PHP보다 낫다는 평가의 주인공은 옐로모바일 정글피플의 용영환 최고기술책임자(CTO). 그는 국내서 페이스북 핵의 특징과 가능성에 가장 주목하고 있는 개발자다. 규모가 작은 서비스 운영시 별 이득이 없지만 네이버나 다음 정도 되는 대규모 인프라 서비스 개발시 훨씬 유리하다는 게 그의 설명이다.

우선 용영환 CTO는 핵 언어가 처리 성능면에서 복잡한 대규모 웹서비스 개발에 상당히 실용적이라고 평했다.

복잡한 인프라를 기반으로 운영되는 서비스의 서버 쪽에서 실행되는 애플리케이션을 핵으로 만들면, PHP 기반으로 만들었을 때보다 체감 실행 속도가 10배쯤 빨라질 수 있어요. 특히 네이버나 다음같은 포털사이트처럼 사용자가 보는 결과물은 단순해도 뒷단에서 수많은 처리가 일어날 경우에 성능이 월등해질 것 같아요.

실제로 핵은 페이스북이 거의 13억에 육박하는 자사 웹사이트 인프라를 효율적으로 운영, 개발하기 위해 만든 PHP 대체 언어다. 초창기 PHP 기반으로 만들어진 페이스북의 핵심 코드와 대부분 PHP 전문가인 사내 인력을 계속 활용하면서 애플리케이션 성능을 높이고 관리 부담을 낮추기 위해 고안됐다.

그리고 용 CTO는 핵이 무조건 PHP보다 항상 나은 성능을 발휘하는 건 아니라며 이런 설명도 덧붙였다.

핵 코드가 모든 상황에서 PHP 기반 코드보다 빠르게 실행되는 건 아녜요. 핵은 자바, 루비, 파이썬 등 여타 언어처럼 애플리케이션(처리영역)서버가 웹(표시영역)서버와 분리돼 있어요. PHP만은 독특하게도, 웹서버 안에서 직접 코드를 처리하고 즉시 결과를 표시할 수 있습니다. 이건 PHP의 인기가 꾸준한 이유기도 해요.

이런 기술적 차이 때문에 단순한 인프라에선 PHP에 비해 핵의 성능 이점이 두드러지지 않는다는 게 용 CTO의 설명. 이를테면 방문자 수가 많지 않고 내부 인프라와 복잡하게 연동되지 않는 개인 블로그나 중소기업 웹사이트같은 곳은, 워드프레스같은 PHP 애플리케이션으로도 서비스하기가 무난하다는 얘기다.

다만 용 CTO는 처리규모를 논외로 해도 구현하는 기능에 따라 PHP와 핵이 성능차를 보일 수 있다고 말했다.

서버로 이미지를 올려 저장하는 기능을 웹사이트에 구현한다고 가정해 보죠. 이미지 업로드시 브라우저에서 컴퓨터에 저장된 파일을 골라 넣으면 그 이미지의 썸네일(축소된 그림)을 표시하면서 저장해 주는 경우가 많은데요. 파일 선택 이전 단계까진 PHP가 빠를 수 있지만, 썸네일 생성과 이미지 저장 과정은 핵이 빨라요.

개별 방문자에게 이런 성능 차이는 체감상 미미할 수 있다. 하지만 앞서 용 CTO가 말한 포털사이트처럼 수천만명에서 수억명 규모의 방문자를 대상으로 제공되는 대규모 서비스에선 누적되는 차이를 무시할 수 없게 된다. 이는 페이스북이 PHP 기반이었던 초창기 운영 환경을 핵 기반으로 모두 이식한 이유 가운데 하나다.

용 CTO는 이런 핵의 잠재력을 높게 본다. 수많은 PHP 개발자들의 관심을 끌기에 충분하다는 분석이다.

핵은 PHP에서 가장 논란이 많은 특성, 약점으로 지적되기도 했던 부분을 잠재워 줄만한 언어예요. 타입(type) 선언을 못하는 등 PHP에 대해 불만으로 제기됐던 문제를 페이스북의 유능한 개발자들이 보완했죠. PHP 개발 경험이 있다면 배우기도 어렵지 않고요.

이미 페이스북은 지난 3월 핵 언어를 외부에 처음 공개했고 4월엔 그에 관심이 많은 개발자들을 초청해 그 특징과 장점을 보여 주는 세미나도 진행했다. 행사는 핵 언어를 중심으로 오픈소스 커뮤니티를 형성해, 외부 개발자들과 함께 자체 프로그래밍 언어를 발전시키려는 의지를 내비친 것으로 평가됐다.

이후 용 CTO는 책을 쓰기 시작했다. 페이스북의 '핵 확산' 활동에 일조할만한, 세계적으로도 드문 사례다.

제 책 목적은 핵이라는 언어를 소개하는 거예요. 제가 (PHP 기반으로) 서비스하고 있는 몇 가지를 핵의 구동환경인 'HHVM' 환경에서 이식하고, 돌려 보는 중입니다. 외부인 입장에선 아직 기술이 정돈이 덜 된 느낌? 예를들어 초기 공개된 정보만으론 개발환경 구축과 설치에 '삽질'이 필요했어요. 자동화 패키지가 없어서요.

그래서 용 CTO는 PHP 개발자들에게 일단 HHVM을 깔고, 기존에 짠 PHP 코드를 그 플랫폼에서 돌려 보라고 조언한다. PHP 기반 웹서비스를 갑자기 핵 기반으로 바꿀 필요는 없다는 게 핵심이다. HHVM은 핵 코드뿐아니라 기존 PHP 코드를 100% 그대로 실행하기 때문이다. 페이스북이 취한 방식과 비슷하게 들린다.

용 CTO 스스로도 책을 쓰면서 핵에 대해 전폭적인 지지보다는 중립적인 관점을 취하려는 편이다.

관련기사

페이스북 핵에 대한 얘기만은 아니고요. 일반적으로 외부의 언어에 대한 평가라든지, 공식 소갯말과 같은 자료는 개발자들에게 유용하지만 '단점'을 보여주진 않죠. 책을 쓰면서 직접 이 언어에 대한 장단점을 겪어보려고 하는 편입니다.

사실 용 CTO의 책이 출간되면 세계 최초 핵 개발 서적이 될 수도 있다. 하지만 기술의 특정한 면을 부각시킨 선전을 통해 자신의 책을 많이 팔 생각은 없는 듯하다. 출간 시점은 연말 정도로 예상 중이다. 얼마나 팔릴 것 같냐는 물음에, 그는 그저 '잘 모르겠다'고 답했다.