Cloud Computing

|
최근 Cloud Computing의 매력에 푹 빠져 있다. 그래서 일상 생활의 여러 방면에 걸쳐서 Cloud Computing 개념을 탑재한 인터넷 서비스들을 최대한 많이 활용하는 것에 상당한 노력을 들이고 있다.


Wikipedia를 보면, "Cloud Computing"의 정의는 다음과 같이 쓰여 있다.

Cloud computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet.

즉, "인터넷을 통해서 동적으로 확장 가능하고 가상화된 자원이 서비스로 공급되는 형태의 컴퓨팅 환경"을 말하는 것인데, 쉽게 말해서 사용자가 클라이언트 PC에서 직접 작업을 하는 대신, 저 멀리 구름 너머의 서버가 제공하는 강력한 컴퓨팅 자원을 이용하여 필요한 작업을 하겠다는 것이다.

사실 이런 개념은 그 옛날 Sun, Oracle 등에서 주장하던 "Network Computer"의 개념과 크게 다르지 않은데, 어찌 됐든 local client는 그저 interface 역할만 하거나 최소한의 동작만 하고, 실제 작업은 서버에서 하겠다는 것이겠다.


<Cloud Computing 개념도와 서비스 제공 회사들>

Cloud Computing은 다음과 같은 기능을 제공한다고 한다. [Wang08][각주:1]

  • HaaS: Hardware as a Service
  • SaaS: Software as a Service
  • DaaS: Data as a Service

그리고 이들 기능들을 통해서 Platform as a Service (PaaS)를 제공한다.


<Cloud functionalities>

여기서 H/W를 제공한다는 것은, 예컨대 수퍼 컴퓨터처럼 엄청난 컴퓨팅 환경이 필요할 때, 이걸 직접 사지 않아도 인터넷을 통해서 이런 컴퓨팅 파워를 서비스로 제공하겠다는 것이고, S/W 역시 마찬가지로 직접 사지 않아도 필요할 때마다 구름 저편의 컴퓨터에 설치된 S/W를 사용한다는 것. 데이터야 뭐 웹스토리지 생각하면 되는 쉬운 개념이겠다.




이렇게 따지면, 사실 수많은 웹스토리지 서비스는 물론, 글을 서버에 적어놓고 볼 수 있는 웹 게시판들도 다 Cloud Computing의 개념에 들어갈 것이다. 이렇게 범위를 넓게 잡으면 재미 없으니까, 좀 더 스마트하게 내 마음대로 다시 범위를 좁혀서 다음과 같은 Cloud Computing 서비스를 생각해 본다. (HaaS 측면은 거의 제외된 개념임)

"사용자의 데이터와 작업내용을 구름 너머 어딘가의 서버에 저장해 두고, 자신의 PC 혹은 smartphone, Web 등을 활용해서 언제든지 편하게 불러와 작업을 할 수 있도록 해 주는 서비스"

이렇게 범위를 좁히면 사용자의 client 종류(PC, smartphone, Web)에 따라 적절한 인터페이스와 사용성을 제공하면서 내가 어디서 어떤 client를 사용하든 신경쓰지 않고 편리하게 사용할 수 있는 서비스를 생각할 수 있을 것이다. 예를 들면, 웹이나 Smartphone, PC의 일정관리 S/W 어느 것을 통해서도 일정을 기록하고 동기화할 수 있는 Google Calendar가 대표적인 경우가 될 수 있을 것이다.

웹에서 이것과 유사한 서비스는 상당히 많이 찾아볼 수 있다. 이미 사용하고 있거나 앞으로 발견하게 되는 좋은 서비스들을 이 블로그에서 최대한 많이 소개해 볼 작정이다. :)

[참고]
http://www.cloudave.com/ → Cloud Computing에 대한 각종 뉴스와 새로운 서비스들을 다루고 있는 블로그



  1. Lizhe Wang, Jie Tao, Marcel Kunze, "Scientific Cloud Computing: Early Definition and Experience", Proc. of IEEE HPCC, 2008 [본문으로]
And