PaaS(Platform-as-a-Service)

menu icon

PaaS(Platform-as-a-Service)

PaaS(Platform-as-a-Service)는 애플리케이션의 개발, 실행 및 관리를 위한 완벽하고, 유연하며, 비용 효율적인 클라우드 플랫폼을 제공합니다.

PaaS(Platform-as-a-Service)란?

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의 가장 많이 언급되는 장점들은 다음과 같습니다.

  • 시장 출시 시간 단축. PaaS를 사용하면, 애플리케이션 개발 플랫폼의 빌드와 유지보수에 사용되는 하드웨어와 소프트웨어를 구입하여 설치할 필요가 없습니다. 또한 이러한 작업 중에 개발 팀이 기다릴 필요도 없습니다. 단순히 클라우드 서비스 제공자의 PaaS를 활용함으로써 리소스의 프로비저닝과 즉각적인 개발을 시작할 수 있습니다.
  • 다양한 리소스에 대한 저렴한 액세스. PaaS 플랫폼은 일반적으로 대부분의 기업들이 사실상 또는 적절하게 직접 유지보수할 수 있는 것보다도 운영체제, 미들웨어, 데이터베이스 및 개발 툴을 포함한 애플리케이션 스택의 광범위한 선택사항에 대한 액세스를 제공합니다.
  • 위험을 줄이면서도 보다 자유롭게 체험. PaaS를 사용하면 새로운 운영체제, 언어 및 기타 툴 또는 이의 실행에 필요한 인프라에서 기본 투자 없이도 이를 체험하거나 테스트할 수 있습니다.
  • 간편하고 비용 효율적인 확장성. 온프레미스 플랫폼에서 스케일링은 항상 비용이 많이 들고, 종종 소모적이며, 때로는 부적절합니다. 사용자는 트래픽 급증을 예상하여 추가적인 컴퓨팅, 스토리지 및 네트워킹 용량을 구매해야 합니다. 해당 용량 중 다수는 낮은 트래픽 기간 중에 유휴 상태에 있으며, 그 중 어느 것도 예기치 못한 수요 급증을 처리하기 위해 즉시 증가될 수 없습니다. PaaS에서는 추가 용량을 구입함으로써 필요할 때마다 즉시 이의 사용을 시작할 수 있습니다.
  • 개발 팀의 유연성 향상. PaaS 서비스는 인터넷이 연결된 모든 위치에서 개발 및 운영 팀이 자신에게 필요한 모든 툴에 액세스할 수 있도록 허용하는 공유 소프트웨어 개발 환경을 제공합니다.
  • 전체 비용 절감. 명백히 PaaS는 기업이 애플리케이션 플랫폼의 구축 및 확장과 연관된 자본 장비 비용을 무시할 수 있도록 함으로써 비용을 절감합니다. 그러나 PaaS는 소프트웨어 라이센스 비용을 줄이거나 제거할 수도 있습니다. 또한 패치, 업데이트 및 기타 관리 태스크를 처리함으로써 PaaS는 전체 애플리케이션 관리 비용을 절감할 수 있습니다.

PaaS의 작동 방식

일반적으로, PaaS 솔루션에는 세 가지 주요 부분이 있습니다.

  • 가상 머신(VM), 운영체제 소프트웨어, 스토리지, 네트워킹, 방화벽을 포함한 클라우드 인프라
  • 애플리케이션의 빌드, 배치 및 관리를 위한 소프트웨어
  • 개발 또는 DevOps 팀이 전체 애플리케이션 라이프사이클에서 자신의 모든 작업을 수행할 수 있는 그래픽 사용자 인터페이스(GUI)

PaaS가 GUI 온라인 인터페이스를 통해 모든 표준 개발 툴을 제공하므로, 개발자는 어디서든 로그인하여 프로젝트와 관련하여 협업하거나, 신규 애플리케이션을 테스트하거나, 완료된 제품을 롤아웃할 수 있습니다. 애플리케이션은 미들웨어를 사용하여 PaaS에서 바로 설계되고 개발됩니다. 간소화된 워크플로우를 사용하여 다수의 개발 및 운영 팀은 동시에 동일 프로젝트에 대해 작업할 수 있습니다.

PaaS 제공자는 서버, 런타임 및 가상화 등 대부분의 클라우드 컴퓨팅 서비스를 관리합니다. PaaS 고객인 회사는 지속적으로 애플리케이션과 데이터 관리를 수행합니다.

PaaS, IaaS 및 SaaS

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도 제공합니다.

IaaS, PaaS 및 SaaS를 비교하는 또 다른 방법은 고객이 처리해야 할 관리의 규모 대 클라우드 서비스 제공자가 처리해야 할 관리의 규모를 기반으로 합니다.

날로 증가되는 관리 책임을 클라우드 제공자에게 오프로드하는 IaaS, PaaS, 서버리스 및 SaaS

 

IaaS, PaaS 및 SaaS 자세히 보기

PaaS의 유스케이스

바로 사용할 수 있는 통합 플랫폼을 제공함으로써, 그리고 기업들이 인프라 관리를 클라우드 제공자에게 오프로드하여 애플리케이션 빌드, 배치 및 관리에만 집중할 수 있도록 함으로써, PaaS는 다음을 포함하여 다수의 IT 이니셔티브를 간소화하거나 개선할 수 있습니다.

  • API 개발 및 관리: 내장형 프레임워크로 인해, PaaS를 이용하면 팀들이 애플리케이션 간에 데이터와 기능을 공유하기 위한 API(애플리케이션 프로그래밍 인터페이스)를 훨씬 간편하게 개발, 실행, 관리 및 보호할 수 있습니다.
  • IoT(Internet of Things): PaaS는 즉시 IoT 기기에서 생성된 데이터의 실시간 처리와 IoT 애플리케이션 개발에 사용되는 다양한 프로그래밍 언어(Java, Python, Swift 등), 툴 및 애플리케이션 환경을 지원할 수 있습니다.
  • 애자일 개발 및 DevOps: PaaS는 통합, 딜리버리, 보안, 테스트 및 배치를 포함하여 소프트웨어 애플리케이션 라이프사이클을 자동화하기 위한 완벽히 구성된 환경을 제공할 수 있습니다.
  • 클라우드 마이그레이션 및 클라우드 네이티브 개발: 즉시 사용 가능한 툴과 통합 기능을 사용하여 PaaS는 기존 애플리케이션을 클라우드로 간편하게 마이그레이션할 수 있습니다. 이는 특히 리플랫포밍(클라우드 확장성, 로드 밸런싱 및 기타 기능을 보다 잘 활용하는 수정사항으로 애플리케이션을 클라우드로 이동함), 또는 리팩토링(마이크로서비스, 컨테이너 및 기타 클라우드 네이티브 기술을 사용하여 애플리케이션의 일부 또는 전부를 재설계함)을 통해 이루어집니다.
  • 하이브리드 클라우드 전략: 하이브리드 클라우드퍼블릭 클라우드 서비스, 프라이빗 클라우드 서비스 및 온프레미스 인프라를 통합하고 이러한 셋 모두에서 오케스트레이션, 관리 및 애플리케이션 이식성을 제공합니다. 최종적으로는 통합되고 유연한 분산 컴퓨팅 환경이 구축되며, 여기서 기업은 가장 적합한 컴퓨팅 모델에서 기존(레거시) 또는 클라우드 네이티브 워크로드를 실행하고 확장할 수 있습니다. 적절한 PaaS 솔루션을 사용함으로써 개발자는 한 번만 빌드한 후에 하이브리드 클라우드 환경의 어디서든 이를 배치 및 관리할 수 있습니다.

특수 제작된 PaaS 유형

많은 클라우드, 소프트웨어 및 하드웨어 벤더는 특정 유형의 애플리케이션을 빌드하기 위한 PaaS 솔루션, 또는 특정 유형의 하드웨어, 소프트웨어 또는 디바이스와 상호작용하는 애플리케이션을 제공합니다.

  • AIPaaS(PaaS for Artificial Intelligence)를 사용하여 개발 팀은 해당 애플리케이션에 필요한 중요 컴퓨팅 성능, 스토리지 기능 및 네트워킹 용량을 구매, 관리 및 유지보수하기 위한 엄청난 비용을 들이지 않고도 인공지능(AI) 애플리케이션을 빌드할 수 있습니다. AiPaaS는 일반적으로 개발자가 있는 그대로 사용하거나 사용자 정의할 수 있는 사전 훈련된 머신 러닝딥러닝 모델과 함께, 음성 인식 또는 음성-텍스트 변환 등의 특정 AI 기능을 기존 또는 신규 애플리케이션에 통합하기 위한 기구축된 API가 포함되어 있습니다.
  • iPaaS(integration platform as a service)는 애플리케이션 통합을 위한 클라우드 호스팅 솔루션입니다. iPaaS는 자체 백엔드 통합 하드웨어, 미들웨어 및 소프트웨어를 구입, 설치 및 관리하지 않고도 퍼블릭 클라우드, 프라이빗 클라우드 및 온프레미스 환경에서 데이터, 프로세스 및 서비스를 연결하는 표준화된 방법을 기업들에게 제공합니다. (참고로 Paas 솔루션에는 종종 어느 정도의 통합 기능(예: API 관리)이 포함되지만, iPaaS는 보다 포괄적입니다.)
  • cPaaS(communications platform as a service)은 개발자가 특수 통신 하드웨어와 소프트웨어에 투자하지 않고도 음성(인바운드/아웃바운드 호출), 비디오(원격 회의 포함) 및 메시징(텍스트 및 소셜 미디어) 기능을 애플리케이션에 손쉽게 추가할 수 있도록 해주는 PaaS입니다.
  • mPaaS(mobile platform as a service)는 모바일 디바이스의 애플리케이션 개발을 간소화하는 PaaS입니다. mPaaS는 일반적으로 핸드폰 카메라, 마이크, 모션 센서 및 위치 정보(또는 GPS) 기능을 포함한 디바이스 특정 기능에 액세스하기 위한 로우 코드(심지어는 단순 드래그 앤 드롭) 방법을 제공합니다.

PaaS 및 IBM Cloud

IBM은 클라우드의 유연성과 확장성을 활용할 수 있도록 처음부터 클라우드 네이티브 애플리케이션을 개발하거나 기존 애플리케이션을 현대화하기 위한 풍부하고 확장 가능한 PaaS 솔루션을 제공합니다.

IBM Red Hat OpenShift on IBM Cloud는 IBM Cloud의 엔터프라이즈 스케일과 보안을 사용하여 업데이트, 스케일링 및 프로비저닝을 자동화하고 트래픽의 예상치 않은 급증을 처리하는 완전 관리형 OpenShift 서비스입니다. 해당 팀은 다양한 툴과 기능을 이용하여 개발 및 앱 현대화를 시작하고, 단 한 번의 클릭으로 고가용성의 완전 관리형 클러스터를 배치할 수 있습니다. IBM Red Hat OpenShift on IBM Cloud는 The Forrester Wave: Multicloud Container Development Platforms, Q3 2020(PDF, 415KB)에서 리더로 선정되었습니다.

IBM Cloud Pak for Applications는 기존 애플리케이션의 현대화, 추가 보안의 적용, 그리고 디지털 이니셔티브를 촉발하는 신규 앱의 개발을 지원합니다. 이는 특정 요구사항에 맞출 수 있는 유연한 라이센싱과 함께 신속하게 가치를 제공할 수 있는 클라우드 네이티브 개발 솔루션을 제공합니다.

PaaS on IBM Cloud를 시작하려면 IBM ID에 등록하고 자체 IBM Cloud 계정을 만드세요.