본문 바로가기
개발 방법론/DevOps의 개념

[DevOps] 도구와 기술 - 2

by VictorMeredith 2023. 4. 13.

1. 컨테이너 기술

- 컨테이너란 ? : 고립된 사용자 공간 사이에 커널이 공유되는 OS 수준의 가상화를 사용하여 항상 동일한 환경을 제공하는 기술이다.

   * 도커 : 도커(Docker)는 코드, 런타임 환경, 시스템 도구, 라이브러리를 랩핑하는 오픈소스 도구다.

    - 도커 컨테이너는 실행하는 커널을 공유한다. 따라서 경량 방식으로 바로 실행된다.

    - 도커 컨테이너는 리눅스 뿐만아니라 윈도우에서도 실행된다.

    - OS 수준의 가상화로 고려된다.

    - 각 컨테이너는 호스트 OS상의 사용자 공간에서 격리된 프로세스로 실행된다. (커널)

    - 각 컨테이너를 위한 별도의 OS가 필요없으므로 컨테이너의 크기가 훨씬 작다.

    - 각 컨테이너는 커널을 공유하므로 더 많은 자원이 공유 범위에 있다.

    - 가상 머신은 컨테이너에서 실행 가능하다.

 

2. 모니터링 도구

- 자원 모니터링을 위해 다양한 도구가 있다.

 * 제노스 : 앱, 서버, 네트워크에 대한 에이전트가 없는 오픈소스 관리 플랫폼

    - Zope 앱 서버를 기반으로 한다.

    - 경고, 성능, 구성, 인벤토리 모니터링, 사용이 쉬운 웹포탈을 제공한다.

 * 나기오스 : 크로스플랫폼으로, 인프라스트럭쳐와 네트워크를 위한 오픈소스 모니터링 도구이다.

    - FTP, HTTP, SSH, SMTP 같은 네트워크 서비스를 모니터링 한다.

    - 자원을 모니터링하고 경고도 해준다.

    - 조직과 서비스 공급자에게 IT 인프라스트럭쳐, 프로세스에 미치는 영향이 최소화 되는 방식으로 문제의 식별과 해결을 위임할 수 있다.

    - SLA에 대한 높은 수준의 준수를 보장한다. 

    - 컴퓨터, 스토리지, 네트워크같은 클라우드 자원의 모니터링이 가능하다.

 

3. 배포 오케스트레이션 / 지속적인 전달 - 갓킨스(Jenkins)

- 배포 또는 앱 전달 파이프라인으로 불리는 빌드 파이프라인은 지속적인 통합, 클라우드 프로비저닝, 구성 관리, 지속적인 전달, 지속적인 배포, 알림을 포함한 모든 동작에 대해 전체적인 자동화를 달성하는 데 사용할 수 있다. 플러그인을 통해 다양한 도구와 통합하여 전체적인 자동화와 관련된 모든 액티비티의 오케스트레이션에 사용이 가능하다.

- CI : Jenkins

- 구성 관리 : 셰프

- 클라우드 : AWS or Azure

- 컨테이너 : 도커

- 지속적인 전달/배포 : ssh (Secure shell)

 

- '컴파일 - 단위테스트 - 패키징 - 인프라스트럭쳐 프로비저닝(클라우드) - 설치 및 구성 - VM 배포' 의 단계를 파이프라인에 포함할 수 있다.

 

4. DevOps Dashboard

- 모든 액티비티의 조합 상태를 제공하는 대시보드나 GUI 

- 단일 제품을 사용할 경우 특정 애플리케이션에 대해 추적할 수 있는 다양한 도구의 단일 보니터링 뷰를 가지면 된다.

- 하지만 그럴리가 없다. DevOps가 단일 제품일리가 없다. 

- 히게이아(Hygieia)는 배포 파이프라인의 상태 추적 방법을 제공하는 오픈소스 데브옵서 대시보드이다.

- 기능 / 코드저장소 / 빌드 / 품질 / 모니터링과 배포를 포함한 여섯 가지의 다양한 분야를 추적할 수 있다.

히게이아 대시보드 샘플이미지

 

 

댓글