서비스형 플랫폼(PaaS) 벤더는 애플리케이션의 구축 및 실행을 위한 클라우드 기반 플랫폼을 제공합니다.
이 글을 읽은 후에 다음을 할 수 있습니다:
글 링크 복사
서비스형 플랫폼(PaaS) 모델에서 개발자는 기본적으로 개발 도구, 인프라, 운영 체제를 클라우드 공급자에 의존하여 애플리케이션을 구축하는 데 필요한 모든 것을 대여합니다. 이는 클라우드 컴퓨팅의 세 가지 서비스 모델 중 하나입니다. PaaS 덕분에 웹 애플리케이션 개발이 대폭 간소화되며, 개발자 입장에서는 모든 백엔드 관리가 백그라운드에서 이루어집니다. PaaS는 서버리스 컴퓨팅과 몇 가지 유사점이 있지만, 이 둘 사이에는 중요한 차이점이 많습니다.
클라우드 컴퓨팅 의 세 가지 모델은 PaaS, 서비스형 소프트웨어(SaaS), 서비스형 인프라(IaaS)입니다.IaaS는 클라우드 벤더가 관리하는 서버, 스토리지 등 클라우드 컴퓨팅 인프라를 말하며, SaaS는 클라우드에서 호스팅하고 SaaS 벤더가 유지 관리하는 전체 애플리케이션을 말합니다.SaaS 고객이 집을 임차하는 사람과 같다면, PaaS 고객은 집을 빠르게 짓는 데 필요한 모든 중장비와 전동 공구를 빌리는 사람과 같으며, 그 공구와 장비는 소유자가 지속적으로 유지 관리하고 수리합니다.
PaaS는 모든 인터넷 연결을 통해 액세스할 수 있으므로 웹 브라우저에서 전체 애플리케이션을 구축할 수 있습니다. 개발 환경이 로컬에서 호스팅되지 않기 때문에 개발자는 전 세계 어디에서나 애플리케이션에 대하여 작업할 수 있습니다. 이를 통해 여러 지역에 흩어져 있는 여러 팀이 협업할 수 있습니다. 이는 또한 개발자가 개발 환경을 제어할 권한은 더 작지만, 오버헤드도 훨씬 줄어든다는 의미이기도 합니다.
PaaS 벤더가 제공하는 주요 제품은 다음과 같습니다.
벤더에 따라 다른 서비스도 포함될 수 있지만, 이들이 핵심 PaaS 서비스입니다.
PaaS 벤더는 소스 코드 편집기, 디버거, 컴파일러 등 필수 도구를 포함하여 소프트웨어 개발에 필요한 다양한 도구를 제공합니다. 이러한 도구는 프레임워크로 함께 제공될 수 있습니다. 제공되는 구체적인 도구는 벤더에 따라 다르지만, PaaS 서비스에는 개발자가 애플리케이션을 구축하는 데 필요한 모든 것이 포함되어야 합니다.
서비스로 제공되는 플랫폼에는 일반적으로 미들웨어가 포함되어 있으므로 개발자가 직접 구축할 필요가 없습니다. 미들웨어는 사용자 대면 애플리케이션과 컴퓨터의 운영 체제 사이에 있는 소프트웨어로, 미들웨어는 예를 들면 소프트웨어가 키보드와 마우스의 입력에 액세스할 수 있도록 하는 역할을 합니다. 미들웨어는 애플리케이션을 실행하는 데 필요하지만, 최종 사용자는 미들웨어와 상호 작용하지 않습니다.
PaaS 벤더는 개발자가 작업하고 애플리케이션이 실행되는 운영 체제를 제공하고 유지 관리합니다.
PaaS 공급자는 데이터베이스를 관리하고 유지합니다. 공급자는 일반적으로 개발자에게 데이터베이스 관리 시스템도 제공합니다.
PaaS는 클라우드 컴퓨팅 서비스 모델에서 IaaS의 다음 계층으로, IaaS에 포함된 모든 것이 PaaS에도 포함되어 있습니다. PaaS 공급자는 서버, 스토리지, 물리적 데이터 센터를 관리하거나 IaaS 제공업체로부터 이를 구매합니다.
PaaS는 개발자가 자체 플랫폼과 백엔드 인프라를 구축, 구성, 프로비저닝하는 것에 대해 걱정해야 하는 경우보다 더 빠르게 애플리케이션을 구축하는 데 사용됩니다. PaaS를 사용하면 개발자가 코드를 작성하고 애플리케이션을 테스트하기만 하면 나머지는 벤더가 알아서 처리합니다.
PaaS를 사용하면 개발자가 동일한 환경에서 애플리케이션을 빌드, 테스트, 디버그, 배포, 호스팅, 업데이트할 수 있습니다. 이를 통해 개발자는 웹 애플리케이션을 출시하기 전에 호스팅된 상태로 제대로 작동하는지 확인할 수 있으며 애플리케이션 개발 수명주기를 간소화할 수 있습니다.
PaaS는 많은 경우 IaaS를 활용하는 것보다 비용 효율적입니다. PaaS 고객은 가상 머신을 관리하고 프로비저닝할 필요가 없으므로 오버헤드를 줄일 수 있습니다. 또한 일부 공급자는 애플리케이션에 사용된 컴퓨팅 리소스에 대해서만 요금을 청구하는 종량제 요금 구조를 채택하고 있어 일반적으로 고객이 비용을 절감할 수 있습니다. 그러나 벤더마다 가격 구조가 조금씩 다르며 일부 플랫폼 공급자는 월정 요금을 부과합니다.
PaaS 공급자는 운영 체제, 개발 도구, 플랫폼에 포함된 기타 모든 라이선스를 처리합니다.
앱이 벤더의 툴을 사용하여 특히 해당 플랫폼용으로 구축되었으므로 PaaS 공급자를 변경하기 어려울 수 있습니다. 벤더마다 아키텍처 요구 사항이 다를 수 있습니다. 벤더에 따라 앱을 빌드하고 실행하는 데 사용되는 언어, 라이브러리, API, 아키텍처, 운영 체제가 동일하지 않을 수 있습니다. 벤더를 변경하려면 개발자는 앱을 다시 빌드하거나 크게 변경해야 할 수 있습니다.
PaaS 벤더를 변경하는 데 드는 노력과 리소스로 인해 기업은 현재의 벤더에 더 많이 의존하게 될 수 있습니다. 벤더의 내부 프로세스나 인프라가 조금만 변경되어도 이전 구성에서 효율적으로 실행되도록 설계된 애플리케이션의 성능에 큰 영향이 미칠 수 있습니다. 또한 벤더가 가격 모델을 변경하면 애플리케이션의 운영 비용이 갑자기 높아질 수 있습니다.
PaaS 아키텍처에서는 외부 벤더가 애플리케이션의 코드 호스팅과 함께 애플리케이션 데이터의 대부분 또는 전부를 저장합니다. 경우에 따라 벤더가 실제로 제3자인 IaaS 공급자를 통해 데이터베이스를 저장할 수도 있습니다. 대부분의 PaaS 벤더는 강력한 보안을 갖춘 대기업이지만, 이로 인해 애플리케이션과 데이터를 보호하는 보안 조치를 완전히 평가하고 테스트하기가 어렵습니다. 또한 엄격한 데이터 보안 규정을 준수해야 하는 기업의 경우, 외부 벤더의 규정 준수 여부를 추가로 확인해야 할 경우 시장 진출에 더 많은 장애물이 추가됩니다.
PaaS와 서버리스 컴퓨팅은 둘 다 개발자가 코드를 작성하고 업로드하는 것만 신경 쓰면 벤더가 모든 백엔드 프로세스를 처리한다는 점에서 비슷합니다. 그러나 두 모델을 사용할 때 확장하는 것은 크게 다릅니다. 서버리스 컴퓨팅 또는 FaaS를 사용하여 구축된 앱은 자동으로 확장되는 반면, PaaS 앱은 프로그래밍하지 않는 한 확장되지 않습니다. 서버리스 앱은 거의 즉시 실행할 수 있지만, PaaS 앱은 기존 앱과 비슷하며 사용자가 즉시 사용할 수 있도록 대부분의 시간 동안 또는 항상 실행되어야 합니다.
또 하나의 차이점은 서버리스 벤더는 PaaS 벤더처럼 개발 도구나 프레임워크를 제공하지 않는다는 점입니다. 마지막으로 두 모델을 구분하는 것은 가격입니다. PaaS 과금은 각 함수 인스턴스가 실행되는 시간(초) 또는 몇 분의 1초 단위로 요금이 세분화되는 서버리스 컴퓨팅만큼 정확하지 않습니다.