클라우드 서비스 제공자가
프로그래밍 언어와 개발 환경을 포함한 플랫폼 기능을 제공하여 사용자가 애플리케이션을 배포, 관리, 실행할 수 있는
클라우드 서비스.
클라우드 컴퓨팅에서 사용자는
정보 기술(
IT) 자원 - 스토리지, 서버, 네트워크 등 - 을 필요한 만큼
클라우드 서비스 제공자로부터
가상화된 서비스로 빌려서 사용할 수 있다. 서비스 부하에 따라서 실시간으로 빌려 사용하던 자원을 확장하거나 축소할 수 있고 일반적으로 사용한 만큼 비용을 지불한다.
정보 기술(
IT) 자원의 관리나
유지 보수는 사용자 대신
클라우드 서비스 제공자가 책임진다.
이때
클라우드 서비스 제공자가
정보 기술(
IT) 자원 중 하드웨어,
가상 머신,
저장 장치 등의 인프라스트럭처(
infrastructure)와 인프라스트럭처 위에 추가로
소프트웨어 개발을 위한
프로그래밍 언어와 이에 대한 개발 환경을
가상화된 서비스로 사용자에게 제공하는 형태의 서비스를 서비스형 플랫폼이라고 한다. 여기서 플랫폼이란
응용 소프트웨어를 개발하거나 운영할 때 공통적으로 사용되는
운영 체제,
프로그래밍 언어의 실행환경,
웹 서버(
Web server),
데이터베이스(
database),
파일 시스템(
file system), 각종 미들웨어(middleware) 등을 포함한다.
사용자는
클라우드 서비스 제공자가 책임을 지고 유지·관리해주는 플랫폼 위에서
응용 소프트웨어를 개발하고, 운영하기만 하면 된다.
서비스형 인프라스트럭처에서 애플리케이션을 개발한다면 각종 소프트웨어 설치 뿐 아니라, 필요하면 네트워크 설정이나 관련된 보안 설정들을 직접 해야 한다. 그러나 서비스형 플랫폼에서는 사용자가 원하는 애플리케이션을 개발할 때 웹 프레임워크의 이름과 버전을 지정해서 플랫폼을 제공받을 수 있다. 여기에는
데이터베이스,
웹 서버, 모니터링 도구, 네트워크, 보안 등 각종
구성 요소들이 함께 제공되어 사용자는 하고자 하는 서비스를 바로 플랫폼에서 개발하고 운영할 수 있다.
서비스형 플랫폼의 대표적인 예로 구글 앱 엔진(Google
App Engine), 아마존
웹서비스(AWS)의 Elastic Beanstalk 등이 있다.