컨테이너 인프라 환경이란

컨테이너 인프라 환경이란

컨테이너는 하나의 운영 체제 커널에서 다른 프로세스에 영향을 받지 않고 독립적으로 실행되는 프로세스 상태를 의미합니다.

모눌리식 아키텍처

하나의 큰 목적이 있는 서비스 또는 애플리케이션이 통합되어 있는 구조입니다. 하나의 결합된 구조의 프로젝트로 구성되기 때문에 개발이 단순하고 코드 관리가 간편합니다.

마이크로 서비스 아키텍처

하나의 큰 목적이 있는 서비스 또는 애플리케이션이 여러 개의 작은 서비스로 분리되어 있는 구조입니다. 개별 기능을 하는 작은 서비스를 조합하여 하나의 큰 서비스를 구성합니다.

서비스 변경에 따른 영향도가 적어 유연하게 서비스를 변경할 수 있습니다.

컨테이너 인프라 환경을 지원하는 도구

도커

도커는 리눅스 컨테이너를 이용하여 애플리케이션을 개발, 배포, 실행할 수 있는 오픈 소스 플랫폼입니다. 도커는 컨테이너를 이용하여 애플리케이션을 격리된 환경에서 실행할 수 있습니다.

도커 외에도 Containerd, CRI-O, Podman 등 다양한 컨테이너 런타임이 있습니다.

쿠버네티스

쿠버네티스는 컨테이너화된 애플리케이션을 자동화하고 스케일링, 관리하는 오픈 소스 플랫폼입니다. 쿠버네티스는 컨테이너를 클러스터로 묶어 관리할 수 있습니다.

쿠버네티스 외에도 Docker Swarm, Mesos, Nomad 등 다양한 오케스트레이션 툴이 있습니다.

Jenkins

젠킨스는 지속적인 통합과 지속적인 배포를 자동화하는 오픈 소스 툴입니다. 젠킨스는 빌드, 테스트, 배포 등 다양한 작업을 자동화할 수 있습니다.

젠킨스 외에도 CircleCI, Travis CI, GitLab CI 등 다양한 CI/CD 툴이 있습니다.

Prometheus & Grafana

프로메테우스는 오픈 소스 모니터링 및 경고 도구이며, 그라파나는 데이터 시각화 도구입니다. 프로메테우스와 그라파나를 함께 사용하여 서비스의 상태를 모니터링하고 시각화할 수 있습니다.

프로메테우스와 그라파나 외에도 Zabbix, Nagios, ELK 등 다양한 모니터링 툴이 있습니다.

Last updated