개발자(Developer)와 감사자(Auditor)가 생각하는 클라우드(Cloud), IaaS, PaaS, SaaS정의


정보시스템 감사를 하는 감사자(Auditor)가 생각하는 클라우드(Cloud), IaaS, PaaS, SaaS의 정의는 아래 미국 정보시스템 감사통제협회 ISACA(Information Systems Audit and Control Association)에서 내놓은 2014 CISA(Certified Information Systems Auditor) 리뷰 매뉴얼책을 참조하였습니다.



2014 CISA Review Manual(한글판)

저자
ISACA 지음
출판사
한국정보시스템감사통제협회 | 2014-02-01 출간
카테고리
컴퓨터/IT
책소개
『2014 CISA Review Manual(한글판)』은 국제정...
가격비교



미국 정보시스템 감사통제협회 ISACA(Information Systems Audit and Control Association)의 CISA(Certified Information Systems Auditor) 매뉴얼에서 나오는 클라우드와 IaaS, PaaS, SaaS정의

클라우드 컴퓨팅

클라우드에 대해 기본적인 정의를 내린 두 기관은 NIST(National Institute of Standards and Technology)와 클라우드 보안 연합(Cloud Security Alliance)이다. 두 단체 모두 클라우드를 설정이 가능한 컴퓨팅 자원(네트워크, 서버, 스토리지, 애플리케이션 시스템 및 서비스)의 공유 저장소에 필요할 때 즉시 이용가능한 편리한 네트워크 접근을 가능하게 하는 하나의 모델로서 정의하고 있다. 클라우드에서는 이러한 자원들이 최소의 관리노력 또는 서비스 제공자와의 최소의 상호작용으로 신속하게 보급될 수 있다. 클라우드에서 제공하는 서비스를 설명하는 또 다른 방법으로서 공공서비스에 비유를 들 수 있다. 전기, 가스, 수도 사용에 대해 기업이 비용을 지불하는 것처럼 사용량에 따라 IT서비스에 대해서 비용을 지불할 수 있는 선택권이 생긴 것으로 이해할 수 있다.



클라우드 컴퓨팅 서비스 모델

 서비스모델

정의

고려사항

 서비스로서의 인프라

(Infrastructure as a Service: IaaS)

프로세싱, 스토리지, 네트워크 그리고 기타 기본적인 컴퓨팅 자원 제공 가능성 

운영체제 및 애플리케이션 프로그램을 포함하여 어떠한 소프트웨어라도 고객이 가동운영할 수 있도록 해준다

클라우드 서비스 제공업체로부터 서비스 장애가 발생할 경우 영향을 최소화하기 위한 대책

서비스로서의 플랫폼

(Platform as a Service: PaaS)

클라우드 서비스 제공업체가 지원하는 프로그래밍언어 및 툴로 고객이 개발 또는 도입한 애플리케이션 시스템을 클라우드 인프라 상에서의 가동 가능성

  • 가용성
  • 기밀성
  • 민감한 정보를 다루는 데이터베이스가 외부에 있음으로 인해 보안사항 위반 시 프라이버시 및 법적 책임 문제
  • 데이터 소유권
  • e-discovery 관련 문제

서비스로서의 소프트웨어

(Software as a Service: SaaS)

클라우드 인프라에서 동작하는 애플리케이션 시스템의 사용 가능성. 애플리케이션 시스템은 웹브라우저와 같은 저사양 단말용(thin client) 인터페이스를 통해 다양한 종류의 단말기에서 접근 가능하다.(예: 웹기반 E-mail서비스)

  • 애플리케이션 시스템에 대한 소유권
  • 애플리케이션 시스템이 가동되는 장소

 출처: ISACA, Cloud Computing: Business Benefits With Security, Governance and Assurance Perspectives, USA, 2009, 5페이지 도표 1.

http://www.isaca.org/Knowledge-Center/Research/ResearchDeliverables/Pages/Cloud-Computing-Business-Benefits-With-Security-Governance-and-Assurance-Perspective.aspx


정보시스템 개발을 하는 개발자(Developer)가 생각하는 클라우드(Cloud), IaaS, PaaS, SaaS의 정의는 아래 "생생 IT 토크 - 프로그래머들의 클라우드 이야기"의 내용을 참조하였습니다


"생생 IT 토크 : 프로그래머들의 클라우드 이야기" - http://www.hanbit.co.kr/ebook/look.html?isbn=9788968486920


정보시스템 개발을 하는 개발자(Developer)가 생각하는 클라우드(Cloud), IaaS, PaaS, SaaS, BaaS의 정의

클라우드

네트워크를 도식화하여 표현할 때 사용하던 구름 모양의 아이콘에서 유래된 것으로, 구름과 같은 무형의 공간에서 컴퓨터로 할 수 있는 업무들이 가능하도록 설계한 것을 뜻한다. 또한 클라우드 서비스란 컴퓨팅의 기능을 네트워크를 통해 제공하는 것으로 네트워크에 접속할 수 있는 단말만 있으면 컴퓨터를 보유하고 있는 것과 같은 효과가 있다.



설명

 IaaS(Infrastructure as a Service)

클라우드 서비스의 가장 기초적인 모델, 쉽게 말해 컴퓨터와 같은 기본적인 저수준 자원(인프라스트럭처:Intrastructure)을 제공해주는 서비스를 말한다. 물리적인 컴퓨터도 상관없지만 대부분 가상 서버를 제공한다. 컴퓨터 외에도 가상의 저장소(디스크), 방화벽, 로드밸런서, IP주소, 가상LAN까지 제공하기도 한다. IaaS이용자는 인터넷으로 요청만 하면 원하는 컴퓨팅 환경을 수 분 이내에 사용 가능한 상태로 제공받을 수 있고 사용한 만큼만 지급하면 된다.

 PaaS(Platform as a Service)

서비스 제공자가 운영체제, 프로그래밍 실행 환경, 데이터베이스, 웹 서버와 같은 컴퓨팅 플랫폼을 제공해주는 클라우드 서비스 모델이다. 이 서비스를 이용하면 각 플랫폼의 라이선스 구매나 복잡한 설치 과정 등을 신경 쓸 필요가 없다. PaaS위에 구축한 서비스 이용자가 늘어나면, 이를 지탱하는 데에 필요한 밑단의 컴퓨팅 파워와 저장소 크기도 자동으로 늘어난다.

 SaaS(Software as a Service)

 클라우드로 서비스되는 일반 사용자가 이용하는 애플리케이션 소프트웨어를 말한다. 클라우드로 서비스한다는 것은 사용자가 자신의 컴퓨터 애플리케이션을 설치할 필요 없이 언제 어디서건 네트워크만 연결되어 있다면 그 소프트웨어를 이용할 수 있다는 의미로 G메일이나 드롭박스가 대표적이다.

 BaaS(Backend as a Service)

 넓게 보면 PaaS에 포함할 수도 있는 서비스로 최신 트랜드의 모바일 혹은 웹 애플리케이션에서 공통으로 쓰이는 기능을 묶어 백엔드 형태로 제공하는 서비스다. 사용자 관리, 각종 통계, 소셜 네트워크 서비스와의 연동, '푸시 노티피케이션[Push Notification]'등이 이에 포함된다. BaaS를 사용하면 앱 개발자는 UI등 프론트엔드에 집중할 수 있어서 앱 개발이 빨라지고 직접 구축하는 것에 비해 안정적인 서비스도 가능하게 된다.



위의 감사자와 개발자가 생각하는 클라우드, IaaS, PaaS, SaaS정의를 견주어 보면 약간의 시각의 차이가 있음을 알수 있습니다.

감사자(Auditor)의 경우는 회사 조직의 전략과 목표, 그리고 외부 위협 및 위험 대처에 대하여 감사를 하다보니 고려사항에 법적 책임과 소유권, 서비스 장애 등의 대책까지 고려를 해야합니다. 결국에는 기업 측면에서 바라보게 되구요

개발자(Developer)의 경우는 클라우드, IaaS, PaaS, SaaS를 구현하기 때문에 구체적인 정의 및 작동과 기능적인 측면에서 접근하는 시각이 있습니다. 구체적인 동작 기능 측면에서 바라보게 됩니다.


개발자와 감사자 모두 시스템을 보는데에, 감사자가 기능을 중시하나 기업 거버넌스와 IT거버넌스에 맞게 해석한다면, 개발자는 말그대로 개발하는 입장이기 때문에 구체적인 동작, 기능 측면에서 해석하게 됩니다.


이번에 CISA(Certified Information Systems Auditor)시험을보고 나서 개발자가 생각하는 것과 감사인이 생각하는 것이 다르다는 것을 느꼈습니다. 그 느낌을 클라우드 개념 정리할때 위의 내용처럼 확실하게 구분할 수 있게 되더군요.


개발자도 개발자의 시각에서만 바라보지 말고, 사용자 그리고 감사자의 시각으로 어떻게 보는지 알아야겠다는 생각을 CISA시험을 통해 느낍니다.

Buy me a coffeeBuy me a coffee

클라우드 컴퓨팅과 타 컴퓨팅과의 비교 (출처: 한국 소프트웨어 진흥원, 2008)



 구분 주요개념  클라우드 컴퓨팅과의 관계 
Grid Computing 높은 컴퓨팅 리소스를 필요로 하는 작업의 수행을 위해 인터넷 상의 분산된 다양한 시스템과 자원들을 공유하여 가상의 슈퍼 컴퓨팅과 같이 사용하는 방식(분산 컴퓨팅 아키텍처)  Grid 방식의 분산 컴퓨팅과 Utility 개념의 과금 모형을 혼합한 컴퓨팅 방식
  • Grid: 인터넷 상의 모든 컴퓨팅 리소스
  • Cloud: 서비스 제공 사업자의 사유 서버 네트워크 
Utility Computing  컴퓨팅 리소스를 구매하거나 소유하지 않고 가스, 전기등과 같이 유틸리티로 필요할 때마다 사용하는 방식(사용량 기반 과금 모형) 
 Server Based Computing 서버에 애플리케이션과 데이터를 두고 필요할 때마다 접속해서 사용하는 방식(클라이언트는 입출력만 처리. 모든 작업은 100% 서버가 처리 - Thin Client 방식)  클라우드 컴퓨팅은 가상화된 분산 컴퓨팅에, SBC는 특정 기업의 서버에 중심을 둔다는 차원에서 개념적으로 구분. 그러나 SBC가 발전으로 점차 구분이 모호해짐 
 Network Computing SBC와 비슷하나, 애플리케이션을 서버에서 로드하여 로컬에서 수행하는 형태(이용자의 CPU를 사용하여 동작)  이용자의 컴퓨팅 리소스보다는 클라우드상의 IT 리소스를 사용하므로 개념적 구분 
 SaaS (Software as a Service)  서비스 제공자의 서버에 저장된 SW를 인터넷을 통해 서비스로 이용하는 SW 딜리버리 모형 클라우드 컴퓨팅은 모든 IT자원을 서비스로 활용한다는 차원에서 보다 SaaS(Software as a Service)를 포함하는 포괄적인 개념 




Buy me a coffeeBuy me a coffee

대부분의 클라우드 컴퓨팅에 관현 용어들에 대해서 정리를 하였다.

많은 용어들이 -aaS(as a Service)로 끝남.

AssS - Architecture as a Service

BaaS - Business as a Service

DaaS - Data as a Service

DBaaS - Database as a Service

EaaS - Ethernet as a Service

FaaS - Frameworks as a Service

GaaS - Globalization or Governance as a Service

HaaS - Hardware as a Service

IaaS - Infrastructure as a Service

IDaaS - Identity as a Service

LaaS - Lending as a Service

MaaS - Mashups as a Service

OaaS - Organization or Operations as a Service

SaaS - Software as a Service

PaaS - Platform as a Service

TaaS - Technology or Testing as a Service

VaaS - Voice as a Service

WaaS - Whatever as a Service

XaaS - X as a Service

ZaaS - System Z as a Service 

출처: IBM DeveloperWorks [후기] 5월 25일, dW Live! 세미나 ‘개발자의 신대륙, 클라우드 컴퓨팅’

Buy me a coffeeBuy me a coffee

+ Recent posts