달력

072010  이전 다음

아키텍트 대회 Q&A 시간에 들은 가장 인상 깊은 질문에 대해 메모.

(오라클) 그리드 컴퓨팅과 클라우드 서비스 사이의 차이에 대해?

답변하신 분은 이들이 완전히 별개의 기술이 아니라 연속선 상에 있는 기술이며, 두 용어 사이의 차이점은 큰 의미가 없다는 논지였다. 하지만, 질문하신 분은 그래도 새로운 말이 쓰일 때는 이유가 있지 않으냐는 입장이었다. 전문분야가 아니지만 들은 내용에 따르면 얼핏 이런 생각이 들었다.

그리드는 컴퓨팅 환경을 꾸미는 제공자 입장이고, 클라우드는 사용자 측면에서 (어떻게 서비스가 제공되는지는 모르는 상태로) 컴퓨터를 사용하는 현상을 거론한 표현이라고 알고 있다.

생각난 김에 이하는 위키피디아 정리를 비교[각주:1]

Grid computing is a term referring to the combination of computer resources from multiple administrative domains to reach common goal. What distinguishes grid computing from conventional high performance computing systems such as cluster computing is that grids tend to be more loosely coupled, heterogeneous, and geographically dispersed. It is also true that while a grid may be dedicated to a specialized application, a single grid may be used for many different purposes. They are often constructed with the aid of general-purpose grid software libraries called middleware.

Cloud Computing is Internet-based computing, whereby shared resources, software, and information are provided to computers and other devices on demand, like the electricity grid.

오호.. 역시 위키피디아 정리가 대단하군. 그리드는 운영자가 다른 컴퓨터의 조합을 의미하고, 그래서 개인차원에서도 참여하여 그리드를 형성하자는 구호가 있었지. 전통적인 클러스터와 다른 점은 역시나 상대적으로 낮은 결합도와 이기종에 지역적 편재이다. 한편, 클라우드와 차이라고 생각할 수 있는 점인데 특정한 목적을 위해 많은 컴퓨팅 자원이 결합했다는 점이다. 주로 과학적인 문제나 슈퍼컴퓨터를 대체하는 거대한 PC 조합을 예로 들었던 일이 생각난다. 클라우드 서비스를 제공하기 위해 그리드를 구성할 수는 있다.

클라우드는 일단 구름으로 대변하는 인터넷 기반이다. 핵심은 필요할 때 혹은 필요한 만큼 쓰는 수요 중심적(On Demand)이란 점.

* 7월 27일 클라우드의 충격 내용 일부 발췌

클라우드의 충격 6~11쪽에서 잘 설명하고 있다. 차이점 위주로 특징을 비교한 표를 발췌한다.

   그리드 컴퓨팅
클라우드 컴퓨팅
 컴퓨터 위치와 관리주체
지리적으로 분산되어 있고, 각기 다른 조직이 관리
 지리적으로 분산되어 있지만, 중앙에서 단일 조직이 관리
 컴퓨터 구성
 이기종 혼재
동일기종이 많음
 표준화 단체
 존재 존재하지 않음
 기술표준  리소스 관리나 스케줄링, 테이더 관리, 보안 등의 기술표준이 존재
특별히 없음
 상호 접속성
 중시  고려되지 않음
 용도 과학기술 계산, 대규모 연산처리 등 병렬성이 높은 애플리케이션
과학기술적 계산 등과 함께 웹 애플리케이션 등 광범위한 용도로 이용 가능



클라우드의 충격 - 10점
시로타 마코토 지음, 진명조 옮김/제이펍

  1. 검색 상단에 나오는 한글 블로그는 오류가 많은 듯 [본문으로]
Posted by 영회
학부 때 소프트웨어 공학 과목 시험에서 Scalability에 대해 논하라는 문제가 나왔다. '확장성'으로 풀어야 하나 '규모 신장성'으로 풀어야 하나 고민했던 기억이 난다. 결국, 답으로 무얼 적었는지는 모르겠다.

지금 생각해보면 결국 투자 대비 수익(Return on Investment)이라 정리할 수 있다. 하드웨어든 가상화나 그리드 솔루션이든 돈을 들이는 만큼 더 많은 고객을 포용할 수 있어야 한다. 그러나 소프트웨어 산업 초창기인 터라 실제 구현해내는 일은 그리 만만치가 않다. InfoQ 등을 보면 선형적 규모 가변성(Linear Scalability)을 이야기하지만, 국내 현장에선 남의 나라 이야기다. 민감한 시스템 구축 프로젝트에서 이를 언급했다가는 5년 전 일이 데자뷔로 다가오지 않을까. 2005년 대규모 프로젝트에서 스프링(Spring Framework) 도입할 때, '멋 모르는 신출내기' 취급을 받았던 때가 떠오를 듯하다.

바쁜 와중에 갑자기 Scalability에 대해 이야기하는 이유는 얼마 전 스프링로드가 자랑스레 트윗했던 뉴스를 읽었기 때문이다. 영국 최대의 언론사에서 하드웨어 추가에 따른 웹 로직 도입 비용에 부담을 느껴 오픈소스로 눈을 돌린 모양이다. 그러다가 긴급 지원이 가능한 tc 서버로 눈을 돌렸고, 스프링로드의 레퍼런스가 만들어졌다. 구글이 형광등처럼 하드디스크를 소모품으로 여기듯이 하드웨어는 단순 소모품으로 전락할 가능성이 크다. U(Ubi~)라는 키워드가 곳곳에서 쓰이는 현실을 고려하면 점점 하드웨어를 묶어 사용하는 가상화 환경은 기본으로 자리 잡을 가능성이 크다. 이미 포탈에서는 관계형 데이터베이스의 한계를 이야기하고 있고, 서비스를 수행하는 기업은 하드웨어 가용성에 대한 고민을 위탁할 가능성이 매우 크다.

결국은 클라우드가 순식간에 피부에 와 닿을 날이 떡국 몇 그릇 먹기 전에 올 듯하다. 최근에 IDC를 완공한 SI 업체가 측은하게 느껴지는 것은 지나친 걱정일까?
Posted by 영회


MSDN을 볼 때마다 느끼지만, MS가 그림은 정말 잘 그린다. 표현력도 뛰어나지만 시각적 아름다움까지 탑재한 그림이다. (출처: http://blogs.msdn.com/dachou/archive/2009/01/13/cloud-computing-and-the-microsoft-platform.aspx)


다양한 클라우드 서비스 제공 벤더에 대해 압축하여 정리한 그림은 다른 블로그(http://setandbma.wordpress.com/category/trend/)에서 발견할 수 있었다.



블로그 저자는 클라우드에 눈 뜨려면 다음 세 가지 전통적 패러다임을 버리라고 말한다.

  1. …sequential processing
  2. …relational storage
  3. …the physical boundary of a machine
And, I think Google App Engine is in the best position to provide solution for the new paradigm.


Posted by 영회