Home [클라우드 컴퓨팅] 6강 - 클라우드 컴퓨팅 기술
Post
Cancel

[클라우드 컴퓨팅] 6강 - 클라우드 컴퓨팅 기술

💡해당 게시글은 방송통신대학교 정재화 교수님의 '클라우드 컴퓨팅' 강의를 개인 공부 목적으로 메모하였습니다.



학습 개요


  • IT 기업 뿐 아니라 일반 기업에까지 클라우드 컴퓨팅의 활용 사례가 늘어남에 따라 고도의 기술 스택을 구성하여 다양한 IT 리소스를 탄력적으로 제공하고 있음
  • 클라우드 컴퓨팅은 온프레미스 방식의 물리적 실행 환경의 제약을 극복하고 사용자에게 실시간으로 프로비저닝된 가상의 리소스를 탄력적으로 제공하기 위한 가상화, 웹 서비스, 가용성 관리 등 다양한 기술의 총집합체라고 할 수 있음
  • 따라서 효율적 클라우드 기반의 시스템 구성 및 운영을 위해 클라우드 컴퓨팅 기술에 대한 구체적인 이해가 필요함
  • 클라우드 컴퓨팅 기술의 핵심이라고 할 수 있는 가상화 기술의 개념 및 특징에 대해 학습하고 서버를 가상화하기 위한 기술의 종류와 차이점에 대해 살펴봄



학습 목표


  • 가상화 소프트웨어의 개념에 대해 설명할 수 있음
  • 가상화 기술의 역할을 나열할 수 있음
  • 서버 가상화 분류 방식의 종류와 특징을 설명할 수 있음



강의록


가상화 기술의 이해

가상화 기술 개요

  • S/W적으로 애플리케이션, 서버, 스토리지, 네트워크와 같은 IT 리소스를 논리적으로 분할/통합하여 리소스의 이용률과 가용성을 높이는 기술
    • 물리적 IT 리소스를 가상의 IT 리소스로 전환
    • 가상화 기술을 활용하여 하나의 서버로 여러 실행 환경 구성
  • 가상화 기술의 장점
    • 물리적 리소스의 소유 비용을 감축
    • 간편한 유지 보수

가상화 소프트웨어의 역할

  • CPU, GPU, 메모리, 스토리지와 같은 H/W적 리소스와 OS, 런타임 등의 S/W적 리소스를 가상화하여 소프트웨어 플랫폼 역할을 함
    • 사용자의 요청에 탄력적으로 리소스를 제공할 수 있는 클라우드 컴퓨팅에 적합한 기술
  • 가상 머신 (Virtual Machine)
    • 가상화 기술을 통하여 나누어진 기초적 논리적 단위의 머신
    • H/W 리소스를 OS가 아닌 VM 수준에서 제어하기 때문에 하나의 H/W상에서 각기 다른 종류의 OS 실행 가능

가상화 기술의 역할

  • 파티셔닝
    • 하나의 물리적 머신을 분할/분배
  • 캡슐화
    • H/W 제어에 요구되는 복잡한 기능을 감추고 간단한 인터페이스를 제공(폴더와 파일로 가상 머신을 구조화)
  • 격리
    • 장애 및 보안 발생 시 캡슐화되어 있는 가상 머신을 분리
  • H/W 독립화
    • 하나의 물리적 머신 안에서 가상 머신을 독립적으로 가동

서버 가상화

서버 가상화의 이해

  • 1960년대부터 다수의 IT 리소스 관리와 운영의 어려움을 보완하기 위한 목적으로 연구 및 개발이 이루어짐
  • 컴퓨터 시스템에서 내부적으로 가상의 기능과 구성 요소를 만들어 내기 위해 적용
  • 서버 가상화의 분류
    • 호스트 가상화 방식
    • 하이퍼바이저 가상화 방식
    • 컨테이너 방식

호스트 가상화 방식

  • HW에 설치된 호스트 OS 상에 가상화 SW가 설치되고 그 위에 SW 실행을 위한 게스트 OS가 구동되는 방식
    • 호스트 OS
      • 직접적인 하드웨어 관리
    • 게스트 OS
      • 가상 머신에게 소프트웨어 실행 환경 제공

    image.png

  • 호스트 가상화 소프트웨어 종류
    • VMWare Workstation
    • Microsoft Virtual Server
    • Oracle Virtual Box
  • 호스트 가상화의 장점
    • 게스트 OS가 HW 리소스에 접근하는 것을 제어하고 동기화하기 때문에 호스트 OS에 제약이 없음
  • 호스트 가상화의 단점
    • 호스트 OS와 게스트 OS의 공존으로 필요 이상의 CPU, 디스크, 메모리 사용의 오버헤드 발생

하이퍼바이저 가상화 방식

  • 특정 OS에 의존하지 않고 하드웨어에 직접 설치되는 구조의 가상화 기술
    • 오버헤드 비용이 적음
    • 하드웨어를 직접 관리하여 리소스 관리가 유연함

    image.png

  • 하이퍼바이저 소프트웨어 종류
    • VMware ESXI
    • Microsoft Hyper-V
    • Citrix XenServer

하이퍼바이저 가상화 방식 분류

  • 전가상화(full-virtualization)
    • H/W를 완전히 가상화하는 방식
    • 관리용 가상 머신 DOMO를 통해 게스트 OS들의 커널 요청을 번역하여 하드웨어로 전달
    • 병목 현상으로 인한 성능 저하 발생

    image.png

  • 반가상화(para-virtualization)
    • 게스트 OS가 하이퍼콜을 요청할 수 있도록 커널이 수정된 형태
    • 리눅스와 같은 오픈소스 OS 이외에는 반가상화가 어려움

    image.png

컨테이너 가상화 방식

  • 컨테이너
    • 애플리케이션을 동작시키는데 필요한 라이브러리 및 종속 리소스를 함께 패키지로 묶어 생성한 호스트 OS상의 논리적인 구역
  • 컨테이너의 장점
    • 게스트 OS의 실행에 소요되는 오버헤드가 없어 상대적으로 고속으로 작동
    • 애플리케이션에서 사용하는 미들웨어나 라이브러리의 버전이 상이하여 발생하는 문제를 컨테이너를 통한 격리로 해결

    image.png

Docker

  • 대표적 오픈소스 컨테이너 엔진(런타임)
  • 반가상화보다 더 경량화 된 방식을 사용하는 리눅스 컨테이너를 기반으로 이미지 생성과 배포에 특화

image.png

Kubernetes

  • 컨테이너 분산 배치, 상태 관리 및 구동 환경을 관리해 주는 도구
  • Kubernetes v1.2(2022년 5월)부터 도커 지원 중단

    image.png



연습 문제


  1. 다음 중 클라우드 컴퓨팅의 가상화 방식이라고 할 수 없는 것은?

    a. 플랫폼 가상화

    • 현재 클라우드 컴퓨팅의 가상화 방식은 호스트 가상화, 하이퍼바이저 가상화, 컨테이너 가상화 방식으로 구성 됨
    • 호스트 OS 상에 가상화 SW와 게스트 OS를 설치하여 가상화하는 방식을 호스트 가상화라고 함
    • 호스트 OS 없이 하이퍼바이저라고 불리우는 가상화 OS상에 게스트 OS만 설치하는 가상화 방식을 하이퍼바이저 가상화 방식이라고 함
    • 게스트 OS 없이 호스트 OS 상에 컨테이너 엔진 만을 설치하고 애플리케이션과 실행 환경을 이미지로 묶어 가상화 할 수 있는 방식을 컨테이너 방식이라고 함
  2. 다음 중 서버 가상화의 역할이라고 할 수 없는 것은?

    a. S/W 독립화

    • 가상화 소프트웨어의 역할은 파티셔닝, 캡슐화, 격리 및 H/W 독립화임
  3. 지문의 그림은 어떤 서버 가상화 방식에 대한 설명인가?

    image.png

    a. 하이퍼바이저 가상화 - 전가상화

    • 하이퍼바이저는 하드웨어에 직접 설치되어 가상 환경을 구성하는 가상화 방식이며 CPU 가상화 지원 기능을 사용하는 전가상화와 하이퍼콜을 통해 가상화를 지원하는 반가상화 방식으로 구분됨



정리 하기


  • 가상화 기술은 애플리케이션, 서버, 스토리지, 네트워크와 같은 IT 리소스를 논리적으로 분할/통합하여 리소스의 이용률과 가용성을 높이는 기술임
  • 가상화 소프트웨어의 역할은 파티셔닝, 캡슐화, 격리 및 H/W 독립화임
  • 서버 가상화는 컴퓨터 시스템에서 내부적으로 가상의 기능과 구성 요소를 만들어 내는 역할을 수행함
  • 서버 가상화는 호스트 가상화, 하이퍼바이저 가상화, 컨테이너 가상화 방식으로 구분 됨
  • Docker는 반가상화보다 더 경량화 된 방식을 사용하는 리눅스 컨테이너를 기반으로 이미지 생성과 배포에 특화되었음
Contents

[오픈 소스 기반 데이터 분석] 6강 - 데이터 전처리

[오픈 소스 기반 데이터 분석] 7강 - 데이터 전처리