컨테이너 인프라 환경이란
컨테이너 인프라 환경이란
컨테이너는 하나의 운영 체제 커널에서 다른 프로세스에 영향을 받지 않고 독립적으로 실행되는 프로세스 상태를 의미합니다.
모눌리식 아키텍처
하나의 큰 목적이 있는 서비스 또는 애플리케이션이 통합되어 있는 구조입니다. 하나의 결합된 구조의 프로젝트로 구성되기 때문에 개발이 단순하고 코드 관리가 간편합니다.
마이크로 서비스 아키텍처
하나의 큰 목적이 있는 서비스 또는 애플리케이션이 여러 개의 작은 서비스로 분리되어 있는 구조입니다. 개별 기능을 하는 작은 서비스를 조합하여 하나의 큰 서비스를 구성합니다.
서비스 변경에 따른 영향도가 적어 유연하게 서비스를 변경할 수 있습니다.
컨테이너 인프라 환경을 지원하는 도구
도커
도커는 리눅스 컨테이너를 이용하여 애플리케이션을 개발, 배포, 실행할 수 있는 오픈 소스 플랫폼입니다. 도커는 컨테이너를 이용하여 애플리케이션을 격리된 환경에서 실행할 수 있습니다.
도커 외에도 Containerd
, CRI-O
, Podman
등 다양한 컨테이너 런타임이 있습니다.
쿠버네티스
쿠버네티스는 컨테이너화된 애플리케이션을 자동화하고 스케일링, 관리하는 오픈 소스 플랫폼입니다. 쿠버네티스는 컨테이너를 클러스터로 묶어 관리할 수 있습니다.
쿠버네티스 외에도 Docker Swarm
, Mesos
, Nomad
등 다양한 오케스트레이션 툴이 있습니다.
Jenkins
젠킨스는 지속적인 통합과 지속적인 배포를 자동화하는 오픈 소스 툴입니다. 젠킨스는 빌드, 테스트, 배포 등 다양한 작업을 자동화할 수 있습니다.
젠킨스 외에도 CircleCI
, Travis CI
, GitLab CI
등 다양한 CI/CD 툴이 있습니다.
Prometheus & Grafana
프로메테우스는 오픈 소스 모니터링 및 경고 도구이며, 그라파나는 데이터 시각화 도구입니다. 프로메테우스와 그라파나를 함께 사용하여 서비스의 상태를 모니터링하고 시각화할 수 있습니다.
프로메테우스와 그라파나 외에도 Zabbix
, Nagios
, ELK
등 다양한 모니터링 툴이 있습니다.
Last updated