179
CHAPTER 8
서버를 업데이트하고 변경하는 패턴
8.3
지속적 배포를 위한 패턴과 관례
지속적 동기화를 하려면 현재 구성 정의를 특정 서버에 적용하는 절차를 정기적으로 실행해야
한다. 이 절차는 다음 둘 중 한 가지 방식으로 동작할 수 있다. 밀어 넣기 방식에서는 중앙의 프
로세스가 일정을 관리하면서 개별 서버에 접속한 후 구성을 전송해 적용한다. 끌어오기 방식에
서는 서버 자체의 프로세스가 동작하면서 최신 구성 정의를 내려받아 적용한다.
밀어 넣기 방식의 동기화
많은 서버 구성 도구는 관리 대상 서버에 구성을 밀어넣는 마스터 서버가 있다. 구성을 밀어넣
으려면 네트워크 포트나 메시지 버스를 통해 서버의 명령어를 수신하는 클라이언트가 모든 관
리 대상 서버에서 동작해야 할 수도 있다. 어떤 시스템은
SSH
와 같은 원격 명령어 프로토콜을
사용해 접속한 후 구성 명령어를 실행하기도 하며, 이 경우에는 클라이언트 소프트웨어가 필요
없다. 어느 경우든 중앙의 서버가 동기화 시점을 결정하고 절차를 조율한다.
예를 들어 앤서블은
SSH
를 통해 대상 서버에 접속해 스크립트를 복사한 후 해당 스크립트를
실행한다. 앤서블이 서버를 관리하는 데 필요한 것은
SSH
데몬과 파이썬 해석기
Python
interpreter
뿐이다.
밀어 넣기 방식의 장점은 구성 변경을 적용할 시점과 대상의 제어권이 중앙에 있다는 것이다.
이 방식은 인프라 변경이 특정 순서나 특정 시간에 따라 이루어지도록 조율해야 할 때 도움이
된다. 이상적으로는 이런 조율을 할 필요가 ...