더북(TheBook)

마이크로서비스를 성공적으로 유지하려면 이식성 문제, 즉 “마이크로서비스를 어떻게 다른 기술 환경에 실행할 수 있을까?”라는 문제를 해결해야 한다. 이식성(portability)은 소프트웨어를 다른 환경에 사용하거나 이동할 수 있는 능력이다.

최근 몇 년 동안 컨테이너의 개념은 ‘있으면 좋은 것’에서 ‘필수적인 것’으로 바뀌면서 더욱 인기를 끌었다. 컨테이너를 사용하면 소프트웨어 개발을 한 플랫폼에서 다른 플랫폼으로 빠르고 유용한 방법으로 이전하고 실행할 수 있다. 예를 들어 개발자 컴퓨터에서 물리 또는 가상의 엔터프라이즈 서버로 이전하는 경우가 되겠다. 우리는 전통적 웹 서버 모델을 더 작고 적응력이 뛰어난 가상화된 소프트웨어 컨테이너로 교체할 수 있고, 컨테이너는 마이크로서비스에 속도와 이식성, 확장성 같은 이점을 제공한다.

도커(Docker)가 주요한 클라우드 공급자 모두와 호환되는 기술이기 때문에 이 장에서는 도커를 사용하는 컨테이너를 간략히 소개한다. 도커의 정의와 핵심 컴포넌트 사용 방법, 도커와 마이크로서비스의 통합 방법도 설명한다. 이 장을 마칠 때쯤 여러분은 도커를 실행할 수 있으며, 메이븐으로 자체 이미지를 만들어 컨테이너 안에 마이크로서비스를 실행할 수 있을 것이다. 마이크로서비스를 실행하는 데 필요한 구성 요소를 설치할 때 더 이상 걱정할 필요가 없다는 것도 알게 될 것이다. 단지 도커가 설치된 환경만 유일하게 요구된다.

Note ≣


이 장에서는 책 전반에 걸쳐 사용될 내용만 설명한다. 도커를 더 알고 싶다면 제프 니콜로프, 스테판 쿠엔즐리, 브렛 피셔가 공저한 명서인 <Docker in Action, 2nd>(Manning, 2019)를 적극 추천한다. 이 책은 도커의 정의와 동작 방식에 대해 완벽한 지침을 제공한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.