컨테이너가 곧 리눅스다! 이 말에는 많은 뜻이 함축되어 있습니다. 소프트웨어 정의 데이터센터와 클라우드 컴퓨팅 환경의 기술 혁신을 주도하는 컨테이너(Container)의 역사는 곧 리눅스의 역사이기도 합니다. 무슨 소리냐고요? 레드햇은 리눅스의 궁극적인 미래를 컨테이너로 봅니다. 컨테이너 기술은 십수 년 간 리눅스 운영체제의 한 부분으로 존재해왔습니다. 더 멀리 역사를 따지자면 유닉스까지 되짚어 볼 수 있습니다. 리눅스와 유닉스 프로세스 처리 관련 기술의 진화 결과 중 하나가 컨테이너란 소리입니다. FreeBSD에서 여러 서브 시스템을 분리하기 위해 제공한 Jail 기술과 리눅스에서 격리 환경 구성을 위해 추진되었던 VSever 프로젝트를 떠올려 보면 쉽게 이해가 될 것입니다. 이런 역사적 배경이 있기에 현재 데이터센터와 클라우드에 배포된 컨테이너 대부분이 리눅스이고 최근에서야 윈도우 컨테이너가 소개된 것입니다. 본론으로 돌아와 컨테이너가 곧 리눅스 그 자체인 이유를 살펴보겠습니다.
Containers are Linux!
컨테이너화된 프로세스들은 같은 리눅스 호스트, 커널 네임스페이스를 쓰지만, 각각 격리되어 운영됩니다. 커널 네임스페이스는 컨테이너가 실행될 수 있는 가상의 환경을 제공합니다. 가령 프로세스를 식별하기 위해 부여하는 PID(Process Indentification Number)를 특정 컨테이너에 할당하면 동일 호스트 내에 있더라도 다른 컨테이너에서 이를 볼 수 없습니다. 커널 수준에서 제공되는 보안 기능도 완벽하게 격리됩니다. SELinux(Security-Enhanced Linix)에서 사용하는 파일 시스템 보안 역시 격리되어 제공됩니다. 간단히 생각하면 아파트를 생각하면 됩니다. 전기, 수도 등 인프라는 공유하지만 각 가정은 완벽하게 격리된 환경에서 공유 자원을 활용하죠. 옆집에서 뭘 얼마나, 어떻게 쓰는지 볼 수 없습니다.
각 컨테이너 프로세스가 사용하는 메모리, CPU I/O 등에 대한 자원 소모 역시 cgqroups나 리눅스 컨트롤 그룹을 통해 각 환경에 맞추어 제약할 수 있습니다. 이렇게 하면 특정 컨테이너가 자원을 과도하게 많이 써서 이웃 컨테이너에 영향을 끼치지 못하게 할 수 있습니다. 컨테이너가 곧 리눅스다! 이해가 되죠. 완벽한 격리와 리소스 제한은 리눅스 프로세스를 컨테이너라는 특별한 개념이자 대상으로 만듭니다. 더 자세히 살펴보죠.
컨테이너 보안은 곧 리눅스 보안이다!
컨테이너 성능은 곧 리눅스 성능이다!
성능 역시 컨테이너는 호스트 리눅스 성능과 긴밀히 연계되어 있습니다. OverlayFS, Device Mapper, BTRFS, AUFS 등 어떤 리눅스 파일 시스템을 선택하느냐에 따라 컨테이너 이미지 빌드, 저장, 실행 관련 성능에 끼치는 영향이 달라집니다. 레드햇은 리눅스 성능과 확장 관련 고객의 고충을 해결하는 데 익숙한 숙련된 엔지니어링 팀을 보유하고 있습니다. 이 팀은 고객, 커뮤니티와 밀접하게 협력하며 대규모 환경에서 컨테이너들을 운영할 때 최적의 구성이 무엇인지 경험을 쌓고 있습니다.
참고로 컨테이너 성능이 곧 리눅스 성능이다! 이 말은 레드햇이 성능 평가를 통해 직접 체감한 메시지입니다. 레드햇은 최근 100대의 물리적 서버와 2,048개의 가상 머신(VM)으로 구성된 클러스터 두 환경을 대상으로 성능 벤치마크를 했는데, 그 결과 컨테이너 성능과 리눅스 성능이 매우 밀접한 관계가 있음을 확인할 수 있었습니다.
컨테이너의 안정성은 곧 리눅스의 안정이다!
실제 운영(Production) 환경에서 컨테이너를 돌릴 때 신경 써야 할 것 중 안정성을 빼놓을 수 없습니다. 보안, 성능 그리고 안정성까지 챙겨봐야 하는데 당연한 말이지만 컨테이너의 안정성도 리눅스의 안정성에 크게 영향을 받습니다. 컨테이너는 리눅스 환경에서 애플리케이션을 패키징하고 운영하는 새로운 방식을 제시하고 있습니다. 레드햇은 오랜 기간 미션크리티컬한 애플리케이션 운영 기반으로 리눅스를 제공하고 지원해왔습니다. 그 덕에 안정성은 레드햇 엔터프라이즈 리눅스를 상징하는 키워드로 통합니다. 컨테이너 운영 환경이 갖추어야 할 안전성 역시 레드햇은 엔터프라이즈의 눈높이에 맞는 수준을 제시하고 보장합니다.
다음 포스팅에서는 "그렇다면 도커는 무엇인가?"란 주제를 논의해 보겠습니다.
'PRODUCT > OS' 카테고리의 다른 글
레드햇 엔터프라이즈 리눅스 6.10 정식 출시 소식 - 차세대 환경으로 가는 디딤돌, 스펙터/멜트다운 취약점도 해결 (0) | 2018.06.20 |
---|---|
레드햇 엔터프라이즈 리눅스 6.10 베타 ~ 안정성, 보안성 개선에 컨테이너 기반 애플리케이션 마이그레이션까지 지원 (0) | 2018.04.30 |
페도라 28 베타 공개 ~ 눈여겨볼 개선 사항들... (0) | 2018.04.04 |
AWS, Azure, GCP 등 공용 클라우드에서 가장 많이 쓰는 리눅스는? 당연히 레드햇 엔터프라이즈 리눅스 ~ 부동의 1위! (0) | 2018.03.08 |
리눅스가 곧 컨테이너라면? Docker는 무엇인가? (0) | 2018.01.16 |