계속해서 IT분야에서 이슈/화두가 되고있는 클라우드 컴퓨팅에 대해서 정리해 보려 합니다.


이미 여러곳에서 클라우드 컴퓨팅이 무엇인지, 어떤 역할을 하게되며, 앞으로의 전망은 어떠한지에 대해서 나와있긴 하지만 그 모든 내용들을 이해하는데는 한 가지 큰 문제점이 존재합니다.


내용들은 모두 아주 자세하며 훌륭하다. 하지만, 아무리 읽어도 내게는 와닿지도, 이해도 되지 않는다. 숲을 보고 싶다.


지금부터 제가 하려는것이 바로 저것 입니다. 블로그 포스팅을 통해서 클라우드 컴퓨팅이 무엇인지, 어떤 원리이고, 어떤 역할을 할 수 있으며, 전망은 어떻고, 어떤 문제점들이 뒤에 숨어있는지 지금부터 하나 하나 생각하고 맛보며 적어내려가 보도록 하겠습니다.


 

정리, 정리, 정리. 클라우드 컴퓨팅의 의미


클라우드 컴퓨팅은 이미 이름에 의미의 절반이 들어가 있다고 보셔도 됩니다. 용어가 설명하고 있고, 곳곳마다 설명하고 있듯이



"구름속으로 뭔가를 던져버리면, 비가 되어서 내리는", 즉, "수 많은 컴퓨터들이 드넓게, 한없이 쭉- 서로 서로 연결되어 있고 사용자가 뭔가를 하고자 한다면 그걸 저 컴퓨터들의 구름속으로 보내면 결과가 되돌아오는 기술"이 클라우드 컴퓨팅 입니다.


이제 좀 더 기술적으로 자세히 들여다 보도록 하겠습니다.


클라우드 컴퓨팅의 기본은 인터넷상에 성능이 뛰어난 컴퓨터들이 한데 묶여있고, 사용자가 자신의 데이터나 작업을 그 "고성능서버/컴퓨터들의 그룹"에 맡겨서 처리되게 한다음 그 결과를 되돌려 받는 것입니다.


모든 데이터는 "클라우드(구름)"이라고 할 수 있는 고성능서버/컴퓨터 그룹에 저장됩니다. 데이터 자체의 처리도 그 그룹에서 모두 이루어지기 때문에 데스크탑/랩탑의 성능이 뛰어나지 않아도 됩니다. 거기다가 해당 클라우드를 자유롭게 이용할 수 있는 웹브라우저와 같은 플랫폼만 갖추어진다면 그 어떤 디바이스, 기기, 단말기로도 인터넷을 통해 해당 클라우드(=고성능컴퓨터 그리드, 그룹)를 통해 자료를 저장하고, 어떤 작업이든 할 수 있게 됩니다. 어차피 처리는 그 클라우드(컴퓨터 구름)에서 이루어지고, 단말기는 거기서 처리된 결과만 받으면 되기 때문입니다.


실제로 구현해내는 방법은 크게 두가지가 있을 수 있습니다.


하나는 초대형 데이터 센터를 구축하는 것입니다. 구글처럼 말이지요. 슈퍼 컴퓨터까지는 아니더라도 성능이 뛰어난 서버들을 한데 묶어서 그룹화 시켜주고, 그 그룹들을 다시 연결시켜서 하나의 데이터 센터를 만들고, 그 데이터 센터에서 집중적으로 자료를 처리하게끔 해서 클라우드 컴퓨팅을 구현해내는 것이죠.


이것도 컴퓨팅 파워가 부족할 수 있기 때문에 다시 이렇게해서 구축된 여러 데이터 센터들끼리 다시 연결시키기도 합니다. 마이크로소프트, IBM도 이런 방식으로 대규모 데이터센터를 구축하고 이걸 통해 클라우드 컴퓨팅 네트워크를 구축하고 있다고 합니다.


두번째 방법은 에이전트를 이용하는 것입니다.


우선 신뢰할 수 있는 사용자들에게 에이전트(=특정한 기능을 수행하는 작은 프로그램)를 설치하게 합니다. 그런다음, 그 사용자가 컴퓨터를 장시간 사용하지 않거나, 혹은 화면 보호기가 떠있거나, 부하가 크지 않은 작업을 실행하고 있을때 에이전트를 통해 남는 자원들을 한데 모아서 클라우드 컴퓨팅 네트워크를 구축하는 방법이 두번째 방법입니다.


 아마 '그리드 컴퓨팅하고 비슷한데?'라는 생각을 하신분이 계시겠지만, 신뢰할 수 있는 사용자로부터의 신뢰할 수 있는 자원이라는 점이 차이점 입니다.


뒷부분에서 클라우드 컴퓨팅과 비슷한 다른 기술들과 함께 비교해 보도록 하겠습니다.


전세계에 인터넷에 연결되어 있는 사용자들를 대상으로 하기 때문에 네트워크 퍼포먼스는 상당히 떨어지지만 비싼 데이터센터를 구축하지 않아도 구현이 가능하기 때문에 많이 사용되는 방법입니다.


 첫번째와 두번째를 적절히 결합한 방법도 있습니다.


데이터 저장은 소규모 데이터센터를 구축해서 그곳에 저장하고, 실제 처리는 신뢰할 수 있는 사용자에게 설치된 에이전트를 통해서 하는 것이지요.


 

그리드, 유틸리티, 클라우드 컴퓨팅.


잠시만 웹을 둘러보시면, 클라우드 컴퓨팅은 새로운 개념은 아니라는 점을 발견하시게 될겁니다. (이미 알고계신분도 계시리라 생각합니다)

그렇다면 이제 앞쪽에서도 잠시 언급되었던 그리드 컴퓨팅과 함께 이와 비슷한 유틸리티 컴퓨팅, 그리고 이 포스팅의 주인공인 클라우드 컴퓨팅 세 가지를 비교해 보도록 하겠습니다.


 그리드 컴퓨팅은 흩어져 있는 슈퍼 컴퓨터나 클러스터 컴퓨터들을 묶어서 공유해서 사용하는 것입니다. 나머지 둘과 얼핏 비슷해 보일지도 모르지만, 주로 과학계산용으로 사용되었기 때문에 사용자가 과학자 그룹으로 한정되어 있었습니다.


 이걸 비지니스쪽으로 이끌어낸것이 유틸리티 컴퓨팅 입니다.


온-디맨드 컴퓨팅(On-demand Computing)이라고도 불리는 유틸리티 컴퓨팅은, 컴퓨팅 자원도 전기처럼 하나의 Utility로 보고 코드만 꼽으면 쓸 수 있고 쓴 만큼 돈을 받자는 것입니다. 기업들의 정보처리나 서비스를 직접 전산실에 두지말고 자신들에게 맡기고 쓴 만큼만 지불하라는 것이죠.


 그리드 컴퓨팅이 주로 과학을 타겟으로 했고, 유틸리티 컴퓨팅이 기업 고객을 타겟으로 한다면, 클라우드 컴퓨팅은 개인 사용자에게 포커스를 맞추고 있다는 점이 눈에 띄는 차이점 입니다. 이 때문에 클라우드 컴퓨팅이 이전 기술들보다 훨씬 더 주목을 받고 있고, 가능성이 더 큰게 아닐까 생각 합니다.


사용자의 데이터와 프로그램이 모두 다 클라우드에 저장된다면 이전과는 전혀 다른 새로운 변화와, 더 새로운 가능성들이 열리게 될것입니다.


그리고 이 클라우드 컴퓨팅을 플랫폼으로 삼아 새로운 서비스, 더 나아가서는 또 다른 기술이 나올수도 있겠지요.

 


클라우드 컴퓨팅의 장점. 한 번 더 정리를.


그렇다면 클라우드 컴퓨팅의 장점은 아래와 같이 정리될 수 있을 겁니다.


우선 사용자로서는 안에서 무슨일이 벌어지든, 어떻게 동작되든 간에 원리나 동작 자체에 신경쓸 필요없이 이전에도 익숙하게 웹을 사용해왔듯이 특별한 어려움없이 손쉽게 기술을 사용할 수 있습니다. 내부가 어떻게 돌아가든지 간에 결과만 받아볼 수 있으면 그만인 것이지요.


 예를 들어서 새롭게 웹서비스를 하나 구축하려고 합니다. 그럼 아래와 같은 문제들에 발목을 잡히게 될지도 모릅니다:

성능이 뛰어난 웹서버, 대용량 스토리지, 고속회선이 필요하다. 하지만, 이걸 구축할 시간이 없다. 거기다가, 설상가상으로 비용도 턱없이 모자라다. 웹서비스를 시작해보기도 전에 포기해야 할것 같다.


이런 경우에 클라우드 컴퓨팅 기술을 활용하게 된다면, 저렴한 비용으로 이 모든 처리를 컴퓨터 클라우드에 맡길 수 있게 됩니다. 뭔가를 따로 구축하거나 신경쓸 필요없이 단지 클라우드에 맡기기만하면 나머지는 알아서 클라우드가 처리해주고 결과만 처리되어서 되돌아오는 것이죠.


웹서비스를 위한 프로그램만 만들어서 올려주면 되기 때문에, 해야할일도 확줄고, 문제도 훨씬 더 간단하고 편해집니다.

 


문제는 진정성.


이렇게 좋은 클라우드 컴퓨팅이지만 역시나 단점, 문제점이 있습니다. 그건 바로 정말로 믿을만한가, 즉, 진정성 입니다. 사용자로서는 데이터를 모두 다 클라우드에 맡기는 것이기에, 정말로 제대로 보호해 줄 수 있을지, 해킹은 당하지 않을지(보안), 그리고 내 자료를 마케팅이나 다른 용도로 사용하게 되진 않을지 불안할 수 밖에 없습니다.


클라우드 컴퓨팅이든 뭐든간에 결국은 진정성이 큰 문제가 됩니다.


브랜드/이미지를 형성하고 사용자의 마음을 얻는건 정말 어렵고 시간이 많이 걸리겠지만, 그걸 잃어버리는 것은 한 순간일 것이기 때문입니다.


그렇기 때문에 기술의 비전을 제대로 현실화 하려면, 제대로된 보안과 도덕성, 그리고 정교한 BM(=Business Model, 비지니스모델)이 뒷받침 되어야 할것 입니다.

 


포인트는 소프트웨어.


클라우드 컴퓨팅에 있어서 정말 중요한 부분은 바로 실제적으로 작용하고 동작할 소프트웨어, 즉, 분산 컴퓨팅 플랫폼 입니다.


데이터가 얼마나 효율적이고 안전하게, 자동적으로 잘 처리되느냐 하는 문제는 소프트웨어에게 달려있기 때문입니다. 구글과 아마존이 여기에 대해서 벌써 논문까지 여럿 냈고, 오픈소스에서는 야후의 스폰서를 받고있는 Hadoop 이 있는데, 앞으로의 발전을 눈여겨 볼만 합니다.

 

 

마치면서.


클라우드 컴퓨팅에 대해서 되돌아보는걸 겸해서 한번 정리해 봤습니다.

글을 쓰는데 참고한 사이트 주소는 아래와 같습니다:

http://www.jaso.co.kr/232

http://www.web2hub.com/blog/82

http://www.smartplace.kr/blog_post_331.aspx

http://poem23.com/entry/미래를-여는-IT-기술-클라우드-컴퓨팅

http://archvista.net/entry/클라우드-컴퓨팅

 

좀 더 클라우드 컴퓨팅의 전망과 미래에 대해서 읽고 싶으신 분은, 아래의 게시글을 봐주세요.

정말로 훌륭하게 정리되어 있습니다:

새로운 키워드, 클라우드 컴퓨팅. 그리고 미래.

 

끝까지 읽어주셔서 감사합니다 :)