클라우딩 컴퓨팅이란?
저자는 클라우딩 컴퓨팅의 진정한 본질은 물리적이고 기술적인 시스템 구조나 전산 장비들로만 만들어지는 것이 아니고, API에 있다고 봄.
Public Cloud vs Private Cloud
Private Cloud
- 특정 기업 내부에서만 사용하는 클라우드 환경
Public Cloud
- 여러 기업이 함께 사용할 수 있는 클라우드 환경
- 사용자마다 각자 격리된 공간에서 같은 클라우드 환경을 사용할 수 있음.
과연 어떻게 각 사용자마다 격리된 공간을 구성할 수 있을까?
클라우드 환경에서 멀티 테넌트 (multi-tenant)라는 기능을 제공해서 가능함.
멀티 테넌트 덕분에 보기에는 자신만 사용하는 클라우드로 보이지만, 실제로는 여러 (기업) 사용자가 서로 간섭 없이, 자신만의 격리된 공간에서 같은 클라우드 환경을 사용하고 있음.
IaaS, PaaS, Saas
이 책에서는 먼저 IaaS 클라우드 형태를 다룸.
IaaS (Infra as a Service)
- 시스템 인프라를 제공하는 클라우드 서비스
PaaS (Platform as a Service)
- 미들웨어, 프레임워크를 제공하는 클라우드 서비스
SaaS (SW as a Service)
- 애플리케이션 서비스를 제공하는 클라우드 서비스
몰랐던 점 1
PaaS가 IaaS위에서, SaaS가 PaaS 위에서 제공되는 줄 알았지만 (약간 계층형?), 그렇지 않음.
- SaaS의 경우 서비스 사용자 관점에서 볼 수 있는 영역이 애플리케이션 UI로 제한된다. (구글 시트 등을 들 수 있음)
- 만약 인프라 단이 아니라, 애플리케이션 단에서 멀티 테넌트 기능을 구현하고 있으면, 같은 애플리케이션을 사용하더라도 여러 사용자를 수용할 수 있음. (반드시 인프라를 가상화할 필요가 없음)
- 반면에 IaaS의 경우, 서버나 네트워크 등 인프라 구성 컴포넌트를 사용자별로 독립된 형태로 제공할 수 있어야 함. (따라서 인프라 컴포넌트를 가상화하여 제공해주어야 함.)
클라우드 서비스의 장점
시스템의 물리적인 환경을 의식하지 않고도 인프라를 구축할 수 있음.
- 라우터나 스위치의 기능이 추상화되어 서비스 형태로 제공되기 때문.
- 이러한 이유로, 필요한 시점에만 시스템을 같은 방법으로 구축할 수 있음.
- 마이그레이션도 비교적 쉽게 할 수 있음.
한번 정의한 작업 절차에 따라 같은 사양의 시스템을 몇 번이든 반복해서 구축할 수 있음.
클라우드 환경에서 시스템을 API를 통한 구축이 가능해서 ⇒ 구성 관리 툴을 활용하여 구성이 더 복잡한 경우라도 자동화하는 것이 가능.
(Terraform 같은 Infrastructure as Code??도 가능한 이유)
또한 이러한 이유로, 웹 서버의 부하에 따라 가상 머신 개수를 조절하는 등 오토스케일링 같은 처리도 커스텀하게 구현 가능. (물론 이미 서비스로 제공하고 있음)
몰랐던 점 2
AWS 사용할 때, 웹 콘솔, 명령어 드을 사용해서도 구성할 수 있다고는 알았는데 생각해보니 이게 API를 사용한 제어 방식으로 인해서 가능하다고 생각은 하지 못했었음.
'DevOps & SRE > AWS & Cloud' 카테고리의 다른 글
[클라우드 인프라와 API의 구조] 7. 네트워크 리소스를 제어하는 방법 (0) | 2021.04.04 |
---|---|
[클라우드 인프라와 API의 구조] 6. 블록 스토리지 리소스를 제어하는 방법 (0) | 2021.03.30 |
[클라우드 인프라와 API의 구조] 3. 클라우드를 제어하는 API의 동작 방식 (0) | 2021.03.29 |
[클라우드 인프라와 API의 구조] 5. 서버 리소스를 제어하는 방법 (0) | 2021.03.29 |
[클라우드 인프라와 API의 구조] 2. 클라우드 컴포넌트 종류 (0) | 2021.03.27 |