Container 2

Container 101 - (1) Introduction

지금 여러분이 IT업계에서 일하고 있다면 컨테이너라는 단어를 언젠가 한번은 꼭 들어봤을 것이다. 단순히 가상화 기술이라고 하기엔 그 범위와 중요성이 너무 커서, 더 이상 컨테이너 기술을 모른다면 Cloud Native 시대를 생존하기 어려울 지경이다. 도대체 컨테이너가 뭔데, 얼마나 좋길래 이렇게 난리인걸까? 그 질문에 앞서 '왜 컨테이너가 필요할까?'를 먼저 생각해 볼 필요가 있다. 다음과 같이 정말 원시적인 호스팅 환경을 예로 들겠다. 서버 1대에 여러개의 어플리케이션을 배포하였다. 어플리케이션은 단독으로 실행되지 않고, 패키지나 라이브러리(ex: libssl.so)와 같은 Dependency가 존재하며 서로 같은 라이브러리를 공유할 수 있다. 이제 특정 어플리케이션을 업그레이드하면서 dependec..

Cloud 2022.01.10

Linux Namespaces

Namespace는 프로그래밍 언어 외에 다양한 컴퓨팅 분야에 널리 사용되는 개념이다. 하나의 namespace 안에서 이름과 개체(또는 자원)은 1:1로 매칭된다. 일반적인 정의는 다음과 같다. In computing, a namespace is a set of signs(names) that are used to identify and refer to objects of various kinds. A namespace ensures that all of a given set of objects have unique names so that they can be easily identified. - Wikipedia 예를 들어, C++, Java와 같은 프로그래밍 언어에서는 동일한 Namespace 안..