DevOps & SRE/AWS & Cloud

[클라우드 인프라와 API의 구조] 1.클라우딩 컴퓨팅과 API의 역할

반응형

클라우딩 컴퓨팅이란?

저자는 클라우딩 컴퓨팅의 진정한 본질은 물리적이고 기술적인 시스템 구조나 전산 장비들로만 만들어지는 것이 아니고, 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를 사용한 제어 방식으로 인해서 가능하다고 생각은 하지 못했었음.

반응형