구글에서 파이썬 사용하는 법

구글에서 파이썬을 어떻게 사용하는지 한 포스트가 올라와서 한번 정리해 본다. 원문은 Python at Google (Greg Stein – SDForum) 에서 볼수 있다.

파이썬을 사용하는 이유
1. 적응성이 뛰어나다. (요구사항 수정능력이 좋다. 컴퓨팅 환경에 유연하다. 위의 두가지 모두 개발라이프 싸이클동안 동반된다.)
2. 빠른 개발속도
3. 유지하기 편리함

그리고 구글에서는 C++, Java, Python이 사내 공식언어라고 하고, 그밖에 프로젝트 별로 다른 언어를 사용하기도 한다고 한다.

SWIG를 상당히 많이 사용한다고 함. 심지어는 C++프로젝트 빌드타임 내내 SWIG로 제너레이트 시키기도 한다. 따라서 C++ 라이브러리를 임베딩해서 사용하는 Python 프로그래머에게 상당한 잇점으로 작용한다고 함.

RPC 또한 사용을 많이 하는데, 구글은 자체 바이너리 와이어 포멧을 가질정도고 이것을 이용하기 위해 C++, Java, Python에서 간단하게 구현해서 RPC로 호출해서 쓴다고 한다.

내부적으로는 호환성 때문에 Python2.2 버전을 사용하고, 조만간 Python2.4로 버전업을 할 예정이라고도 함.

그럼 구글에서는 어느곳에 파이썬을 사용하나?
1. 빌드 시스템
2. RPM 패키징 작업
3. 이진 데이터 제공 (수천개의 서버에 데이터 푸쉬를 하기위함)
4. 프로덕트 서버 (모든 모니터링과 더불어 데이터 수집기능 및 재시작 기능 등)
5. 리포팅 (로그분석과 리포팅 작업)
6. code.google.com 과 google groups을 포함한 몇몇의 서비스

퍼포먼스 문제는 SWIG를 이용한 C/C++ 임베딩을 통해서 해소한다고 한다. 게다가 Python을 적재적소에 사용하기 때문에 그다지 큰 문제는 없다고 한다.

구글이 Python을 사용한다는건 오래전부터 알고 있었지만, SWIG로 통합해서 사용한다는건 처음 들어본다. 하긴 내 경험상으로도 SWIG만한 툴이 없을정도로 플랫폼에 구애받지 않고 연결코드를 훌륭하게 만들어준다.

CC BY-NC 4.0 구글에서 파이썬 사용하는 법 by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.