페이팔, 자바에서 노드JS로 개발 프레임워크 교체

일반입력 :2013/11/28 09:47

온라인결제서비스 페이팔이 최근 서버용 애플리케이션을 자바기반에서 노드JS 기반으로 교체했다고 밝혔다. 웹페이지를 더 빠르고 단순하게 제공하기 위해서다.

27일(현지시간) 미국 지디넷은 페이팔이 최근 자바를 사용하던 웹애플리케이션을 자바스크립트와 노드JS로 교체했다고 보도했다.

노드JS는 자바 스크립트로 서버 애플리케이션을 개발할 수 있게 해주는 프레임워크다. 브라우저에서 돌아가는 앱 개발에 초점이 맞춰진 자바 스크립트의 한계를 뛰어넘게 해준다는 이유로 개발자들 사이에서 지지 기반이 점점 넓어지고 있는 추세다.

자바스크립트를 사용해 네트워크 애플리케이션을 빠르고 확장성있게 구축할 수 있게 해준다. 데이터 집약적이고, 실시간성인 애플리케이션을 만드는데 적합하다.

제프 하렐 페이팔 엔지니어링 디렉터는 자바에서 자바스크립트로 교체한 아키텍처 측면의 이점을 묘사했다.

페이팔의 엔지니어링팀은 두 조직으로 나뉘어 있었다. HTML, CSS, 자바스크립트를 사용하는 브라우저 코딩쪽과 자바를 사용해 애플리케이션 코딩쪽이다. 이에 HTML 개발자는 웹페이지 A와 B를 연결하는 것을 자바 개발자에게 요청해야 했다.

그는 이 모델은 최고의 사용자 인터페이스와 그를 지지하는 애플리케이션을 만들 풀스택 엔지니어의 채용에 뒤떨어지게 했다라며 그는 우리가 원하는 것이지만 그 기본적인 차단은 항상 브라우저와 서버 사이에 확립했던 부자연스러운 경계가 됐다라고 적었다.

그는 노드JS는 브라우저와 서버 애플리케이션을 자바스크립트로 작성하게 해 그 문제를 해결하게 했다라며 우리의 엔지니어링 전문성을 통합했다. 기술 스택의 어떤 수준에서 사용자의 요구사항에 반응하고 이해하는 것을 가능하게 한다.

페이팔은 전까지 프로토타입 플랫폼으로써 노드JS를 사용하기 시작했다. 그러다 올해 드디어 실제 서비스환경에 적용했다. 익스프레스를 웹애플리케이션 프레임워크로, 컨피규레이션을 위한 자바스크립트 태스크러너로 'Grunt'와 'nconf'를 사용했다.

대규모 개발조직 내에서 어떻게 서버가 설정되는지 일관성을 유지하기 위해 익스프레스 상위에 '크라켄JS(Kraken.js)라는 협의(convention) 레이어를 만들었다. 하렐은 크라켄JS를 오픈소스로 공개할 것이라고 밝혔다.

페이팔이 노드JS를 실제 환경에 처음 적용한 영역은 계정 개요(Account Overview)'다. 페이팔은 병렬화된 자바애플리케이션과 동등하게 해 위험을 피했다.

두명의 노드JS 엔지니어가 수개월동안 필요한 소프트웨어를 구축했다. 노드JS 앱은 자바에 비해 33% 적은 코드라인으로 작성됐고, 40% 적은 파일로 만들어졌다.

또 수개월에 걸쳐 노드JS가 페이팔의 서포트세션과 중앙화된 로그, 키 저장소를 추가하는 걸 허용하는 인프라 구축작업이 완료됐다.

성능 테스트에서 노드JS 애플리케이션은 자바보다 35% 더 빠른 응답속도를 보였다. 동일한 페이지를 200밀리초 더 빨리 서비스했다. 하렐은 몇몇 사용자는 명백하게 이를 눈치챌 것이다라고 적었다.

관련기사

페이팔의 모든 웹페이지는 향후 노드JS 기반으로 운영된다.

하렐은 12개 앱의 이전 작업이 이뤄지고 있고, 더 많은 애플리케이션이 가동될 때 데이터를 계속해서 공유하겠다라고 밝혔다.