306
2
부
구현
가상 머신 위에 많은 마이크로서비스를 구축했다. 가상 머신이 제공하는 더 엄격한 격리 수준
이 필요하거나 애플리케이션을 컨테이너화할 수 있는 능력이 없다면
VM
이 훌륭한 선택이 될
것이다.
8.3.38.3.3
컨테이너컨테이너
이 책의 초판이 출간된 이후로 컨테이너는 서버 측 소프트웨어 배포에서 지배적 개념이 됐으
며, 많은 사람에게 마이크로서비스 아키텍처를 패키징하고 실행하기 위한 실질적인 선택지가
됐다. 다시 말해, 도커에 의해 대중화되고 쿠버네티스와 같은 지원 컨테이너 오케스트레이션
플랫폼과 결합된 컨테이너 개념은 대규모 마이크로서비스 아키텍처를 실행하기 위해 찾는 선
택지가 됐다.
이러한 일이 발생한 이유와 컨테이너, 쿠버네티스, 도커 간의 관계를 논의하기에 앞서 컨테이
너가 정확히 무엇인지 이해하고 컨테이너가 가상 머신과 어떻게 다른지 구체적으로 살펴봐야
한다.
다른 방식의 격리
컨테이너는 유닉스 계열의 운영체제에서 처음 등장했으며 수년 동안 리눅스와 같은 운영체제
에서만 실행 가능하다고 전망했다. 윈도 컨테이너가 매우 중요하지만, 컨테이너가 지금까지 가
장 큰 영향을 미친 것은 리눅스 운영체제였다.
리눅스에서 프로세스는 특정 사용자에 의해 실행되며 권한 설정 방법에 따라 특정한 기능이 있
다. 프로세스는 다른 프로세스를 생성할 수 있다. 예를 들어 터미널에서 프로세스를 시작하면
그 프로세스는 일반적으로 터미널 프로세스의 자식으로 간주된다. 리눅스 커널의 역할은 이러
한 프로세스 트리
tree
를 관리해 허용된 사용자만 ...