기존 서버에서 프로그램이 실행되던 방식 - 하드웨어가 필요하고, 하드웨어에서 실행할 소프트웨어가 필요하다. - 하지만 소프트웨어를 실행하기 위해서는 하드웨어 사용에 필수적인 OS가 필요하고, 일반적으로 소프트웨어는 특정 패키지나 라이브러리의 의존성을 갖고있음 - 또한 실행을 위해 JVM 과 같은 런타임이 필요할 수도 있음 => 즉, 서버에서 프로그램을 실행하기 위해서는 OS, 설정에 필요한 언어, 라이브러리 등의 설정 구성, 실행시킬 프로그램이 필요 이미지란? - 파일 시스템이 특정 시점을 저장해둔 압축 파일 - 제작 단계에서 소프트웨어뿐만 아니라, 소프트웨어가 실행하기 위해 필요한 모든 요소를 미리 압축해 놓은 파일 - 즉, OS, 설정에 필요한 구성요소, 실행시킬 프로그램이 포함되어 있..
컨테이너
하이퍼바이저 가상화 방식 vs 컨테이너 가상화 방식1. 하이퍼바이저 가상화 : 하이퍼바이저라는 소프트웨어가 격릭된 공간을 만들어 주었음2. 컨테이너 가상화 : LXC 기술을 사용하여 호스트 OS 커널의 자체 기능만을 사용하여 격리된 공간을 만듦 주요 단어- LXC : 리눅스 커널의 Namespace, Cgroups라는 기능을 활용하여 컨테이너 가상화를 제공- Namespace : 프로세스, 하드드라이브, 네트워크, 사용자, 호스트 네임 처럼 리소스를 나누는 기준의 역할 수행- Cgroups : 프로세스가 사용하는 메모리, CPU, 하드디스크, 네트워크 밴스위스처럼 리소스의 사용량을 배분하는 기술- 컨테이너 : LXC 기술을 사용하여 만들어진 각각의 격리된 공간 -> 즉, 컨테이너 가상화란 하이퍼바이저 ..