더북(TheBook)

2.4.1 서비스 어셈블리: 마이크로서비스의 패키징과 배포

데브옵스 관점에서 볼 때 마이크로서비스 아키텍처의 핵심 개념 중 하나는 애플리케이션의 환경 변화(예를 들어 갑작스런 사용자 요청이 유입되거나 인프라스트럭처의 문제가 발생하는 등)에 대응해 마이크로서비스의 여러 인스턴스를 신속하게 배포할 수 있다는 것이다.

이 개념을 충족하기 위해 마이크로서비스는 필요한 의존성을 모두 담아 단일 산출물로 패키징하고 설치될 수 있어야 한다. 그런 다음 이 산출물을 자바 JDK가 설치된 서버에 배포할 수 있다. 이러한 의존성에는 마이크로서비스를 호스팅하는 런타임 엔진(예를 들어 HTTP 서버나 애플리케이션 컨테이너)도 포함된다.

일관된 구축, 패키징 및 배포하는 이 과정을 서비스 어셈블리(그림 2-6의 첫 단계)라고 한다. 그림 2-7은 서비스 어셈블리 단계의 추가 세부 사항을 보여 준다.

▲ 그림 2-7 서비스 어셈블리 단계에서 소스 코드를 컴파일하고 런타임 엔진과 함께 패키징한다

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