1. 사이드카 패턴(Sidecar pattern)
사이드카 패턴은 어플리케이션 컨테이너와 사이드카 컨테이너로 구성된 패턴을 말한다.
사이드카 컨테이너에서는 어플리케이션 컨테이너에 관련된 확장된 기능들을 추가할 수 있으며, 어플리케이션의 핵심 로직과는 관련없는 기능들을 추가/제거 할 수 있다.
예를 들어서
- 어플리케이션 상태 모니터링, 로깅
- config 데이터 관리
등은 어플리케이션의 핵심 로직과는 상관없는 서비스이므로 사이드카 컨테이너에서 관리하게 되면 유연하게 관리 가능하다.
2. 장단점
장점
- 어플리케이션 언어와 다른 언어로 개발가능하다.
- 하나의 사이드 컨테이너를 개발하게 되면 다른 어플리케이션에서도 사용가능하다.
- 어플리케이션 컨테이너의 성능에 거의 영향을 주지 않고 모니터링 가능하다.
- 확장성있는 기능을 사이드카를 통해 개발 가능하다.
단점
- 어플리케이션이 사이드카와 통신하는 비용(시간, 리소스)이 0(Zero)가 아니다. 성능이 중요한 어플리케이션읃 이 비용을 무시할 수 없다.
- 작은 어플리케이션의 경우, 배보다 배꼽이 커질 수 있다.
일단 재사용할 수 있다는 메리트가 큰 패턴으로 보인다.
사이드카 컨테이너에서 로깅과 모니터링+NGINX 기능을 제공한다면 어플리케이션 컨테이너에서는 다른 부분에 더 포커싱 가능할 것 같다.
참고자료
docs.microsoft.com/ko-kr/azure/architecture/patterns/sidecar
www.oreilly.com/library/view/designing-distributed-systems/9781491983638/ch02.html
'IT' 카테고리의 다른 글
[네트워크] IPv4와 네트워크 클래스 (0) | 2022.04.26 |
---|---|
[k8s] 쿠버네티스 컨피그맵(Kubernetes ConfigMap) (0) | 2021.05.17 |
[Windows] Windows Subsystem for Linux (WSL) + WSL2 설치, WSL 1 vs WSL 2 비교 (0) | 2021.03.31 |
[Terminal] Mac 터미널 환경 설정하기 (꾸미기) - iTerm2, oh my zsh, tmux (0) | 2021.03.15 |
[Docker] Docker Image 사이즈 줄이기 (2) | 2021.01.31 |