도커가 뭘까?

단디·2024년 10월 5일
0
post-custom-banner

저는 아직 도커에 대해서 공부하기 전이지만 추후에 공부하고 나서 지금의 글과 비교를 해보고싶어 작성을 합니다.

프로그래밍 언어 차원에서의 가상환경을 시스템적인 차원에서 컨테이너라는 가상머신으로 사용하는 것을 도커라고 하는 것 같습니다.

컨테이너를 배에 실어서 운송하듯이, Docker는 소프트웨어 컨테이너를 시스템에 실어 어디서든 실행할 수 있도록 해주는 도구 같습니다.

쿠버네티스는 여러 가지 도커, 컨테이너들을 사용하기 위해 있는 것 같습니다.

도커는 커널을 사용자의 OS의 커널을 이용하여 필수적인 것들만 설치를 하여 가볍고 협업하거나 시험 개발하기 좋을 것 같습니다.

커널은 하드웨어로 가는 길목같이 느껴집니다.
운영체제(Operating System)은 커널+유틸리티+사용자인터페이스로 이뤄져 있는 것 같습니다.

모놀리식 커널과 마이크로식 커널의 차이점은 비유를 하자면 공산주의(중앙 집중형 시스템)와 자유주의(분권형 시스템)처럼 느껴집니다.

예를 들어 모놀리식 커널은 모든 자원과 기능을 중앙에서 통제합니다. 커널이 모든 주요 역할을 담당하며, 하나의 큰 시스템으로 작동합니다.
이는 중앙에서 계획하고 모든 자원을 통제하는 중앙 집중형 정치 체제(공산주의)에 비유할 수 있습니다. 모든 것이 중앙 권력에 의해 계획되고 실행되며, 자원이 한 곳에서 관리되는 체제입니다.
장점: 빠른 결정과 일관성을 유지할 수 있고, 전체 시스템이 조율되기 때문에 효율성이 높습니다.
단점: 중앙에서의 복잡성이 증가하고, 중앙에 문제가 생기면 전체 시스템에 문제가 발생할 수 있습니다.

마이크로커널은 커널이 최소한의 역할만 하고, 나머지 기능들은 분산된 모듈들이 자율적으로 관리합니다. 커널은 기본적인 관리만 담당하고, 대부분의 작업은 독립적인 구성 요소들이 수행합니다.
이는 자유주의나 분권형 정치 체제에 비유할 수 있습니다. 각 구성 요소들이 독립적으로 운영되고, 중앙에서 모든 것을 통제하기보다는 각 지역이나 조직이 자율적으로 관리하는 방식입니다.
장점: 시스템이 더 유연하고, 각 구성 요소가 독립적으로 운영되므로, 하나의 문제가 전체 시스템을 무너뜨리지 않습니다.
단점: 구성 요소들 간의 조정이 필요하고, 모듈 간 통신 오버헤드로 인해 성능이 저하될 수 있습니다.

profile
협업, 문제해결, 지속적 학습을 추구하는 개발자 지망생 단디입니다.
post-custom-banner

0개의 댓글