등장배경

기업이나 개인 사용자가 마치 구름 속에 있는 것처럼 손에 잡히지 않는 IT 자원을 필요할 때마다 빌려 쓰는 방식에서 클라우드 컴퓨팅이 출발했다.

개념

인터넷의 데이터 서버에 프로그램을 두고, 필요할 때마다 컴퓨터나 모바일 기기로 불러와 사용하는 서비스다. 각종 자원을 사용자가 직접 소유하고 관리하던 기존 방식과 달리, 사용자가 필요한 자원을 가상화된 형태로 네트워크를 통해 제공받는다.

미국 국립표준기술연구원(NIST)은 클라우드 컴퓨팅을 이렇게 정의한다. 언제 어디서나 필요할 때마다 네트워크, 서버, 스토리지 등 공유된 컴퓨팅 자원을, 시스템 운영자에게 별도로 요청하지 않아도 될 만큼 __최소한의 관리__와 노력으로 신속하게 제공받을 수 있는 모델이다.

사용자 환경

클라우드 컴퓨팅은 가상화 기술과 분산처리 기술을 기반으로, 인터넷을 통해 대규모 컴퓨팅 자원을 임대하고 사용한 만큼 요금을 지불하는 컴퓨팅 환경이다. 이 환경에서 제공되는 서비스를 클라우드 서비스라 부르며, 필요할 때 바로 쓸 수 있는 주문형(ON-DEMAND) 아웃소싱 IT 서비스의 성격을 띤다.

클라우드 서비스는 보통 세 계층으로 나뉜다: IaaS[^1], PaaS[^2], SaaS[^3].

장점 및 단점

장점은 분명하다. 꼭 필요한 자원만 구매하고 나머지는 임대해 쓸 수 있고, 임대한 자원도 사용한 만큼만 비용을 지불하므로 합리적이다. 자원 사용 환경이 바뀌어도 낮은 비용으로 신속하게 대응할 수 있다.

단점도 함께 따라온다. 클라우드 서비스의 안정성을 완전히 확신하기는 어렵고, 주요 정보를 클라우드 서버에 저장하면 보안 문제가 생길 수 있다. 클라우드로 전환하는 작업에서 표준화 준비가 미흡하면 인적, 물적 비용이 오히려 늘어날 수도 있다.

핵심기술

  • 가상화 기술: 가상 하드웨어 인프라를 구축해 공유 자원을 클라우드 사용자에게 나누어 준다.
  • 분산처리 기술: 수집된 데이터를 대규모 분산처리 환경에서 처리한다.
  • 오픈 인터페이스: 네트워크를 통해 클라우드 서비스를 이용하고, 서비스 사이의 정보 공유를 지원한다.
  • 서비스 프로비저닝: 서비스 제공자가 실시간으로 클라우드 자원을 제공한다.
  • 서비스 수준 관리: 계량화된 클라우드 서비스의 품질을 유지하고 관리한다.
  • 다중공유모델: 하나의 클라우드 자원 인스턴스를 여러 사용자 그룹이 독립적으로 사용할 수 있게 한다.

[^1]: Infrastructure as a Service. 가장 기본적인 클라우드 서비스 모델로, 서버, 저장소, 네트워크 등 기본적인 IT 인프라를 가상화하여 제공한다.
[^2]: Platform as a Service. 개발자가 애플리케이션을 개발, 실행, 관리할 수 있는 플랫폼을 제공한다.
[^3]: Software as a Service. 소프트웨어를 인터넷을 통해 제공한다. 사용자는 소프트웨어를 설치하거나 관리할 필요 없이 웹 브라우저로 바로 사용할 수 있다.