그리드 컴퓨팅 전문가인 K 박사의 “그리드 컴퓨팅과 클라우드 컴퓨팅이 뭐가 달라요?”라는 질문에 대해 계산과학자의 관점에서 다음과 같은 비유로 구분을 해보면 어떨까 한다.
-
사례 1
모 대학에서 연구중인 K 박사는 고질적인 컴퓨팅 파워 부족에 시달리고 있다. 연구에 필요한 컴퓨팅 리소스는 평균 30~50 인데, 논문철이 다가오거나 프로젝트 마감이 다가오면 필요한 리소스는 최소 70에서 최대 100까지 요구되고 있으나, K 박사의 대학은 슈퍼컴퓨팅 자원을 확충할 여력이 없다.
K박사는 옆 대학에서 연구중인 L 박사에게 물어봤더니, L박사도 똑같은 고민에 시달리고 있다고 했다. 그런데 이야기를 들어보니, L박사는 6월 말에 Peak 로 컴퓨팅 자원이 필요한 반면, K 박사는 주로 11월에 리소스가 많이 필요했다.
여기서 두 박사는 한가지 아이디어에 착안해서 두 대학의 컴퓨팅 자원을 하나라 연결할 수가 있다면, K박사가 필요로 할 때는 L박사의 자원을 같이 쓰고, 반대로 L박사는 필요시에 K박사의 자원을 쓸 수 있다면 두 사람 모두 자원을 늘이지 않고서도 필요한 자원을 충분히(당분간) 쓸 수 있을 것이라는 결론에 도달했다.
-
사례 2
모 기업에서 근무하는 M 박사는 신제품 설계 때마다 늘 컴퓨팅 파워 부족에 시달리는데, 연구에 필요한 컴퓨팅 자원 구매 품의를 올릴때 마다 예산 부족으로 반려되고 있다. 일년에 3~4 개월을 위해 컴퓨터를 사면 나머지 시간에는 뭐할 것이냐는 핀잔과 함께… 옆 사업부의 N 박사도 동일한 고민으로 시달리면서 회사욕을 해대고 있다.
두사람이 불만을 하소연하고 있는 자리에 동참했던 O차장이 “우리 회사의 ERP 장비는 12월 부터 2월까지의 결산 기간에는 무지하게 돌아가는데 평소에는 한가한데… 그 장비를 사용할 수는 없나요?” 라면서 거들었다.
듣고 있던 M, N 박사는 곰곰히 생각하더니, IT 부서에서 우리가 필요한 시기에 ERP 장비용으로 들어와 있는 리소소의 일부를 제품 개발에 할당해 주면 어떨까 하는 아이디어가 떠올랐고, 이를 위해서 IT 부서에 한 장비로 두가지 일을 필요시에 할 수 있는 방안을 강구해달라고 요청하기로 했다.
1번 사례와 2번 사례를 실제로 구현하기 위해서 해야할 일이 무엇일까? 1번은 두 컴퓨팅 센터를 효율적으로 연결해서 “단일한 머신” 처럼 보이도록 만들기 위한 미들웨어 및 고속 네트워크가 필요할 것이고, 2번 사례는 하나의 장비에서 용도가 다른 두가지의 시스템이 돌아가도록 하는 (서로의 일에 영향을 미치지 않고) 가상화 및 프로비저닝이 주로 필요할 것이다.
계산과학자의 입장에서는 필요시에 원하는 컴퓨팅 자원을 끌어쓴다는 것에서는 동일하지만, 그 자원을 확보하는 방식에서 두 사례는 완전히 다른 방법을 채택해야하며, 이에 따른 시스템 설계, 운영 방법, 서비스 방안 등이 달라진다.
그리드컴퓨팅에서 클라우드컴퓨팅으로 넘어오는데 결정적인 기여를 한 기술이 “가상화” 기술이고, 가상화기술이 결합됨으로써, 필요시에 ERP 머신과 계산 머신의 역할을 바꿀 수 있다면 두 컴퓨팅 센터을 연결하는 미들웨어를 개발하고 네트워크 인프라를 연결하는 것보다 Agility 측면에서 더 많은 강점을 보일 것이다. 이런 관점에서 본다면 클라우드 컴퓨팅이 그리드 컴퓨팅보다 훨씬 더 유연한 아키텍처라고 볼 수 있을 것이다.
주) 다음과 같은 논리를 주장하는 경우도 있다.
그리드 + 가상화 = 클라우드