• Container 라는 형태로 프로그램을 빌드하고 배포, 실행하는 플랫폼
• Light-weigh 한 고립된 환경에서 프로그램과 의존성들을 패키징
• 로컬환경에서 작동하던걸 쉽게 다른곳에 이식가능
• 장점
• 이식성, 상호 운용성, 경량성, 모듈화와 확장성
• 단점
• 보안 - host system , kernel 공유 =>덜 격리 됨. 하나의 컨테이너 문제 => 영향을 끼칠 수 있다
• 데이터 관리 - 컨테이너로 만든 app은 임시적이다. 데이터를 영구적으로 보존 x
여러개의 docker container 로 구성된 애플리케이션을
정의하고 실행시키는 도구
- yaml 파일로 설정
- ex) DB , APP1 , APP2의 관계를 적어놓으면 관리 가능
• 장점
• 단순성
• 개발 효율성
• 서비스간 종속성 관리
• 단점
• 상용 환경에서의 제한
• 보안 문제
• Distributed system 프로파일링의 어려움
• 배포 및 실행의 방법또한 프로파일링 방법을 배우는 것
• 앞으로 배울 컴포넌트들이 다양하고 나아가 2개의 머신에 deploy
할때 편하게 하기 위해서
• 오픈소스 모니터링 솔루션
• 특징
• 다차원 데이터 모델
• 강력한 쿼리 언어(PromQL)
• 클라이언트 라이브러리 및 다양한 수집 방법
• 고가용성 및 연합기능
• 오픈소스 시각화 및 분석 솔루션
• 특징
• 데이터 소스 지원
• 대시보드와 시각화
• 경고와 알림
• 사용자 정의
• 보안
• Prometheus 가 system metric 을 수집하는걸 도와주는 도구
• 대부분의 메트릭을 수집하는게 가능
• 이 정보를 HTTP 기반 endpoint API 로 가져갈수있게 만들어줌
• Textfile collector 를 이용해서 custom 정보 입력 가능
• 저번시간에 했던 ELK 스택, apache 제거
• sudo apt-get purge apache2 elasticsearch logstash
kibana
• 오픈소스들별로 사용하는 port 들이 충돌가능
• 네트워크 충돌은 디버깅하기 어려움
100 * (1 - ((node_memory_MemFree_bytes +
node_memory_Cached_bytes +
node_memory_Buffers_bytes) /
node_memory_MemTotal_bytes))