얼마 전까지만 하더라도 파이썬 버전을 선택할 때 다음과 같은 두 가지 요소들을 고려했다.

운영체제가 파이썬 버전 선택에 미치는 영향을 보여주는 좋은 예는 CentOS이다. CentOS는 레드햇 엔터프라이즈 리눅스(RHEL)에서 유료 지원을 뺀 것으로, RHEL을 사용했던 많은 기업이 CentOS로 이동했다. CentOS는 강력한 관리 도구 등 많은 장점을 갖고 있기 때문에 리눅스 배포판 중에서도 인기가 높다.

하지만 CentOS를 사용하면 파이썬을 직접 설치하지 않는 이상, 프로젝트에 파이썬 최신 버전을 사용할 수 없다. 게다가 운영 면에서도 지원하는 범위를 벗어날 수 있기 때문에 좋아 보이지 않는다. 이런 이유로 개발자들은 어쩔 수 없이 2.6 버전을 오래 사용할 수밖에 없었고, 최신 구문과 기능을 사용하지 못했다.

파이썬 2를 사용할 수밖에 없었던 또 다른 이유는 핵심 라이브러리 일부가 파이썬 3으로 이식 되지 않았기 때문이다. 하지만 이 문제는 더 이상 유효하지 않다.

이전 버전의 파이썬을 사용해야 했던 두 가지 이유는 지금은 모두 사라졌다. 리눅스 배포판에 상관없이 최신 파이썬 3으로 개발한 애플리케이션을 도커 컨테이너를 통해 제공할 수 있다.

10장에서 살펴본 것처럼 도커는 애플리케이션을 컨테이너에 담는 표준이 되다시피 했다. 물론 CoreOS의 rkt 같은 다른 방법을 사용할 수도 있다. 컨테이너 기술의 발전은 결국 이미지를 서술하는 표준을 만들 것이고, 각 컨테이너 엔진은 이 표준을 기반으로 동작하게 될 것이다. 참고로 이를 목표로 대형 컨테이너 기술 업체와 클라우드 업체가 참여하는 오픈 컨테이너 협의체(OCI; Open Container Initiative) 가 설립되기도 했다.

이처럼 마이크로서비스 개발에 최신 파이썬 3과 도커를 사용하는 것은 효과적이고 안전한 방법이다. OCI와 같은 협의체가 구축하게 될 표준은 Dockerfile 구문과 매우 유사할 것이다.

파이썬 3.6 또는 상위 버전에서 더 멋진 기능을 제공한다면 버전을 업데이트하거나 새로운 마이크로서비스 개발에 해당 버전을 사용하는 데 별 다른 문제가 없을 것이다.

이 책 전반에 걸쳐 얘기했듯이 각 마이크로서비스마다 다른 파이썬 버전이나 고유한 기술 스택을 적용할 수 있다.