Without a Break

Cloud Computing Infrastructure에 대한 이해 본문

Cloud/클라우드컴퓨팅서비스의개인정보보호

Cloud Computing Infrastructure에 대한 이해

와븨 2023. 9. 30. 01:40

가상화(Virtualization)의 정의

실제가 아닌 가상 컴퓨터 하드웨어 플랫폼, 저장 장치 및 컴퓨터 네트워크 자원을 만드는 행위
 

Time Sharing

프로세서는 한 번에 하나의 프로세스를 처리할 수 있다.
•  사용자의 프로세스가 무거운 작업을 수행한다면 다른 프로세스들은 처리되지 못한다.

•  운영 체제(OS)에는 메커니즘이 필요하다.
    - 모든 사용자 프로세스 간의 시간을 나누려면? : 시간을 어떻게 공유할 것인지 전략이 필요하다.

=> Time Sharing (시분할) 활용

 
 
운영 체제의 CPU 스케줄링 - Time Sharing
•  CPU는 전략을 사용하여 작업을 하나씩 처리한다.
     - SJF : Short Job First

     - FIFO : First In First Out
     - EDD : Earliest Due Data
• 전략의 목적이 중요하다. (효율성, 공정성 등)

 

룰렛 메소드
- 확률적인 값을 정해서 의사결정
 

RR (Round Robin)
- 순서대로 진행
 

Resource Pooling

Dedicated Resource(전용 자원) vs. Shared Resource (공유 자원)

DR(Dedicatied Resource)
- 개인 정보와 보안을 보존
- 리소스 구매 계획(purchasing plan)이 필요하고, 리소스 사용 면에서 비효율적
- 과대 자원과 과소 자원 문제

SR(Shared Resource)
- 유연성과 효율성을 제공
- 관리 정책 및 자동화된 관리 도구가 필요
- 잘 관리될 때, 리소스를 효과적으로 활용하여 비용 대비 효과(cost-effectiveness)를 기대 가능
 

=> Resource Pool 활용

 

Resource Pool

• 고객 간의 필요에 따른 리소스 공유
• 점유 중인 리소스의 해제가 필요할 때 발생할 수 있음
• 관리 계획이 잘 수립되면 리소스를 효율적으로 관리 가능
 

Virtualization

리소스 풀의 관리를 어떻게 구현할까?
• 가상화(virtualization) : resource pool을 구축하는 핵심 기술입니다.
• Hypervisor
   - 가상 머신과 물리 리소스를 모니터
   - 가상 리소스와 물리 리소스 간을 중재
 
가상 머신의 요구에 따른 가상 머신의 생성
• resource pool에서 가상 머신에 리소스 할당
• Multi-tenancy : 여러 가족이 같은 집에서 산다는 개념
• IaaS(Infrastructure as a Service)의 기반
 

Virtualization의 정의

• 하드웨어 리소스 위에 분리된 여러 가상 머신을 만들어 하드웨어 이용률을 향상시키는 것
• 하드웨어와 가상 머신 간의 중재를 지원하는 새로운 시스템 소프트웨어 필요 → Hypervisor
 

Virtual Machine vs Container

 

Virtual Machine의 이점

1. 컴퓨팅 파워가 증가함에 따라, 컴퓨팅 리소스를 효율적으로 관리하는 필요성이 중요해진다.
 
2. 가상 머신(VM)에 포함된 프로그램의 종류를 제한해야 한다.
• 보안 조치를 위해 일부 프로그램을 다른 프로그램과 함께 실행할 수 없다.
• 일부 프로그램을 별도의 가상 머신에 포함시킨다.

3. 기업이 고객 요청에 신속하게 대응하기 위해 새로운 서버를 추가해야 할 때, 가상 머신을 small-time window에 배치할 수 있다.
 
4. 서비스 제공 업체의 현장에서 예상치 못한 재해가 발생할 수 있다.
• VM 이미지는 새로운 서버를 생성하는 데 사용된다.
• 재해 발생지에 위치한 서버와 동일한 역할을 한다.

5. 물리적인 기계에 여러 VM을 배치함으로써, 서비스 제공 업체는 물리적 기계의 활용도를 향상시킬 수 있다.
• 특정 수준의 활용도에서 VM이 비활성화되면 관리자는 VM을 종료하고 삭제할 수 있다.
 

Hypervisor Types

Type1

  • 하드웨어에서 실행되며 하드웨어와 하이퍼바이저 사이에 소프트웨어 레이어가 존재하지 않는다.
  • 일반적으로 하이퍼바이저에 접근하고 제어하기 위한 콘솔 소프트웨어가 있다.
  • 호스트 운영 체제에서 작동하는 Type 2와 비교하여 Type 1 하이퍼바이저는 더 나은 성능을 가질 수 있다.
  • ex.  VMware vSphere with ESX/ESXi, Microsoft Hyper-V 및 Citrix Hypervisor (Xen Server) 등

 
Type2

  • 호스트 운영 체제에서 실행되며 가상화를 위한 추가 소프트웨어 레이어로 존재한다.
  • 운영 체제의 하이퍼바이저는 서버 운영 체제의 다른 일반적인 응용 프로그램과 마찬가지로 처리할 수 있다.
  • Type 2는 호스트 시스템의 응용 프로그램이 하이퍼바이저 및 게스트 운영 체제에 상호 위협이 될 수 있으므로 덜 안전할 수 있다.
  • ex.  VMware Workstation Pro/VMware Fusion, Oracle VirtualBox 등 (우리에게 익숙한 애들이 더 많음)

 
- Type 1 하이퍼바이저는 VM을 개인 클라우드 인프라 및 리소스 풀로 사용할 계획을 하는 기업에 적합
- Type 2 하이퍼바이저는 개인용으로 사용하거나 실험용으로 설정하는 데 적합
 

Protection Ring

 

Para-virtualization vs Full-virtualization

 

Full virtualization

  • VMM(Hypervisor)은 하드웨어 기능을 완전히 제공하며 하드웨어에 접근하는 이진 번역을 사용하여 게스트 운영 체제에 제공한다.
  • 게스트 운영 체제는 자신이 가상화 레이어에 배치되었다는 사실을 인식할 수 없다.
  • 게스트 운영 체제의 성능을 심각하게 저하시킬 수 있다.
  • VMM은 하드웨어 리소스에 대한 모든 액세스를 중재한다.
  • VMM이 하드웨어에 대한 운영 체제의 역할을 하기 때문에, Hypervisor는 Protection Ring 0에 위치하며 이는 운영 체제를 위한 위치이다.
  • 게스트 운영 체제는 사용자 응용 프로그램을 위한 위치인 Ring 1에 위치한다.

 

Para-virtualization

  • 게스트 운영 체제는 가상화를 위해 수정돼야 한다.
  • 게스트 운영 체제의 사용자는 운영 체제가 하이퍼바이저에서 작동 중임을 알 수 있다.
  • 게스트 운영 체제는 하드웨어에 액세스하기 위해 hypercalls을 사용하며, 가상화 레이어는 이 호출을 완전 가상화의 이진 번역과 비교하여 더 낮은 오버헤드로 중재한다.
  • 가상화를 위한 하드웨어 보조 기능을 필요로하지 않는다.

 

Full- virtualization (HW assistance)

  • HW assistance 가상화는 CPU의 지원을 기반으로 작동하는 완전 가상화의 한 형태
  • 게스트 운영 체제의 성능이 현격하게 향상
  • 게스트 운영 체제를 수정할 필요가 없다.
  • 하이퍼바이저의 일부 기능은 CPU에 구현
  • Protection Ring 시스템 관점에서 하드웨어 보조 가상화는 VMM을 보호 링 -1에 위치시키고 게스트 운영 체제를 ring 0에 위치시킨다.
  • 게스트 운영 체제의 사용자는 시스템 보안 측면의 차이를 인식하지 못할 수 있다.
  • HW assistance to VM : AMD-V, Intel Virualization(VT-X)

 

Protection Ring and Virtualization

즉, 가상화는 하나의 리소스로 여러 병렬 실행하는 것을 의미한다.