PaaS(Platform-as-a-Service)는 클라우드 컴퓨팅 모델 중 하나로, 고객에게 하드웨어, 소프트웨어, 인프라가 포함된 완전한 클라우드 플랫폼을 제공합니다. 여기서 애플리케이션을 개발, 실행하고 관리할 수 있습니다. 온프레미스에서 플랫폼을 구축하고 유지할 때와 달리 많은 비용이 들거나 복잡성이 증가하거나 유연성이 떨어지지 않습니다.
PaaS 제공자는 데이터 센터에서 서버, 네트워크, 스토리지, 운영체제 소프트웨어, 데이터베이스, 개발 툴 등 모두를 호스팅합니다. 일반적으로 고객들은 지정된 수의 사용자에 대해 지정된 용량의 리소스를 제공하기 위해 고정 요금을 지불하거나, 사용하는 리소스에 대해서만 비용을 지불하는 '종량과금제' 가격 책정을 선택할 수 있습니다. PaaS 고객은 그 중 어느 옵션을 사용하더라도, 자체 온프레미스 플랫폼을 확장하고 관리해야 하는 경우 가급적 보다 빠르고 저렴하게 애플리케이션을 빌드, 테스트, 배치, 실행, 업데이트, 스케일링할 수 있습니다.
AWS(Amazon Web Services), Google Cloud, IBM Cloud 및 Microsoft Azure 등을 포함한 모든 선도적인 클라우드 서비스 제공자는 자체 PaaS 오퍼링을 보유하고 있습니다. 인기 있는 PaaS 솔루션은 오픈 소스 프로젝트(예: Apache Stratos, Cloud Foundry)의 형태로, 또는 소프트웨어 벤더(예: Red Hat OpenShift 및 Salesforce Heroku)에 의해 제공되기도 합니다.
온프레미스 플랫폼과 비교하여 가장 많이 언급되는 PaaS의 장점은 다음과 같습니다.
일반적으로 PaaS 솔루션은 크게 3가지 영역으로 나눕니다.
PaaS가 GUI 온라인 인터페이스를 통해 모든 표준 개발 툴을 제공하므로, 개발자는 어디서든 로그인하여 프로젝트와 관련하여 협업하거나, 신규 애플리케이션을 테스트하거나, 완료된 제품을 롤아웃할 수 있습니다. 애플리케이션은 미들웨어를 통해 PaaS에서 바로 설계되고 개발됩니다. 간소화된 워크플로우 덕분에 여러 개발 팀과 운영 팀이 동시에 같은 프로젝트에서 작업할 수 있습니다.
PaaS 제공자가 서버, 런타임 및 가상화 등 대부분 클라우드 컴퓨팅 서비스를 관리합니다. PaaS 고객인 해당 기업은 애플리케이션 및 데이터 관리를 맡습니다.
PaaS와 마찬가지로, IaaS(Infrastructure-as-a-Service) 및 SaaS(Software-as-a-Service) 역시 매우 일반적인 클라우드 컴퓨팅 서비스 모델입니다. 사실상 기업에서는 (특별히 구매하지 않았더라도) 이 세 가지를 모두 사용하는 경우가 대부분입니다. 이에 대해 좀더 자세히 살펴봅니다.
IaaS는 클라우드 제공자가 호스팅하는 물리적 서버, 가상 머신, 스토리지, 네트워킹, 방화벽 등의 '원시' IT 인프라에 대한 인터넷 액세스입니다. IaaS에서는 온프레미스 인프라를 소유, 관리, 유지보수하는 비용과 수고가 사라집니다. IaaS에서는 해당 기업이 자체 애플리케이션 플랫폼과 애플리케이션을 제공합니다.
해당 리소스가 IaaS로 따로 구분되거나 지칭되지 않더라도, PaaS 오퍼링에는 반드시 그 호스팅에 필요한 IaaS 리소스가 포함되어 있습니다.
SaaS는 마치 컴퓨터에 설치된 것처럼 클라우드를 통해 사용하는 애플리케이션 소프트웨어입니다(일부 경우, 이 중 일부는 자신의 컴퓨터에 설치됨). SaaS에서는 애플리케이션의 실행을 위한 인프라 구축 비용, 그리고 (버그 수정과 업데이트 적용, 가동 중단 처리 등) 애플리케이션의 유지보수를 위한 작업과 인력 없이도 해당 애플리케이션을 사용할 수 있습니다. Salesforce 및 Slack은 유명한 SaaS 오퍼링의 예입니다. 대부분 웹 애플리케이션은 SaaS로 간주됩니다.
모든 SaaS 오퍼링에는 그 호스팅에 필요한 IaaS 리소스, 그리고 실행에 필요한 PaaS 구성 요소가 포함되어 있습니다. 일부 SaaS 벤더에서는 써드파티가 SaaS 오퍼링을 사용자 정의할 수 있도록 허용하는 별도의 PaaS도 제공합니다.
바로 사용할 수 있는 통합 플랫폼을 제공함으로써, 그리고 기업들이 인프라 관리를 클라우드 제공자에게 맡기고 애플리케이션 빌드, 배치, 관리에만 집중할 수 있도록 함으로써 PaaS는 다음을 포함하여 다수의 IT 이니셔티브를 간소화하거나 개선할 수 있습니다.
많은 클라우드, 소프트웨어 및 하드웨어 벤더는 특정 유형의 애플리케이션을 구축하기 위한 PaaS 솔루션 또는 특정 유형의 하드웨어, 소프트웨어 또는 디바이스와 상호 작용하는 애플리케이션을 제공합니다.
앱을 현대화하고 새로운 앱을 빌드하고 비용을 줄이고 ROI를 극대화합니다.
한 번의 클릭으로 고가용성의 완전 관리형 클러스터를 배치합니다.
마이크로서비스를 이용하는 애플리케이션 개발 방식은 어떤 조직에서든 쉽지 않은 일이 될 수 있습니다. 그러나 점점 더 많은 마이크로서비스 사용자가 개발자 생산성 향상, 고객 만족도 상승, 출시 일정 단축 등 그 노력에 상응하는 이점을 누릴 수 있다는 데 동의하고 있습니다.
가장 많이 사용되는 세 가지 클라우드 컴퓨팅 서비스 모델을 이해하고 비교합니다.
클라우드 컴퓨팅을 이용하면 인터넷을 통해 인프라에 '플러그인'할 수 있으며, 이를 온프레미스에 설치하고 유지보수하지 않아도 컴퓨팅 리소스를 사용할 수 있습니다.