라봉이의 개발 블로그

클라우드 컴퓨팅의 정의 본문

컴퓨터 사이언스/용어 정리

클라우드 컴퓨팅의 정의

Labhong 2021. 10. 22. 15:24
반응형

클라우드 컴퓨팅의 정의

NIST(미국 국립표준 기술 연구소)에 의하면 클라우드 컴퓨팅(Cloud Computing)은 최소한의 관리나 서비스 제공자의 상호 작용으로 신속하게 프로비저닝 및 출시할 수 있는 구성 가능한 컴퓨팅 리소스(예: 네트워크, 서버, 스토리지, 애플리케이션 및 서비스)의 공유 풀에 대한 유비쿼터스하고 편리한 온디맨드 네트워크 액세스를 가능하게 하는 모델.

참고: [NIST] 클라우드 컴퓨팅 정의

클라우드 컴퓨팅의 5가지 특성

온디맨드 셀프 서비스(On-demand Self Service)

소비자는 각 서비스 제공자와 상호작용 할 필요 없이 필요에 따라 컴퓨팅 기능을 자동으로 프로비저닝 할 수 있습니다.

광범위한 네트워크 엑세스(Broad Network Access)

기능들은 네트워크를 통해 제공되며, 여러 종류의 thin 혹은 thick 클라이언트 플랫폼에서 사용을 촉진하는 표준 메커니즘을 통해 액세스할 수 있습니다.

Thin vs Thick Client

  • Thin Client는 주로 서버와 통신하도록 설계된 소프트웨어입니다. (예: 크롬, 사파리 웹 브라우저)
  • Thick Client는 자체 기능을 구현하는 소프트웨어입니다. 서버에 연결할 수 있지만 연결이 끊겨도 기능을 수행할 수 있습니다. (예: 게임)

리소스 풀링(Resource Pooling)

제공자의 컴퓨팅 리소스는 멀티 테넌트(Multi-tenant) 모델을 사용해 여러 소비자에게 서비스를 제공할 수 있도록 풀링되며, 소비자의 요구에 따라 서로 다른 물리적 리소스와 가상 리소스가 동적으로 할당/재할당 됩니다.

멀티 테넌트(Multi-tenant) 모델
단일 소프트웨어 인스턴스로 서로 다른 여러 사용자 그룹에 서비스를 제공할 수 있는 소프트웨어 아키텍쳐를 의미. SaaS 제품이 멀티테넌트 아키텍쳐의 예입니다.

리소스 풀링(Pooling)
서버나 스토리지 등의 자원을 미리 확보하고 이를 사용자 요청에 따라 제공한다는 개념 혹은 이를 확보해놓은 가상적인 공간을 의미합니다. (수영장 풀을 생각하면 된다.)

빠른 탄력(Rapid elasticity)

기능이 탄력적으로 프로비저닝 및 릴리즈 될 수 있으며, 경우에 따라 자동적으로 수요에 따라서 신속하게 확장 및 축소될 수 있습니다.

측정되는 서비스(Measured Service)

클라우드 시스템은 서비스 유형에 적합한 일정 수준의 추상화()에서 미터링 기능을 활용해 리소스 사용을 자동으로 제어하고 최적화합니다. 또한 리소스 사용량을 모니터링, 제어 및 보고할 수 있으므로 사용된 서비스의 제공자와 소비자 모두에게 투명성을 제공합니다.

클라우드의 서비스 모델

SaaS

SaaS(Software as a Service)는 클라우드 인프라에서 실행되는 제공자의 애플리케이션을 사용할 수 있는 기능이 소비자에게 제공됩니다. 이 애플리케이션은 웹 브라우저와 같은 thin 클라이언트로 인터페이스나 프로그램 인터페이스를 통해 다양하게 접근 가능합니다. 사용자는 애플리케이션에서 제공하는 기능 및 구성 설정을 제외하고 네트워크, 서버, 운영 체제, 스토리지 또는 개별 애플리케이션 기능을 포함한 기본 클라우드 인프라를 관리하거나 제어하지 않습니다.

ex) 네이버 메일, 드롭박스, 넷플릭스 OTA 등

PaaS

PaaS(Platform as a Service)는 사용자에게 제공되는 기능은 제공자가 지원하는 프로그래밍 언어, 라이브러리, 서비스 및 도구를 활용해 사용자가 생성하거나 취득한 애플리케이션을 클라우드 인프라에 배포하는 것입니다. 사용자는 네트워크, 서버, 운영 체제 또는 스토리지를 포함한 기본 클라우드 인프라를 관리하거나 제어하지 않지만 배포된 애플리케이션과 애플리케이션 호스팅 환경의 구성 설정을 제어할 수 있습니다.

ex) 헤로쿠, AWS Lambda, AWS elastic Beanstalk, 도커, 쿠버네티스 등

IaaS

IaaS(Infrastructure as a Service)는 사용자에게 제공되는 기능은 프로세싱, 스토리지, 네트워크 및 기타 기본 컴퓨팅 리소스를 프로비저닝하여 운영 체제와 애플리케이션을 포함한 임의의 소프트웨어를 배포하고 실행할 수 있는 기능입니다. 사용자는 기본 클라우드 인프라를 관리하거나 제어하지 않지만 운영 체제, 스토리지 및 구현된 애플리케이션을 제어할 수 있으며, 선별된 네트워킹 구성 요소(예: 호스트 방화벽)에 대한 제어가 제한적일 수 있습니다.

ex) AWS, Azure, IBM Cloud, Google cloud 등

클라우드 서비스 배포 모델

클라우드를 사용하는 조직 및 사용 목적에 의해 클라우드 서비스가 배포되는 모델을 4가지로 나눌 수 있습니다.

Private Cloud

여러 소비자(예: 사업부)로 구성된 단일 조직에서 독점적으로 사용하는 클라우드입니다. 조직, 제3자 또는 이들의 조합에 의해 소유, 관리 및 운영될 수 있으며, 사내 또는 외부에 존재할 수 있습니다.

Community Cloud

공통 관심사(예: 미션, 보안 요구 사항, 정책 및 규정 준수 고려 사항)가 있는 조직의 특정 소비자 커뮤니티에서 독점적으로 사용하는 클라우드입니다. 지역사회의 하나 이상의 조직, 제3자 또는 이들의 조합에 의해 소유, 관리 및 운영될 수 있으며, 구내 또는 외부에 존재할 수 있습니다.

Public Cloud

일반 대중이 공개적으로 사용할 수 있는 클라우드입니다. 기업, 학계, 정부 단체 또는 이들의 조합에 의해 소유, 관리 및 운영될 수 있습니다. 클라우드 제공자의 구내에 존재합니다.

Hybrid Cloud

둘 이상의 개별 클라우드 인프라(프라이빗, 커뮤니티 또는 퍼블릭)로 구성되어 있지만, 데이터 및 애플리케이션 이식성(예: 클라우드 간 로드 밸런싱을 위한 클라우드 버스트)을 가능하게 하는 표준화된 또는 독점 기술에 의해 함께 결합되어 있습니다.

반응형

'컴퓨터 사이언스 > 용어 정리' 카테고리의 다른 글

REST와 RESTful API  (0) 2019.02.09
HTTP 프로토콜이란?  (0) 2019.02.09
Comments