클라우드를 접한지는 좀 되었지만 가장 처음에 접했던 용어에 대한 기억이 흐릿해져 개념을 확실히 잡을 겸 작성하게 되었습니다.
기본적인 정의
IaaS (Infrastructure as a Service)
IaaS 는 인프라스트럭처 부분, 서버나 네트워크를 빌려주는 형식으로 서비스를 제공합니다.
구축된 서버에 OS나 미들웨어를 설치하거나 네트워크를 설정하는 등의 작업은 클라우드 이용자가 직접 수행해야 합니다.
이 인프라에서는 스토리지, 호스팅, 컴퓨팅, 네트워킹 등이 포함되어 있고 사용한 만큼 비용을 지급하게 됩니다. 기업들은 IaaS 를 통해 소프트웨어 라이선스와 서버 등 IT 자산을 직접 소유하는 대신 필요에 따라 리소스를 유연하게 대여할 수 있습니다.
PaaS (Platform as a Service)
PaaS 는 애플리케이션을 작동하는데 필요한 플랫폼 자체를 서비스로 제공합니다. 플랫폼은 모든 기본 IaaS 를 베이스로 개발툴과 기능, 애플리케이션 배포 등을 안전하게 제공합니다. 또한, 미들웨어와 데이터베이스 관리, OS 등이 포함되어 있습니다.
클라우드 이용자는 해당 플랫폼에서 작동하는 애플리케이션만 작성해서 배포합니다. 플랫폼은 클라우드 제공자가 제공하므로, 서버에 배치를 할당하거나 데이터베이스 백업을 하는 등 인프라스트럭처 운영 범주에 포함되는 작업은 클라우드 제공자가 담당합니다.
SaaS
SaaS 는 서드파티가 호스팅 방식으로 클라우드 제공자가 전용 애플리케이션까지 제공합니다.
일반적으로는 웹을 통해 접속하여 로그인하면 사용할 수 있습니다. 구독 방식으로 금액이 책정되는 것이 보통이며 SaaS 는 머신 혹은 서버를 기준으로 소프트웨어 라이선스를 구매하여 직접 설치해 사용하던 기존 구매 방식과는 차별화됩니다.
클라우드 이용자는 인프라와 미들웨어, 애플리케이션의 전체 운용과 개선 작업을 클라우드 제공업체에 맡길 수 있습니다.
XaaS
XaaS 는 클라우드가 널리 사용되면서 서비스로 제공하는 각종 컴퓨터 리소스에 적용된 다양한 서비스를 제공하는 클라우드의 형태가 등장했습니다.. 대표적으로 BaaS, FaaS, DaaS 가 있습니다.
- BaaS (Backend as a Service) : 모바일 애플리케이션의 서버 부분을 서비스로 제공
- FaaS (Function as a Service) : 애플리케이션보다 작은 기능을 작동하는 플랫폼을 서비스로 제공
- DaaS (Desktop as a Service) : 원격 데스크톱 환경을 제공하는 서비스를 제공
SaaS, IaaS, PaaS 정리
먼저, 구글에서 웹으로 문서 서비스를 해 주는 것을 SaaS 라고 부르는데 또 모든 웹 서비스는 다 SaaS 인 것은 아닙니다.
- SaaS 는 사용하기 쉬운 소프트웨어 응용 프로그램에 대한 액세스를 제공합니다. 서비스 제공업체가 애플리케이션, 데이터 등을 비롯한 모든 것을 관리하기 때문에 사용자는 따로 관리할 것이 없습니다.
- Notion, Figma 등
- IaaS 는 사용자 입장에서 가장 유연한 서비스로 네트워킹 컴퓨팅 및 스토리지에 대한 인프라를 제공합니다. SaaS 와는 다르게 사용자는 인프라를 완전히 제어할 수 있는 환경을 가질 수 있습니다.
- AWS 의 EC2 인스턴스, Heroku 등
- PaaS 는 서비스 제공업체는 개발을 위한 모든 것을 플랫폼으로 제공하고, 사용자는 애플리케이션과 데이터만 관리합니다.
- MS Azure 등