study/etc

Docker에서는 pm2를 안 쓰는 이유

836586697769 2024. 7. 25. 06:10

Docker를 쓰기 전에 pm2를 사용했던 이유 (pm2 기능)

  • 여러 인스턴스의 프로세스 관리
  • 자동 재시작
  • 로드 밸런싱
  • 로깅 및 모니터링
  • 일관된 방식으로 프로세스 설정 및 유지
  • 지속적 배포와 롤백 기능

 

하지만!!!!!!!!!!!!!

Docker의 등장 이후 컨테이너화된 애플리케이션의 관리가 표준화되면서 pm2의 역할은 상대적으로 줄어들게 됨

Docker는 애플리케이션 프로세스 관리를 자체적으로 처리하는 킹갓 도구이기 때문

 

Docker를 사용하는 이유 (Docker 기능)

  • 최소한의 구성 요소만 포함된 경량 이미지를 만듦 → 컨테이너의 크기를 줄이고 필요한 자원 사용 최소화
  • Docker 컨테이너는 단일 프로세스만 실행하는 것을 권장 → 컨테이너의 설계와 유지보수를 단순화하고, 프로세스 관리 도구인 pm2의 필요성을 없앰
  • 호스트 시스템의 커널을 공유하여 가상 머신에 비해 훨씬 적은 자원을 사용 → 자원 효율성을 극대화하고 추가적인 자원 사용과 오버헤드를 줄임
  • Kubernetes, Docker Swarm 등의 오케스트레이션 도구와 통합 → 애플리케이션을 쉽게 스케일링하고 자원 관리를 자동화하여 pm2의 기능을 대체
  • 애플리케이션과 그 종속성을 컨테이너 내에 포함시켜 환경 간 일관성을 보장 → 개발, 테스트, 프로덕션 환경 간의 차이를 최소화하여 유지보수를 용이하게 함