클라우드 서비스에서 가장 일반적은 모델은 IaaS(Infrastructure-as-a-Service), PaaS(Platform-as-a-Service), SaaS(Software-as-a-Service)의 세 가지이며, 이를 개별적으로 사용하거나 혼용하여 사용되고 있습니다. 때문에 개념적으로 혼동되는 경우도 종종 존재합니다.

SaaS(Software-as-a-Service))

SaaS는 클라우드 기반 소프트웨어 또는 클라우드 어플리케이션이라고 합니다. 클라우드에서 호스팅되고 웹 브라우저, 전용 데스크톱 클라이언트, 데스크톱/모바일 운영체제와 토합되는 API를 통해 액세스 하고 사용하는 애플리케이션 소프트웨어입니다. 대부분의 경우 SaaS 사용자는 월단위 혹은 연단위의 구독료를 지불합니다. 물론, 사용량에 따른 종량제도 있을 수 있습니다.

SaaS는 클라우드의 비용절감, 목표 달성을 위한 시간 소요 절감, 확장성 등의 가치 외에도 아래와 같은 이점이 존재합니다.

  • 자동 업그레이드 : SaaS를 사용하는 경우 공급업체가 온프레미스 환경에 일일히 접근하여 업그레이드를 하지 않아도, 새 기능이 추가와 동시에 바로 사용할 수 있게 됩니다.
  • 데이터 손실 방지 : 어플리케이션 데이터가 클라우드에 있기 때문에 어플리케이션과 장치에 이상이 생기더라도 데이터의 손실이 발생하지 않습니다.

SaaS는 오늘날 대부분의 상용 소프트웨어가 채택하고 있는 기본적인 모델이 되고 있습니다. 따라서 부서에서 사용하는 작은단위의 소프트웨어 뿐 아니라 엔터프라이즈 소프트웨어 데이터베이스 및 인공지능 소프트웨어까지 수십만개의 SaaS 솔루션을 활용할 수 있습니다.

PaaS(Platform-as-a-Service)

PaaS는 소프트웨어 개발자에게 필요한 하드웨어, 소프트웨어 스택, 인프라, 개발도구 등을 클라우드로 제공하는 방식을 말합니다. 온프레미스에서 유지하는 데에 드는 비용과 복잡함, 유연하지 못한 환경 등과는 다르게 자유로운 어플리케이션 개발과 실행 환경을 제공합니다.

클라우드 업체는 PaaS를 통해 데이터 센터에서 서버, 네트워크, 스토리지, 운영체제 소프트웨어, 미들웨어, 데이터베이스 등의 모든 컴퓨팅 자원을 호스팅합니다. 개발자는 필요한 자원을 선택하여 어플리케이션을 실행하고, 빌드하고, 테스트하고, 배포하며, 유지관리와 업데이트 및 확장하는 데에 필요한 서버와 환경을 ‘스핀 업’합니다

최근 PaaS는 가상서버의 구성에서 한 단계가 제거된 컨테이너를 중심으로 구축되는 추세입니다. 컨테이너는 운영체제를 가상화하여 개발자가 미들웨어의 수정없이 모든 플랫폼에서 운영체제 서비스만으로도 어플리케이션을 패키징 할 수 있게 합니다.

Red Hat OpenShift는 Docker 컨테이너와 컨테이너 기반 어플리케이션을 위해 배포, 확장, 로드밸런싱 등을 자동화하는 오픈 소스 기반 컨테이너솔루션인 Kubernetes를 기반으로 구축된 유명한 PaaS입니다.

IaaS(Infrastructure-as-a-Service)

IaaS는 대부분 종량제 방식으로 인터넷을 통한 기본 컴퓨팅 리소스(물리/가상 서버, 네트워크, 스토리지 등)를 제공합니다. IaaS는 사용자의 필요에 따라 리소스를 확장하거나 축소할 수 있으므로, 초기 자본 투입이 적고, 상황에 따른 유연한 운영이 가능해집니다.

IaaS는 SaaS, PaaS와는 다르게 사용자에게 클라우드 컴퓨팅 리소스의 최저 수준의 제어를 제공합니다. IaaS가 등장한 초기에는 가장 인기있는 클라우드 컴퓨팅 방식이었지만, SaaS나 PaaS의 증가가 훨씬 빠르며, 지금은 여러 워크로드에 대한 클라우드 모델로 남아있습니다.

서버리스 컴퓨팅

서버리스 컴퓨팅(이하 서버리스)는 모든 백엔드 인프라 관리작업(프로비저닝, 확장, 예약, 패치)을 클라우드 공급자에게 맡겨, 개발자가 각각의 어플리케이션에 대한 코드 및 비즈니스 로직에 모든 시간과 노력을 집중할 수 있도록 하는 클라우드 컴퓨팅 모델입니다.

또한 서버리스는 요청에 의해서만 어플리케이션 코드를 실행하고, 자원 인프라를 자동으로 조절합니다. 고객은 어플리케이션이 실행 중일 때 사용되는 리소스에 대해서만 비용을 지불하고, 유휴 용량에 대해서는 비용을 지불하지 않습니다.

이를 FaaS(Function-as-a-Service)의 하위 집합과 혼동되는 경향이 있습니다. FaaS를 통해 개발자는 특정 이벤트에 대한 응답으로 어플리케이션 코드(함수)의 일부를 실행할 수 있습니다. 코드 이외의 모든 것(하드웨어, 가상머신 운영체제, 웹 서버 소프트웨어 관리 등)은 코드가 실행될 때 실시간으로 클라우드 서비스 제공 업체에 의해 자동으로 프로비저닝 되고, 실행의 완료에 따라 다시 구동합니다. 이에 따라 비용청구는 실행이 되는 때에만 발생합니다.

<서버리스 컴퓨팅 더보기>


<원문>

IBM Cloud에서 데이터 모델링에 대해서 자세히 알고 싶으신가요? 지금 IBM에서 무료 계정을 등록하고 더 자세하게 알아보세요.