Cloud Model

Traditional on-premises (레거시 시스템) : 클라이언트 매니저가 모든 것을 관리
IaaS : 클라우드 벤더가 OS까지 관리해주고, 클라이언트 매니저는 그 외의 부분을 관리
PaaS : 클라이언트 매니저는 어플리케이션 부분만 개발 및 관리하면 된다.
SaaS : 전체를 클라우드 벤더에게 맡길 수 있음. (기존의 개발되어 있는 소프트웨어를 그대로 사용하는 경우)

IaaS


IaaS : 네트워크를 통해 컴퓨팅 리소스(자원)를 제공하는 모델


- 하이퍼바이저를 기반으로 한 클라우드
: OS를 관리
- 컨테이너를 기반으로 한 클라우드
: 어플리케이션을 관리, 게스트OS가 없음
게스트 OS 없이 어떻게 어플리케이션을 구동하지?
: Bins/Libs 내에 OS의 커널단까지 구동할 수 있도록 구성되어 있음


PaaS


PaaS : 어플리케이션 실행 환경 및 개발 환경을 제공하는 모델








- VM, Hypervisor 역할은 BOSH가 한다.
- 커널 역할은 garden-linux
- garden은 컨테이너 가상화를 한다.

플리케이션을 배포할 때
- garden 위에서 어플리케이션을 만든다.
- 배포명령을 실행하면 Diego 컨테이너가 만들어진다.
- Applicatio 코드 배치 & Biuldpack 찾기를 거쳐
- Diego cell로 만들어진다.

- Blockstore : 컨테이너를 배포할 수 있는 곳

- Blockstore 에 컨테이너를 요청하면 사용할 수 있음






- 제공 받은 어플리케이션에 대한 내용이 저장되어야 한다.
이를 관리하는 것이 PaaS에서 매우 중요.
