마이크로서비스의 배포
Spring Microservices in Action
Chapter 10
2019.07.24
박영준
핵심 내용
데브옵스
AWS 인프라 구성
서비스 빌드 및 배포 파이프라인 설계
지속적 통합, 지속적 배포
코드형 인프라스트럭처
불변 서버 구축
배포 중 테스팅
클라우드에 애플리케이션 배포
코드 빌드 및 배포 매커니즘
자동화 : 사람이 개입하지 않아야 함
반복성 : 빌드 및 배포가 시작될 때마다 동일한 작업으로 반복 수행
완전성 : 산출물은 런타임 환경을 포함하는 가상머신 혹은 컨테이너 이미지여야 한다.
불변성 : 빌드 및 배포된 이미지에 대해 런타임 구성을 변경하면 안된다.
이 책에서 수행할 작업
메이븐 빌드 스크립트를 Travis CI에 통합
각 서비스에 대한 불변 도커 이미지를 생성하고 중앙 저장소에 업로드
AWS ECS에 마이크로서비스 배포
플랫폼 테스트 수행
인프라스트럭처 설정
책 352p ~ 364p 참고
서비스 수동 배포
책 364p ~ 367p 참고
빌드 및 배포 파이프라인 아키텍처
소스 저장소에 코드 커밋
빌드 도구는 소스 저장소 변경 여부를 모니터링 하고 변경 탐지되면 빌드 시작
빌드 동안 단위 테스트, 통합 테스트가 수행되고 모두 통과하면 배포 가능한 산출물 생성(JAR, WAR, EAR 등)
산출물(JAR, WAR, EAR)을 애플리케이션 서버에 배포
일반적인 패턴
빌드 및 배포 파이프라인 아키텍처
소스 저장소에 코드 커밋
빌드 도구는 소스 저장소 변경 여부를 모니터링 하고 변경 탐지되면 코드를 소스 저장소에서 가져와 코드의 빌드 스크립트 실행
단위 테스트, 통합 테스트 수행 후 톰캣 서버를 완전히 포함한 실행가능한 JAR 파일 생성
실행 가능한 JAR 파일 빌드 후 마이크로서비스가 배포된 머신 이미지를 굽는다
머신 이미지에 대해 일련의 플랫폼 테스트를 수행한다. 테스트를 통과하면 새로운 환경으로 승격
CD 단계 추가
빌드 및 배포 프로세스의 핵심 패턴
CI / CD 패턴
코드가 커밋되면 빌드, 테스트, 배포가 지속적으로 이루어짐
코드형 인프라스트럭처
머신 이미지의 프로비저닝은 각 빌드와 함께 실행되는 일련의 스크립트를 통해 수행된다
불변 서버
생성된 서버 이미지는 이후에 절대 변경될 수 없다
요약
제대로 작동하는 빌드 및 배포 파이프라인을 통해 몇 분 안에 배포할 수 있다.
빌드 및 배포는 사람의 개입 없이 자동화되어야 한다.
빌드 및 배포 자동화에는 많은 스크립트가 필요하다.
빌드 및 배포 파이프라인은 불변 가상머신 또는 컨테이너 이미지를 제공해야 한다.
환경별 서버 구성은 매개변수로 전달되어야 한다.
Made with Slides.com