클라우드 컴퓨팅 관련 기술 및 표준화 동향


한양대학교 / 오진욱 교수



들어가는 말


본고에서는 다음과 같은 순서로 클라우드 컴퓨팅 관련 기술 및 표준화 동향을 논한다. 먼저 클라우드 개념을 간단히 설펴봄으로 클라우드 컴퓨팅이 가지고 있는 특성을 알아본다. 다음으로 클라우드 컴퓨팅의 특성을 충족시키기 위하여 어떤 서비스가 필수적으로 제공되어야 하는지 살펴보고, 마지막으로 클라우드 컴퓨팅이 제공하는 서비스가 원활하게 제공되기 위하여 필요한 기술을 논하고자 한다.




클라우드 컴퓨팅의 정의


클라우드 컴퓨팅(Cloud Computing)은 다양한 형태의 정의가 존재한다. 가트너는 “인터넷 기술을 이용하여 확장 가능하고 탄력적인 IT자원들을 서비스로 제공하는 컴퓨팅 스타일”이라고 정의하고 있으며, 포레스토 리서치는 “서비스, 소프트웨어, 인프라 등 표준화된 IT기반 기능들을 인터넷 표준 기능을 이용하여 사용량 기반의 과금과 셀프서비스 형식”, IBM은 “웹 기반 응용 소프트웨어를 활용하여 대용량 데이터베이스를 인터넷 가상 공간에서 분산 처리하고 이 데이터를 컴퓨터, 모바일폰, PDA 등 다양한 단말기를 가공할 수 있는 환경”으로 정의하고 있다, 한편 우리나라의 클라우드 컴퓨팅 발전 및 이용자 보호에 관한 법률(2015)에서는 “집적·공유된 정보통신기기, 정보통신설비, 소프트웨어 등 정보통신 자원을 이용자의 요구나 수요 변화에 따라 정토통신망을 통하여 신축적으로 이용할 수 있도록 하는 정보처리체계”로 정의하고 있다, 이상의 정의에서 공통 요인은 정보통신망(또는 인터넷)을 이용, 분산된 사용자, 탄력적인 IT 자원 사용 등으로 요약할 수 있다.

이러한 클라우드 컴퓨팅을 충족하기 위하여 다음과 같은 서비스가 제공되어야 한다.

  • 주문형 셀프서비스(On-Demand Self Service): 서버, 네트워크, 저장장치등을 운영자의 개입없이 사용자 필요에 따라 탄력적인 확장이 가능한 서비스
  • 광대역 네트워크 접근(Broad Network Access): 인터넷을 이용하여 이질적인 클라이언트 디바이스와 인터넷을 이용 가능한 서비스
  • 공동 자원 관리(Resource Pulling): 클라우드 컴퓨팅 제공자가 제공하는 정보시스템 자원은 다중 사용자에게 다중 임대되므로 Pull형태로 유지되며 물리적가상적 자원을 사용자 요구에 맞춰 할당하는 서비스
  • 신속한 탄력성 유지(Rapid Elasticity): 사용자가 사용하는 IT자원은 확장/축소가 자동으로 신속하게 제공
  • 측정 가능한 서비스(Measured Service): 서비스 형태에 따라 적절한 측정 기능을 이용하여 자원의 사용량을 자동으로 측정통제





클라우드 서비스 유형과 적용 기술


위와 같은 클라우드 서비스를 지원하는 유형은 다음과 같이 분류할 수 있다.

  • SaaS(Software as a Service)

Saas는 사용자가 SW를 구매하지 않고 인터넷을 이용하여 SW 사용 시간, 사용량등을 측정하여 과금하는 서비스로 ERP, SCM, CRM, 문서편집, 그룹웨어, 문서관리, 클라우드 매니지먼트 등이 대표적 예이며, SaaS기술 특성은 <표 1>과 같다.
기술 분야특징
멀티테넌트(tenant) 자원 공유 수준HW/OS 수준 인프라 공유SaaS 구현 용이성, 공유를 통한 비용 효과
어플리케이션 및 DB공유테넌트별 보안 및 SLA 수준 보장 필요
데이터 통합 공유 수준테넌트별 DB분리DB통합 정도는 낮은 반면, 관리 설정 용이
DB공유 및 Scheme분리테넌트간 데이터 분리 환경
테넌트간 DB/Scheme공유DB통합 정도는 높으나 DB설정이 어려움
사용자별 설정 변경

테넌트별로 환경 설정 수준

UI, 워크플로우, 데이터 구조
커스터마이징 범위 및 정도 수준에 따라 각 테넌트에게 권한 부여 결정
확장성 지원애플리케이션의 일정 성능 보장 및 확장성 지원애플리케이션 인스턴트 당 최대 사용자 수를 예측하여 확장 방안 고려

<표 1> SaaS 기술 특성




  • PaaS(Platform as a Service)

PaaS는 응용프로그램 개발과 관련된 인프라를 사용자가 직법 구축하는 복잡함을 최소화하여 사용자가 응용프로그램을 개발/시험/배포/운영을 지원하는 서비스로 대용량 데이터 처리, DataBase 플랫폼 등이 대표적 예이다. PaaS서비스의 구성 요소는 응용프로그램 실행을 위한 인프라 및 솔루션 세트, 응용프로그램 개발/테스트르 위한 솔루션 세트, 형상 및 배포관리를 지원하는 기능을 지원하며, 대표적인 솔루션은 IBM의 CloudFoundry, RedHat의 OpenShift가 있다.

IBM의 CloudFoundry는 코딩의 빌드 및 배치 측면을 모든 첨부된 서비스와 조심스럽게 결합하여 애플리케이션 실행을 빠르고, 일관되고, 안정적으로 반복 가능하다는 장점이 있으며, RedHat의 OpenShift는 Apache 2.0 기반의 오픈소스로 응응프로그램 개발/배포 관리 기능을 제공하며 다중언어, 어플리케이션 프레임워크와 툴을 제공한다. 두 가지 솔루션의 기술을 살펴보면 <표 2>과 같다.

CloudFoundry



OpenShift


아키텍처플랫폼 레벨의 4단계 고가용성 아키텍처를 기반으로 설계

2개의 주요 컴포너트로 구성

Kubernetes 기반 Docker Base의 PaaS 솔루션

관리 및 노드의 고가용성 아키텍처 적용
소스 저장 구조하나의 소스 저장 구조로 구성하나의 소스 저장 구조로 구성
PaaS설치

Bosh를 통한 설치(Bosh: 소프트웨어의 릴리스 엔지니어링, 배포 및 라이프 사이클 관리를 통합하는 프로젝트

IaaS환경 필수(Multu Cloud 지원)


Ansible를 통한 자동 설치

설치 환경에 대한 제약 없음(Bare-Metal/VMware/RHV*/Hyper-V/OpenStack/Public Cloud 모두 가능)

*RHV:Red Hat Virtualization
App설치

컴파일 형태(WAR, JAR)의 저장 및 배포

개발자 단말에서 직접 배포(Jenkins를 통한 CI/CD 배포 가능)


소스형태 및 컴파일형태(WAR, JAR)의 저장 및 배포

서버에서 소스 빌드 후 Jenkins를 통한 CI/CD 배포 가능
로드밸런싱로드밸런싱 기능(Router)내장Router를 이용한 로드밸런싱
멀티테넌시DEA 및 데이터 단위의 멀티테넌시Docker Cotainer 단위의 멀티테넌시
확장성Buildpack를 통한 서비스 확장(미리 정의된 빌드패키지를 통해 동적 배포 관리)

도커 컨테이너를 통한 서비스 확장

도커 이미지 베이스로 서비스 확장 가능

<표 2> PaaS 지원 솔루션 비교




  • IaaS(Infrastructure as a Service)

Iaas는 백본, 라우터, 스위치 등의 네트워크, 다양한 OS가 탑재된 서버, 대용량 저장장치 및 네트워크 보안장비 등을 가상화(VDI, Virtual Desktop Interface)를 이용하여 사용자 필요에 따라 사용을 지원하는 서비스로 스토리지, 컴퓨팅 등이 대표적 예이다. 클라우드 서비스 방식이 물리적 방식과 다른 차이점을 <표 3>, IaaS의 주요 특징을 <표 4>, IaaS의 대표적 기술을 <표 5>와 같이 정리하였다.

물리적 방식


클라우드 방식
SAN StorageBlock Storage Service
NAS StorageFile Storage, Object Storage Service
Backup StorgeBackup Storage Service

<표 3>물리적 방식과 클라우드 방식의 차이점



Server가상화된 서버를 사용자에게 제공, 사용자는 가상화 서버 상에 SW를 설치하여 클라우드 서비스 이용
Storage 물리적으로 원격에 위치한 스토리지를 논리적으로 하나의 장치로 인식하여 사용자 요구에 따라 스토리지 용량을 할당하여 서비스
Backup & Recovery가상화 기반의 시스템 백업 및 족구 서비스
Cloud Broker클리우드 인프라 플랫폼이 제공하는 서비스보다 더 당양한 서비스 도구 제공
Contents Delivery Networks클리우드에 저장된 데이터를 클라이언트가 요구하는 다양한 단말장치에 제공하는 서비스
Service Management클리우드 인프라 플랫폼의 효율적인 서비스 제공

<표 4> IaaS의 주요 특징




구분



대표적 기술




인프라

관련 기술
운영체계(OS)에너지 인지 운영체계, 에너지 인지 SW, Micro Kernel
컴퓨터 가상화Hypervisor(프로세서나 메모리와 같은 다양한 컴퓨터 자원에 서로 다른 각종 운영 체계(OS)의 접근 방법을 통제하는 SW)
스토리지 가상화분산 파일 시스템, 분산 DB시스템
I/O 가상화가상 네트워크, 인터페이스 카드(VNIC)
컨테이너자원 할당 및 격리


서비스

관리 기술
비즈니스 지원계약 및 서비스 목록 관리, 과금 및 감사 보고서 등
서비스 구성프로비저닝, SLA(Service Level Agreement)
모니터링서비스 지원 모니터링

<표 5> IaaS의 대표적 기술


이와 같이 클라우드 컴퓨팅이 제공하는 서비스 요건과 서비스 유형을 정리하면 [그림 1]과 같은 아키텍처로 표현된다.

그림1

[그림 1] 클라우드 컴퓨팅 스택







클라우드 확장 방향 및 관련 기술


클라우드 컴퓨팅 서비스는 서비스 유형에 따라 고려하여야하는 요인이 상이하다. SaaS는 기술기반과 경쟁력있는 SW의 제공이 중요하며, IaaS와 PaaS는 서비스의 안정성과 확장의 용이성이 중요한 요인이다. 따라서 클라우드 단계별 발전 방향은 안정성과 확장성이 보장된 IaaS와 PaaS가 우선적으로 도입되고 SaaS가 도입되어 왔다.

이를 [그림 2]와 같이 표현할 수 있다.

그림2

[그림 2] 클리우드 서비스 발전 방향


또한 클라우드 컴퓨팅과 관련된 주요 영역은 서비스 모델, 매니지먼트 플랫폼, 클라우드 서비스를 가능하게 하는 자원 등을 구분되며, 해당 영역마다 고유한 기술이 적용되고 있음을 알 수 있다. 클라우드 컴퓨팅 관련 기술의 타당성과 적합성을 평가하기 위하여 검토 항목과 기준은 [그림 3]과 같이 정리하였다.

그림3

[그림 3] 클라우드 컴퓨팅 관련 기술 요건







맺음말


클라우드 컴퓨팅은 정보보호측면에서 매우 특이한 현상을 나타내고 있다. 그것은 클라우드컴퓨팅에 존재하는 수많은 정보자산을 식별하는 문제와 정보시스템을 공유함에 있어 발생할 수 있는 문제들이다. 전통적 정보보안관점에서는 정보시스템 자산을 식별하고 해당 자산이 가지고 있는 취약점분석(Vulnerability Analysis)을 실시하여 이를 바탕으로 위험평가(Risk Asset)를 실시하고 있다. 그러나 클라우드컴퓨팅에서는 자원을 공유함에 따라 사용자관점에서 보면 자신이 서비스 받고 있는 영역에 해당하는 정보시스템이 무엇(제조사, 모델 등)인지 명확하게 구분할 수 없다. 따라서 시스템 취약점과 위험이 무엇인지 구분하기 어렵다는 것이다.

본고에서는 클라우드컴퓨팅에서 정보보호 주요 관점을 제시하고 세부 내용은 다음 호에서 논하기로 한다. 먼저 클라우드 서비스 제공자와 이용자간의 서비스 수준(Service Level)에 대한 합의가 진행되어야 한다. 둘째, 클라우드 시스템에서 사용되는 정보시스템 자산은 기본적으로 CC(Common Criteria, 공통평가기준)인증 제품을 사용하여야 한다. 셋째, 클라우드컴퓨팅 서비스 운영장소 및 네트워크에 대한 보안 수준(접근통제, 전력, 화재 등 물리적 보안 등)을 결정하여야 한다. 넷째, 사고 및 장애 대응 체계를 수립하고 유지하여야 한다. 다섯째, 주요장비의 이중화 및 백업체계를 구축하여야 한다. 여섯째, 클라우드컴퓨팅 서비스 운영 중에 처리되는 중요 정보에 대한 안전한 암호화 수단을 제공하여야 한다. 마지막으로 클라우드컴퓨팅 서비스 보안관제 시스템을 수립하고 운영하여야 한다.




?참고문헌


클라우드 컴퓨팅 기술 스택별 국내 기업 정보 - 미래창조과학부, 정보통신산업진흥원