본문 바로가기
Tech/Docker

클라우드 이해

by Augustine™ 2018. 12. 19.
반응형

SPI 모델이란

SPI 모델이라는 것은 가장 일반적인 클라우드를 구분하는 방법으로, 3가지(SaaS, PaaS, Iaas)로 구분된다.

1) SaaS(Software as a Service) : 인프라, 플랫폼 뿐만 아니라, 소프트웨어까지 서비스하는 형태이다.

 Google Drive, Google Photo, Naver Cloud 등이 이에 해당된다.

2) PaaS(Platform as a Service) : 인프라, 플랫폼까지 서비스하는 형태이다.

아마존 AWS EMR이 여기에 해당된다.

3) IaaS(Infrastructure as a Service) : 인프라의 자원을 서비스하는 형태이다. 가장 흔한 Cloud 형태라 할 수 있다.

아마존 AWS EC2가 여기에 해당된다.


클라우드가 각광을 받는 이유?

과거 IT 체계를 구축하려면, 인프라부터, 플랫폼, 애플리케이션까지 관리자가 모든 것을 관리해야 했다. 인력도 많이 필요할 뿐더러, 이러한 체계를 구축하는데 많은 시간과 비용이 필요했다.

이러한 전통적인 모델을 On-Premise 라고도 하는데, On-Premise에서는 Application, Database, Middleware, O/S, Storage, Networking 등 관리해야 하는 부분이 너무 많기 때문에, 초기 구축에 비용이 많이 발생할 뿐만 아니라, 확장성에도 문제점이 생기게 된다.


이에 반해, 인프라 서비스를 제공하는 형태인 IaaS는 Server, Storage, Networking 등 클라우드에서 이러한 서비스를 제공하기 떄문에, 구축하고자 하는 플랫폼에 Application(Software)만 직접 구현(관리)하면 된다. 따라서, 관리 비용 뿐만 아니라 확장성에도 매우 강점을 가지고 있다.

온라인에서 물품을 파는 서비스를 제공하는 아마존의 매출의 70%가 자사 클라우드 서비스인 AWS에서 발생한다고 한다. 뿐만 아니라, Microsoft사에서도 Assure 서비스를 내놓고 있으니, 그야말로 이제는 클라우드가 대세다.


가상화(Virtualization)

클라우드 개념을 설명하면서, 가상화(Virtualization)을 빼놓고 얘기할 수 없다.

클라우드에서 가상화란 컴퓨터 자원(CPU, 메모리, 저장장치, 네트워크 등)의 추상화를 말한다.

가상화의 레벨은 API, ABI, ISA 로 분류된다.

API 레벨의 가상화는 응용프로그램의 함수/메소드 수준에서 가상화를 제공한다.

ABI(Application Binary Interface) 레벨의 가상화는 플랫폼과 소프트웨어 사이 수준의 가상화로서, API 레벨보다는 낮은 레벨이다. 

ISA(Infrastrution Set Architecture) 레벨의 가상화는 하드웨어와 소프트웨어 사이의 인터페이스 수준의 가상화이다.


Scale-Up 과 Scale-Out

Scale-Up이란 서버 자체의 용량과 처리 능력을 향상시키는 것으로, 수직 스케일로 불리기도 한다. 

이에 반해 Scale-Out은 서버의 대수를 늘려 처리능력과 용량을 향상시키는 것으로, 수평 스케일로 불리기도 한다.


하이퍼바이저 종류





Type1은 하이퍼바이저가 Host OS없이 하드웨어 위에서 실행된다. 대표적으로 Vmware에 ESXI가 있다. 

Host OS 없이 실행되는 것이라 Type2에 비해 비교적 가벼운 느낌이다. 한정된 자원에서 여러 시스템을 운영해야 하는 경우에 적절하다.

이에 반해 Type2의 하이퍼바이저는 Host OS위에 Hypervisor가 실행되고 그 위에 Guest OS를 올리는 방식이다. 흔히 쓰이는 Oracle 의 GPL기반의 하이퍼바이저인 VirtualBox가 있다. Type1에 비해 무거운 느낌이다.


전가상화와 반가상화

전가상화(Full Virtualization)

  • 하드웨어를 완전히 가상화한다.
  • OS의 제약없이 사용할 수 있다.
  • Guest OS는 자신이 가상화 위에서 동작하고 있다는 것을 인식할 수 없다.
  • 시스템에서 가상화 지원 기능이 필요 할 수 있다.(인텔 VT-x, AMD-v)
  • Guest OS에서 물리자원을 직접 접근할 수 없다. 반드시 하이퍼바이저를 통해서 접근해야 하며 성능저하가 발생한다.

전가상화에서 Hypervisor 역할

  • 각각의 OS 커널들의 Application으로부터 명령어를 번역해주는 역할을 한다. 각 OS 커널마다 명령어가 틀리기 때문이다.
  • Guest OS들에게 자원을 할당해주는 운용 역할도 담당한다.

반가상화(Para Virtualization)

    • 게스트OS가 자신이 가상머신 위에서 동작하고 있다는 것을 인식할 수 있다.
    • OS의 제약이 있다.
    • Guest OS에서 물리자원을 직접 접근 가능하며 이로 인해 성능개선이 가능하다.


    반응형

    댓글