상명대학교 / 서광규 교수


 

클라우드 네이티브는 클라우드 컴퓨팅 환경에서 현대적 애플리케이션을 구축, 배포 및 관리할 때의 소프트웨어 접근 방식을 말한다.

비즈니스 민첩성이 필요한 회사는 고객의 요구를 충족하기 위해 신속하게 업데이트할 수 있는 확장성, 유연성 및 복원력이 뛰어난 애플리케이션을 구축이 필요한데, 이를 위해 클라우드 인프라에서 애플리케이션 개발을 기본적으로 지원하는 현대적인 도구와 기술을 사용한다.

이러한 클라우드 네이티브 기술은 서비스 제공에 미치는 영향 없이 애플리케이션을 빠르게 자주 변경할 수 있도록 지원하여 혁신 역량과 경쟁력을 제공한다.

 

클라우드 네이티브 애플리케이션은 마이크로서비스라는 여러 개의 상호 의존적인 소규모 서비스로 구성된 소프트웨어 프로그램으로 소프트웨어 개발자는 클라우드 네이티브 접근 방식을 사용하여 기능을 더 작은 마이크로서비스로 나눈다.

이러한 마이크로서비스는 최소한의 컴퓨팅 리소스만 사용하여 독립적으로 작동하고 실행되므로 클라우드 네이티브 애플리케이션의 민첩성이 향상 되며 클라우드 네이티브 애플리케이션은 협업 접근 방식을 사용하며 다양한 플랫폼에서 확장성 확보할 수 있다.

개발자는 소프트웨어 도구를 사용하여 클라우드 네이티브 애플리케이션의 프로시저를 구축, 테스트 및 배포하는 작업을 자동화하고 마이크로서비스를 단시간에 설정, 배포 또는 복제할 수 있는데, 이는 기존 애플리케이션에서는 구현이 불가능하다.

 

본 고에서는 국제 표준화 문서인 ITU-T Y.3532: Cloud computing - Functional requirements of Platform as a Service for cloud native applications에서 제시하고 있는 클라우드 네이티브 애플리케이션을 위한 PaaS(Platform as a Service)의 개요 및 기능적 요구 사항에 대하여 기술하기로 한다.

 




 

1. PaaS 개요

1-1. PaaS의 서비스 객체

CSC(Cloud Service Consumer: 클라우드 서비스 소비자)가 클라우드 컴퓨팅에서 소프트웨어를 개발하는 CSC라고도 알려진 클라우드 컴퓨팅에서 응용 프로그램을 만들 때 CSC는 응용 프로그램 코딩, 응용 프로그램 테스트, 응용 프로그램 배포, 응용 프로그램 유지 관리의 4단계를 완료한다.

 

  • 애플리케이션 코딩: CSC는 선택한 프로그래밍 언어를 사용하여 코드를 작성하여 소프트웨어를 개발한다.
  • 애플리케이션 테스트: CSC는 개발된 애플리케이션을 테스트하여 전체 애플리케이션이 예상대로 작동하는지 확인한다. 이 단계에서 CSC는 버그가 없고 작동하며 안정적인 소프트웨어를 얻을 때까지 계속해서 버그를 찾고 수정한다.
  • 애플리케이션 배포: CSC는 테스트된 애플리케이션을 선택한 실행 환경에 배포한다. 애플리케이션 배포 후 CSC는 애플리케이션을 실행한다.
  • 애플리케이션 유지 관리: CSC는 실행 중인 애플리케이션을 지속적으로 관리하고, 사용자 피드백을 기반으로 버그 수정 및 소프트웨어 업그레이드를 통해 주기적으로 애플리케이션을 유지 관리한다.

 


[그림1. 애플리케이션 개발 수명주기 및 PaaS와의 관계 예시]


 

클라우드 컴퓨팅에서 CSC 생성 애플리케이션을 지원하기 위해 CSP(Cloud Service Provider: 클라우드 서비스 제공자)는 애플리케이션 코딩, 테스트, 배포 및 유지 관리를 위해 CSC에 클라우드 서비스 그룹을 제공한다.

이러한 클라우드 서비스 그룹의 클라우드 서비스 범주는 PaaS(Platform as a Service)이다.

 

1-2. PaaS 소개

PaaS는 CSC에 제공되는 기능으로 클라우드 서비스 공급자가 지원하는 하나 이상의 프로그래밍 언어와 하나 이상의 실행 환경을 사용하여 클라우드 애플리케이션을 배포, 관리 및 실행할 수 있도록 지원하는 클라우드 서비스 그룹이다.

PaaS에는 다음과 같이 세 가지 기능이 포함되어 있다.

 

  • PaaS는 클라우드 애플리케이션이 신속하게 배포되고 안정적으로 실행되며 유연하게 관리되고 다른 애플리케이션과 격리되는 애플리케이션 호스팅 환경을 제공한다. 애플리케이션 호스팅 환경 내에서 CSP는 CSC에 실행 환경을 제공한다.애플리케이션에 필요한 물리적 및 가상화된 리소스(컴퓨팅, 스토리지 및 네트워크), 운영 체제, 런타임 환경, 미들웨어, 애플리케이션 종속 소프트웨어를 포함한다.게다가 CSC는 하나 이상의 프로그래밍 언어를 사용하여 클라우드 애플리케이션을 생성하거나 획득하므로 CSP는 서로 다른 프로그래밍 언어로 개발된 애플리케이션에 대해 일치하는 실행 환경을 제공한다.※ 참고: 애플리케이션 종속 소프트웨어는 애플리케이션 구현 및 실행 필수품을 제공하는 소프트웨어 그룹이다. 예를 들어 데이터베이스, 라우터, 방화벽, 로드 밸런서 등이 있다.

    또한 CSP는 애플리케이션 호스팅 환경의 설치, 구성 및 관리를 인계받고 CSC가 제공할 클라우드 애플리케이션 코드만 남겨두어 CSC가 클라우드 애플리케이션을 관리하는 복잡성을 줄이다. 이는 클라우드 애플리케이션을 위한 "푸시 앤 실행" 환경을 구성한다.
  • PaaS는 통합 개발 환경(IDE)과 CSC가 클라우드 컴퓨팅에서 애플리케이션 코딩, 테스트 및 유지 관리를 수행할 수 있도록 지원하는 개발 도구를 제공한다.개발 도구에는 일반적으로 코드 편집기, 코드 저장소, 빌드 도구, 디버그 도구, 테스트 도구, 보안 도구, 모니터링 서비스 및 분석 서비스가 포함된다.통합 개발 환경은 개발 도구 그룹을 결합하고 CSC에 클라우드 애플리케이션 생성을 위한 포괄적인 시설을 제공하는 소프트웨어이다. 이를 통해 애플리케이션 개발자는 개발 환경 설정 및 개발 도구 관리에 노력을 쏟지 않고도 클라우드 애플리케이션 개발에 집중할 수 있어 보다 생산적인 방식으로 클라우드 애플리케이션을 개발할 수 있다.
  • PaaS는 서비스 제공 플랫폼을 제공한다. CSP는 API(애플리케이션 프로그래밍 인터페이스)를 통해 CSC의 관련 개발 및 테스트를 위한 서비스 존재, 오케스트레이션, 청구, 매시업 및 도구를 제공한다.※ 참고 : PaaS에서 데이터베이스를 요청하는 CSC를 예로 들면, 서비스 제공 플랫폼은 CSC의 요청을 수신하고, 클라우드 컴퓨팅에서 적절한 리소스를 사용하여 데이터베이스 서비스를 조정 및 준비하고, CSC에 클라우드 서비스를 제공하고, 클라우드 서비스 가용성과 신뢰성을 보장하고, CSC와 CSC가 사용한 데이터베이스 간의 관계, 사용량 기록, 청구서 생성 등이다.

 

 



참 고 문 헌




  1. ITU-T Y.3532 (2023) Cloud computing - Functional requirements of Platform as a Service for cloud native applications
  2. ITU-T Y.3501 (2016) Cloud computing - Framework and high-level requirements
  3. ISO/IEC TS 23267 (2020) Information technology ? Cloud computing ? Common technologies and techniques
  4. ITU-T X.1601 (2015) Security framework for cloud computing




저작권 정책


K-ICT 클라우드혁신센터의 저작물인 『국제표준문서에서 클라우드 네이티브 애플리케이션을 위한 PaaS(Platform as a Service)의 기능적 요구 사항』은 K-ICT 클라우드혁신센터에서 상명대학교 서광규 교수에게 집필 자문을 받아 발행한 전문정보 브리프로, K-ICT 클라우드혁신센터의 저작권정책에 따라 이용할 수 있습니다.
다만 사진, 이미지, 인용자료 등 제3자에게 저작권이 있는 경우 원저작권자가 정한 바에 따릅니다.