클라우드 컴퓨팅에 대한 NIST의 정의를 번역해 보았습니다. 역시 번역하고 보니 구글 번역이나 그게 그거인듯…. 어색하시면 원문 보세요~
클라우드 컴퓨팅은 언제 어디서든(ubiquitous), 간편하게, 요청에 의해서 최소한의 관리 노력과 최소한의 서비스 제공자와의 상호 작용에 의해 빨리 준비되고 배포되는 설정 가능한 공유 컴튜팅 자원(네트워크, 서버, 스토리지, 어플리케이션, 서비스) 풀에 네트워크 접근을 가능하게 하는 모델이다. 클라우드 모델은 다섯 가지의 핵심 특성과 세 가지의 서비스 모델 그리고 네 가지의 배포 모델로 구성된다.
핵심 특성(Essential Characteristics)
요청에 의한 스스로 서비스(On-demand self-service)
소비자는 필요에 의해서 각각의 서비스 제공자의 사람과 상호작용 없이 자동으로 서버 시간과 네트웍 스토리지 같은 컴퓨팅 능력을 독자적으로 준비할 수 있다.
광대역 네트워크 접근(Broad network access)
능력은 네트웍을 통해서 사용가능하고 기본 메커니즘으로 접근된다. 이러한 접근은 다양한 thin 또는 thick 클라이언트 플렛폼(모바일, 타블렛, 노트북, 워크스테이션)에서의 사용을 활성화 시킨다.
리소스 풀링(Resource pooling)
다수의 소비자에게 서비스되기 위해 풀링 되는 제공자의 컴퓨팅 리소스는 multi-tenant 모델을 사용한다. 다른 물리적 그리고 가상 리소스는 소비자의 요구에 의해 동적으로 할당(assign)되고 해지(reassign)된다. 여기에는 위치 독립적인 생각이 있어서, 고객은 일반적으로 서비스되는 리소스의 정확한 지역에 대한 조절이나 정보가 없다. 하지만 상위 레벨의 추상화(국가, 주, 데이터센터)에 의해서 지역을 지정할 수 있다. 리소스의 예는 스로리지, 프로세싱, 메모리, 네트워크 대역폭을 포함한다.
재빠른 민첩성(Rapid elasticity)
능력들은 민첩하게 제공되고 해지될 수 있다. 어떤 경우에는 자동으로 요청에 의해서 재빠르게 적합한 규모를 늘리고 줄일 수 있다. 소비자에게 이런 능력은 보통 제한이 없이 보이고, 언제든지 어떠한 양이라도 적절하게 제공되는 것으로 보인다.
측정되는 서비스(Measured service)
클라우드 시스템은 서비스(스토리지, 프로세싱, 대역폭, 활성 유저 계정) 타입에 따른 적당한 추상화 레벨에 대해서 계량 능력(metering capability)[ref]일반적을 사용에 따른 지불(pay-per-use)과 사용에 따른 요금(charge-per-use)으로 이루어진다.[/ref]에 사용되는 리소스의 사용을 자동으로 조절하고 최적화 한다. 리소스 사용은 모니터링, 조절, 보고되고 제공자와 사용자에게 서비스의 사용량이 투명하게 제공된다.
서비스 모델(Service Models):
서비스로의 소프트웨어(Software as a Service (SaaS)).
소비자에게 제공되는 능력은 클라우드 인프라[ref]클라우드 인프라는 클라우드 컴퓨팅의 다섯가지 핵심 특성을 가능케 하는 하드웨어와 소프트웨어의 집합이다. 클라우드 인프라는 물리 계층과 추상 계층을 동시에 포함하는 것으로 볼 수 있다. 물리계층은 클라우드 서비스를 제공하게 지원하는데 필요한, 일반적으로 서버, 스토리지 그리고 네트워크 콤포넌트를 포함하는 하드웨어 리소스로 구성된다. 추상계층은 물리 서버에 걸쳐서 설치되는 소프트웨어로 클라우드의 핵심 특성을 나타낸다. 개념적으로 추상계층은 물리계층 위에 위치한다.[/ref]에서 동작되는 제공자의 어플리케이션을 사용하는 것이다. 어플리케이션은 웹 브라우저와 같은 thin client(예, 웹 기반 이메일) 뿐만 아니라 프로그램 인터페이스 등 다양한 클라이언트를 통하여 접근할 수 있다. 소비자는 클라우드 인프라 아래에 존재하는 네트워크, 서버, 운영체제, 스토리지, 심지어 각각의 각각의 어플리케이션의 능력들을 관리하거나 컨트럴 하지 않는다. 제한된 사용자 지정 어플리케이션 설정 변경은 가능하다.
서비스로서의 플렛폼(Platform as a Service (PaaS)).
소비자에게 제동되는 기능은 제공자에 의해서 지원되는 프래그래밍 언어, 라이브러리, 서비스 그리고 도구를 이용하여 사용자가 만들거나 이미 만들어진 어플리케이션을 확보하여 클라우드 인프라 위에 배포하는 것이다.[ref]이 능력은 필연적으로 프로그래밍 언어, 라이브러리, 서비스, 툴의 다른 출처에서의 호환성있는 사용을 불가능하게 한다.[/ref] 소비자는 네크워크, 서버, 운영체제, 스토리지 같은 클라우드 인프라 아래에 있는 것을 관리하지 않는다. 그러나 배포된 어플리케이션을 어플리케이션이 호스팅되는 환경 설정에 대한 변경을 통하여 제어한다.
서비스로서의 인프라(Infrastructure as a Service (IaaS)).
소비자에게 제공되는 능력은 프로세싱, 스토리지, 네트워크 그리고 다른 기초적인 컴퓨팅 리소스의 공급이다. 소비자는 배포하고 운영체제와 애플리케이션을 포함한 임의적인 소프트웨어를 실행할 수 있다. 소비자는 클라우드 인프라 아래를 관리하거나 제어하지 않지만 운영체제 위의 스토리지와 배포된 어플리케이션은 컨트럴한다. 선택된 네트워킹 요소들에 대한 일부 제한한 컨트럴(예, 호스트 방화벽)이 가능하다.
배포 모델(Deployment Models):
프라이빗 클라우드(Private cloud)
클라우드 인프라는 여러 소비자로 구성된 하나의 기관(예, 하나의 부서)에 독점적인 사용을 위해서 제공된다. 그 기관 또는 제 3자 또는 그 조합(combination)에 의해서 소유, 관리, 운영되며, 해당 기관의 영업장 안에 위치할 수 있지만 아닐 수 있다.
커뮤니티 클라우드(Community cloud)
클라우드 인프라는 공동의 관심사(임무, 보안 요구 사항, 정책과 여려 준수 고려 사항)를 공유하는 특정 소비자 공동체의 독점적인 사용을 위해 제공된다. 공동체의 하나 또는 그 이상의 기관, 제 3자, 그 조합(combination)에 의해서 소유, 관리, 운영되며 해당 기관의 영업장 안에 위치할 수 있지만 아닐 수 있다.
퍼블릭 클라우드(Public cloud)
클라우드 인프라는 일반 대중을 대상으로 한 공개된 사용을 위해 제공된다. 비지니스, 아카데미 또는 정부기관 또는 그 조합에 의해서 소유, 관리, 운영되며 클라우드 제공자의 영업장에 위치한다.
하이브리드 클라우드(Hybrid cloud)
클라우드 인프라는 2개 또는 그 이상의 구별되는 클라우드 인프라(프라이빗, 커뮤니티, 퍼플릭)로 구성된다. 각각은 독립적인 개체로 유지되지만 데이터와 어플리케이션의 이동성(portability)(클라우드간의 로드발런싱으로 클라우드간의 경계를 넘어감)를 가능하게 하는 표준 또는 독점 기술(proprietary technology)로 같이 묶인다.