ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [DevOps] Docker 이해(1) - 가상화와 컨테이너
    K-MOOC/DevOps 2021. 4. 14. 10:15

     

    IT 인프라 운영 방식의 전환

    IT 인프라 운영은 클라우드 컴퓨팅 환경으로 급속히 전환되고 있다.

     

    - 온 프레미스 (On-Premises)

      - 일반적이고 전통적인 시스템 운영 방식

      - 자체적으로 데이터 센터를 보유, 직접 시스템 구축/운영유지 수행

      - 물리적 하드웨어 구입/구축으로 초기 투자비용이 높고 운영유지가 힘듦

     

    - 오프 프레미스 (Off-Premises)

      - 소유하지 않고 빌려 쓰는 방식 (클라우드 컴퓨팅 환경 )

      - 초기 구축 기간/비용이 낮고, 컴퓨팅 자원의 효율적으로 이용 가능함

      - 많은 시스템이 클라우드 컴퓨팅 환경으로 전환중 ( 미션 크리티컬, 보안성 높은 시스템 제외)

     

     

    클라우드 컴퓨팅과 가상화

    클라우드 컴퓨팅의 핵심 기술 "가상화"

     

    - 가상화 (위키백과)

      - 물리적인 하드웨어를 논리적으로 추상화

      - 가상화를 통해 유휴 자원의 사용 효율성을 증대

      - CPU, 메모리, 스토리지, 네트워크 등 가상화

     

    - 클라우드 컴퓨팅 (위키백과)

      - 사용자의 직접적인 활발한 관리 없이 특히, 데이터 스토리지와 컴퓨팅 파워와 같은 컴퓨터 시스템 리소스를 필요시      바로 제공하는 것을 말한다.

      - 하드웨어 구매/운영유지를 효과적으로 관리하여 비용 절감

     

    가상화 예시

     

    - 하드웨어 리소스 별 가상화

      - CPU 및 메모리 가상화

      - 스토리지 및 네트워크 가상화

     

    - 사용 유형 별 가상화

      - 서버 가상화 ( 여러 개의 OS를 설치해서 구성 )

      - 데스크톱 가상화 (Virtual Desktop infrastructure, 원격지에서 가상 PC 구성해서 local PC 환경처럼 사용 )

      - 데이터 및 애플리케이션 가상화 등

     

    가상머신 기반 가상화

     

    - 가상머신 (Virtual Machine) (위키백과)

      - 컴퓨팅 환경(하드웨어)을 소프트웨어로 모방하여 구현한 것

      - 운영체제 및 애플리케이션을 설치, 운영 가능

      - 하나의 하드웨어에서 다수의 가상 머신을 구동하여 독립적인 역할 수행

     

    - 하이퍼바이저 (Hyperviosr)

      - 하드웨어 위에서 가상 머신을 구동하게 해주는 것

      - 하드웨어와 가상 머신 사이에서 중간자 역할

     

    하이퍼바이저의 2가지 유형

    - Native Hypervisor ( Hyper-V, 성능 더 좋음 )

     

     

    - 하드웨어에 직접 접근하여 실행한다.

    - 각 가상 머신은 기초 하드웨어의 지원을 받는 아무 운영 체제에서나 실행할 수 있다.

    - 사용자들은 두 개 이상의 다른 게스트 운영 체제들을 별도의 "개인" 가상 컴퓨터에서 동시에 실행할 수 있다.

     

     

     

    - Hosted Hypervisor ( Virtual Box )

     

     

     

     

    - 서버의 가상화 기술로, 서버 컴퓨터를 운영 체제 계층 위에서 가상화 한다.

    - 파티션으로 생각하면, 단일 물리 서버는 여러 작은 파티션으로 쪼개진다.

     

     

     

     

     

     

    컨테이너 기반 가상화

    컨터이너(Container) : 모듈화되고 격리된 공간을 의미

    (위키백과)

    - 2000년대 중반 리눅스 LXC(LinuxX Container) 등장

    - 완전한 가상머신을 작성하는 대신 자신의 고유한 프로세스와 네트워크 스페이스를 가지는 가상환경

    - 실행하기 위한 모든 구성을 패키징하여 쉽게 배포/실행

    - 컴퓨팅 환경이 바뀌거나 이동되더라도 안정적인 실행 보장

     

     

    가상머신 VS 컨테이너

    가상머신

    - 필요할 때마다 Guest OS 추가 설치가 필요하다. ( 기본 기가바이트 단위 )

    - 성능이 상대적으로 느리고 자원이 많이 소모된다.

     

    컨테이너

    - 별도의 OS 추가 설치가 필요하지 않다. ( 기본 메가바이트 단위 )

    - 클라우드 네이티브 애플리케이션을 배포하기에 이상적인 환경

     

    자세한 비교

    댓글

Designed by Tistory.