study/etc
Docker에서는 pm2를 안 쓰는 이유
836586697769
2024. 7. 25. 06:10
Docker를 쓰기 전에 pm2를 사용했던 이유 (pm2 기능)
- 여러 인스턴스의 프로세스 관리
- 자동 재시작
- 로드 밸런싱
- 로깅 및 모니터링
- 일관된 방식으로 프로세스 설정 및 유지
- 지속적 배포와 롤백 기능
하지만!!!!!!!!!!!!!
Docker의 등장 이후 컨테이너화된 애플리케이션의 관리가 표준화되면서 pm2의 역할은 상대적으로 줄어들게 됨
Docker는 애플리케이션 프로세스 관리를 자체적으로 처리하는 킹갓 도구이기 때문
Docker를 사용하는 이유 (Docker 기능)
- 최소한의 구성 요소만 포함된 경량 이미지를 만듦 → 컨테이너의 크기를 줄이고 필요한 자원 사용 최소화
- Docker 컨테이너는 단일 프로세스만 실행하는 것을 권장 → 컨테이너의 설계와 유지보수를 단순화하고, 프로세스 관리 도구인 pm2의 필요성을 없앰
- 호스트 시스템의 커널을 공유하여 가상 머신에 비해 훨씬 적은 자원을 사용 → 자원 효율성을 극대화하고 추가적인 자원 사용과 오버헤드를 줄임
- Kubernetes, Docker Swarm 등의 오케스트레이션 도구와 통합 → 애플리케이션을 쉽게 스케일링하고 자원 관리를 자동화하여 pm2의 기능을 대체
- 애플리케이션과 그 종속성을 컨테이너 내에 포함시켜 환경 간 일관성을 보장 → 개발, 테스트, 프로덕션 환경 간의 차이를 최소화하여 유지보수를 용이하게 함