에이전트

에이전트는 IBM® UrbanCode Deploy 아키텍처에서 중심 역할을 수행합니다. 에이전트는 배치 대상 호스트에서 실행되며 IBM UrbanCode Deploy 서버와 통신하는 경량 프로세스입니다.

에이전트는 서버의 태스크를 완화하는 등의 실제 배치 작업을 수행합니다. IBM UrbanCode Deploy 서버에 의해 요청되는 패키지, 구성 및 배치 등을 포함한 모든 프로세스는 에이전트에 지정된 하드웨어에서 실행됩니다. 설치된 에이전트가 시작된 후에 에이전트가 IBM UrbanCode Deploy 서버에 대한 소켓 연결을 엽니다. 서버와 에이전트 사이의 통신은 JMS-기반(Java™ 메시지 서비스) 프로토콜을 사용합니다. 통신은 SSL을 사용하여 보안될 수 있으며 필요에 따라 각 엔드포인트에 대해 상호 키 기반 인증을 사용할 수 있습니다. 이 통신 프로토콜은 Stateless이며 네트워크 가동 중단에 대해 복원됩니다(Stateless의 장점에 대해서는 아래에서 설명합니다).

여기서는 에이전트를 단일 프로세스로 설명하지만 기술적으로 에이전트는 작업자 프로세스와 모니터 프로세스로 구성됩니다. 작업자는 서버로부터 명령을 받은 후 실제 배치 작업을 실행하는 복수 스레드 프로세스입니다. 작업 명령은 플러그인 단계에서 발생하며 많은 써드파티 도구와 유기적으로 통합할 수 있도록 해줍니다. 모니터는 작업자 프로세스를 관리하는 서비스입니다. 예를 들어, 시작 및 중지, 다시 시작 처리, 업그레이드 및 보안 등을 관리합니다. 에이전트의 해당 기능은 임의로 업그레이드될 수 있는 플러그인에서 파생되므로 에이전트는 거의 업그레이드되지 않습니다. 에이전트가 설치된 후에는 IBM UrbanCode Deploy 웹 애플리케이션에서 관리될 수 있습니다.

에이전트는 IBM UrbanCode Deploy의 확장성 면에서 중요한 역할을 수행합니다. 에이전트를 계속 추가함으로써 시스템의 처리량 및 용량이 거의 기하급수적으로 증가할 수 있으므로 가장 큰 엔터프라이즈에 맞게 확장될 수도 있습니다.


피드백