파이썬과 함께하는 확장과 분산, 『실전 스케일링 파이썬 프로그래밍』

By | 2018년 8월 22일

어느 분야나 비슷하겠지만 소프트웨어 개발 서적 역시 입문서의 비중이 큽니다. 파이썬 서적의 경우 요즘은 흐름이 바뀌는 분위기처럼 보이는데 이 글을 준비하면서 인터넷 서점을 검색해 보니 상위권은 역시 입문서가 차지하고 있었습니다. 편집자의 기대와는 반대로 입문 다음 단계 서적은 독자들의 관심을 끌지 못할 때가 많더군요. 물론 간혹 평소와 다른 상황이 생기기도 합니다. 4년 전 일입니다.

지난 이야기 하나, 파이썬 사용자들의 원기옥
2014년 12월 『실전 파이썬 프로그래밍』이라는 중급서 한 권을 발간했습니다. “파이썬을 접하고 이제 ‘어떻게든’ 돌아가는 프로그램을 만들 수 있게 된 모든 프로그래머에게 이 책을 다음 단계로 권하고 싶다. 파이썬 프로그램을 ‘잘’ 짜는 비법을 배울 수 있을 것이다”라는 추천의 글을 받기도 했습니다. 베스트는 되지 못하더라도 필요한 사람들에게 잘 전해지면 좋겠다는 바람이었는데 책이 나오고 나서 어느 날 예상외의 소식을 접하게 됩니다(역자님이 올린 트윗입니다).

물론 영광(?)은 오래가지 못하고 얼마 후 베스트 순위에서 내려왔습니다만 ‘원기옥’ 덕분에 책이 묻히지 않고 알려질 수 있었습니다(다만 아직도 1쇄가 다 나가지 않은 건 아쉽습니다. 한 번 더 원기옥을 모아 주시면 역주행을 할 수 있을까요? ^^;;).

작년에 왔던 각설이 죽지도 않고 또 왔네?
편집자 눈에는 나름 이변을 일으켰던 그 저자 줄리안 단주가 돌아왔습니다. 줄리안 단주는 20년간 가까이 데비안, 프리데스크톱, GNU 이맥스, 오픈스택 등 오픈 소스 소프트웨어 개발에 기여해 온 개발자입니다. 특히 오픈스택 등 여러 파이썬 소프트웨어 개발에 참여하면서 배운 노하우를 정리한 것이 앞서 소개한 책이었습니다.
오픈스택 코드는 250만 줄(+a) 정도이고 대부분 파이썬으로 작성됐습니다. 줄리안 단주는 오픈스택 프로젝트를 통해 대규모 환경에서 쓰이는 파이썬 기반 대형 소프트웨어 개발에 대해 여러 경험을 하고 그 분야의 주요 개발자들과 의견을 나누면서 이 책을 쓰기에 이릅니다.

체급을 올린 파이썬
초창기 파이썬은 간단한 스크립팅이나 빠른 프로토타이핑에 어울리는 언어 정도로만 여겨졌습니다. 느리고 확장성이 부족하다고 했죠. 요즘은 상황이 바뀌었습니다. 거의 어디에서나 쓰인다고 해도 과언이 아닙니다. 월간 활성 사용자가 8억 명 규모인 인스타그램의 백엔드에 파이썬이 자리하고 있으니 파이썬을 오래 사용한 개발자들에게는 격세지감이 느껴질지도 모르겠습니다. 그런데 파이썬을 그냥 가져다 쓰기만 하면 저절로 인스타그램 같은 대형 서비스를 만들 수 있을까요? 물론 그렇지는 않습니다. 고려해야 할 기술적 이슈가 있고 파이썬 세계가 발전해 오면서 그와 관련된 해법 역시 하나둘씩 등장하기 시작했습니다. 이러한 내용을 정리한 것이 바로 이번에 소개하는 『실전 스케일링 파이썬 프로그래밍』입니다.

파이썬은 확장 문제를 어떻게 해결하나
이 책은 파이썬의 구조적이고 고질적인 문제인 GIL에서 비롯되는 CPU 확장 문제 해법을 시작으로 이벤트 처리, 큐를 이용한 분산 전략, 예외 처리, 잠금 관리, REST API 개발, PaaS 배포, 테스트, 캐싱 기법, 성능 프로파일링 등 파이썬 프로그램을 대규모 분산 환경에서 동작하는 데 필요한 주요한 주제를 다루고 있습니다. 이러한 문제들을 해결하는 데 유용한 각종 라이브러리와 프레임워크를 비롯해 그 사용 기법과 전략 역시 간결하게 정리되어 있습니다. 또 해당 분야 베테랑 개발자들의 인터뷰를 통해 조언을 들을 수 있는 것도 전작 『실전 파이썬 프로그래밍』에서 이어지는 이 책의 특징입니다.

전체 그림을 보고 한 걸음씩
물론 이 책이 실제 코드를 대신 짜 주지는 않습니다. 다만 파이썬으로 250만 줄은 아니더라도 수많은 서버에서 돌아가야 할 큰 애플리케이션을 만드는 개발자들이 겪게 될 문제와 해법을 한눈에 조망할 수 있는 것이 이 책의 특징입니다. 뭐가 필요한지 파악하고 필요한 만큼 습득하면서 나아간다면 개발이 오를 수 없는 거대한 산처럼 막막해지지는 않겠죠.
처음 코딩을 시작했을 때는 단순해서 좋았는데 어느새 점점 덩치가 커져 가는 파이썬 애플리케이션을 어떻게 감당할지 막막한 개발자들에게 일독을 권합니다. 다음 서점에서 구입하실 수 있습니다.

[Yes24] [교보문고] [알라딘] [인터파크]