• open platform 이다.
• 어플리케이션을 인프라에서 분리해준다.
• 신속하다.
• 인프라를 어플리케이션을 관리하는 것 처럼 관리 할 수 있다.
• 코드를 배포에 용의하다.
• 컨테이너 기반 가상화 도구
• 애플리케이션을 컨테이너라는 단위로 격리하여 실행하고 배포하는 기술
• 컨테이너는 가상화 기술 중 하나
• 호스트 운영체제 위에 여러 개의 격리된 환경을 생성
• 각각의 컨테이너 안에서 애플리케이션을 실행
하나의 물리적인 컴퓨터 자원(CPU, 메모리, 저장장치 등)을
가상적으로 분할하여 여러 개의 가상 컴퓨터 환경을 만들어 내는 기술
이를 통해 물리적인 컴퓨터 자원을 더욱 효율적으로 사용할 수 있으며,
서버나 애플리케이션 등을 운영하는데 있어 유연성과 안정성을 제공합니다.
• 가상 머신(Virtual Machine,VM)을 생성하고 구동하는 소프트웨어
• OS에 자원을 할당 및 조율
• OS들의 요청을 번역하여 하드웨어에 전달
• 리눅스 커널의 기능을 사용하여 만들어짐
• chroot: 파일 시스템을 격리
• namespace: 프로세스 격리
• cgroup: 하드웨어 자원 격리
• 프로세스 단위의 격리 환경
• 컨테이너 기반 가상화 도구
• 애플리케이션을 컨테이너라는 단위로 격리하여 실행하고 배포하는 기술
• 리눅스 컨테이너 기술인 LXC(Linux Containers) 기반
• 다양한 운영체제에서 사용할 수 있으며, 컨테이너화된 애플리케이션을 손쉽게 빌드, 배포, 관리할 수 있는 다양한 기능을 제공
• 위 기능들을 통해 애플리케이션을 빠르게 개발하고, 효율적으로 배포, 관리할 수 있음