ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 미래를 여는 IT 기술, 클라우드 컴퓨팅
    Cloud service 2008. 10. 20. 08:12
    반응형
    요즘 웹2.0 세계에서는 클라우드 컴퓨팅이라는 단어가 점점 각광을 받고 있다. 구글과 IBM, MS 등의 유수의 밴더들이 클라우드 컴퓨팅에 투자를 집중하고 있는 가운데 국내에서도 이런 클라우드 컴퓨팅을 이용한 솔루션들이 조금씩 모습을 보이기 시작했기 때문이다. 웹2.0 기술들 중에서 블로그, 온라인 오피스 등의 웹 어플리케이션의 전성기 뒤에 모습을 감추고 있었던 SaaS(Service as a Software) 기술과 PaaS(Platform as a Service) 기술, 그리고 그 뒤에 당당히 모습을 드러내고 있는 클라우드 컴퓨팅 기술은 웹2.0을 대변하는 기술로 점점 사람들과 업계의 관심을 모으고 있는 중이다.

    클라우드 컴퓨팅?
    그렇다면 클라우드 컴퓨팅은 무언가? 제목 그대로 해석하자면 구름과 뭔가 관련이 있는듯 보인다. 보통 인터넷을 표현할 때 인터넷 망을 구름으로 표현하기도 한다. 일단 데이터가 인터넷 망으로 들어가면 어디로 떠돌아다닐지도 모르기 때문이다. 전 세계적으로 다 연결되어 있기 때문에 구름으로 표시하곤 하는데 클라우드 컴퓨팅 역시 마찬가지다. 사용자가 어떤 작업 등을 클라우드 컴퓨팅 네트워크에 던지면 그 안에서 어떤 작업을 통해서든 원하는 결과를 내놓는 것, 그것이 클라우드 컴퓨팅이다.

    어떤 거대한 문제 등을 처리할려고 할때 보통은 슈퍼컴퓨터급 서버나 PC(?)를 사용하여 프로그램을 처리하곤 한다. 그만큼 대용량 및 고속 처리를 필요로 할 때는 그만한 성능을 지닌 장비를 이용해야 한다. 이러한 슈퍼컴퓨터급 서버나 PC는 어떤 데이터를 처리할 때 하나의 CPU로 처리하지 않고 여러 CPU를 동시에 사용해서 처리한다. 내부적으로 데이터를 분할해서 각 CPU에 할당하고 처리결과를 하나로 취합하여 보여주는 방식을 취한다. 분산처리라 불리는 이 방식은 슈퍼컴퓨팅에 있어서 기본이 되는 방식이다.

    그리드 컴퓨팅이라는 것이 있다. 슈퍼컴퓨터급 서버나 PC는 아니고 그보다 좀 성능이 낮은 PC지만 그런 PC를 여러대 모아서 네트워크로 연결하여 데이터를 분산처리하는 방식이다. 각 PC들은 네트워크로 연결되어 있고 그런 PC를 컨트롤하는 컨트롤 센터가 있어 그 컨트롤 센터가 각 PC에 데이터를 쪼개어 처리하도록 한다. 각 PC는 할당받은 데이터를 처리하고 결과를 컨트롤 센터에 보내면 컨트롤 센터가 그 결과를 취합하여 사용자에게 보내준다. 사용자는 슈퍼컴퓨터나 그에 준하는 서버를 사용하지는 않았지만 그와 비슷한 결과를 얻을 수 있다. 이 기술이 나온지는 꽤 되었지만 네트워크의 발달로 최근에야 빛을 보게 되었다고 보면 된다.

    클라우드 컴퓨팅은 이러한 그리드 컴퓨팅의 일부라고 보면 된다. 신뢰할 수 있는 네트워크에 슈퍼컴퓨터급 서버 및 스토리지를 많이 연결한다. 그렇다면 그 네트워크는 가히 상상할 수 없을 정도의 성능 및 용량을 지니게 된다. 사용자는 인터넷을 통해 그 클라우드 컴퓨팅 네트워크에 연결해서 자기가 원하는 작업을 지시만 해주면 된다. 나머지는 내부에서 알아서 다 처리해서 알려준다. 필요한 것은 클라우드 컴퓨팅 네트워크에 접속할 수 있는 단말기 뿐이다. 연산, 저장, 처리 등 모든 작업은 다 클라우드 컴퓨팅 네트워크 내부에서 다해주기 때문이다. 아! 인쇄는 지원하지 않으므로 프린터는 있어야 할지도 모르겠다(^^).

    그리드 컴퓨팅 vs 클라우드 컴퓨팅

    지금은 모르겠지만 예전의 소리바다나 토렌토와 같은 서비스는 어떤 파일을 다운로드 받을 때 다운로드 서버에 있는 파일을 다운받는 것이 아닌 연결되어 있는 다른 사용자의 PC에 저장된 파일을 다운받는다. 전체를 그렇게 다운로드 받을 수도 있고 아니면 파일을 여러조각으로 나눠서 여러 사용자들을 통해서 다운받을 수도 있다. 이렇게 하면 업체 입장에서는 다운로드 서버를 더 많이 증설할 필요가 없고 서버와 사용자간의 회선속도가 문제가 있어도 근처 다른 사용자들과의 연계로 인해 큰 지장을 받지 않기 때문에 각광을 받고 있는 기술이 바로 그리드 컴퓨팅 기술이다.

    하지만 그리드 컴퓨팅 기술에 문제점은 신뢰할 수 있는 자원이 아닌 신뢰할 수 없는 자원도 사용할 수 있다는 것이다. 전세계 어느 사용자의 자원을 사용하는지 모르기 때문이다(어찌보면 불특정 다수가 자원을 제공한다고 볼 수 있다). 클라우드 컴퓨팅은 바로 이런 부분에 있어서 신뢰성을 먼저 생각하게 된다.


    클라우드 컴퓨팅은 크게 2가지로 나눌 수 있다. 첫 번째는 구글과 같은 데이터센터를 이용하는 방법이다. 가장 많이 사용하는 방법이라고 할 수 있다. 구글은 초대형 데이터센터를 구축하고 거기에 처리를 집중하는 방식을 사용한다. 그런 데이터센터를 전세계 각 지역별로 설치해서 데이터센터끼리도 네트워크로 묶는다. 데이터센터 내부도 클라우드 컴퓨팅 네트워크지만 데이터센터끼리도 클라우드 컴퓨팅 네트워크라고 보면 된다. 같은 회사의, 혹은 같은 서비스의 데이터센터이기 때문에 신뢰할 수 있는 자원이며 네트워크 퍼포먼스도 상당히 좋다. MS도 IBM도 이렇게 데이터센터를 구축하고 거기에 클라우드 컴퓨팅 네트워크를 구성하고 있다.

    두 번째는 클라우드 컴퓨팅 네트워크를 구축할 수 있도록 에이전트를 신뢰할 수 있는 사용자에게 설치해서 그 사용자의 자원을 사용하는 것이다. 계약을 맺은 사용자의 PC에서 사용자가 사용하면서 남는 자원을 클라우드 컴퓨팅 네트워크 에이젼트에게 제공하면 그 에이젼트를 통해서 분산처리를 시도한다는 것이다. 이는 위에서 설명한 그리드 컴퓨팅과 같은 개념이지만 신뢰할 수 있는 자원이라는 부분이 다르다. 대신에 어느 한곳에 묶여있는 데이터센터와는 달리 전세계에 인터넷으로 물려있는 사용자를 대상으로 하기 때문에 네트워크 퍼포먼스는 좀 떨어진다는 단점이 있지만 그 비싼 데이터센터를 구축하는 것보다는 경제적으로 저렴하기 때문에 많이 이용하는 방법이다.

    첫 번째와 두 번째를 적절히 합쳐서 구축하는 클라우드 컴퓨팅 네트워크 방법도 있다. 소규모 데이터센터를 구축하고 또한 에이젼트를 같이 사용하여 클라우드 컴퓨팅 네트워크를 구축하는 방법이다. 보통 스토리지는 데이터센터에 구축하고 처리는 에이젼트가 설치된 신뢰할 수 있는 PC 자원을 사용하는 방법을 많이 쓰곤 하는데 이 방법은 네트워크 퍼포먼스가 데이터센터와 같은 고성능을 보이지는 못하지만 에이젼트만 사용하는 방법보다는 더 빠른 결과를 보인다. 가격과 성능을 적절히 협상(?)한 방법이라 볼 수 있을 것이다.

    클라우드 컴퓨팅의 장점

    앞서 얘기한 부분은 클라우드 컴퓨팅이 어떻게 구현되는지를 설명했다. 이는 클라우드 컴퓨팅을 제공하는 서비스가 생각해야 할 문제다. 이를 사용하는 사용자는 내부적으로 어떻게 돌아가는지에 대해서는 몰라도 전혀 문제가 없다. 사용자는 그저 어떤 문제를 클라우드 컴퓨팅 네트워크에 던지면 슈퍼컴퓨터급 성능으로 처리결과를 받아볼 수 있으면 그것으로 장땡인 것이다.

    예를 들어 내가 어떤 웹서비스를 하나 구축할려고 한다. 웹서비스를 구축하기 위해서는 웹서버가 필요하다. 또한 데이터를 저장할 수 있는 스토리지도 필요하다. 그리고 고속회선 역시 필요하다. 하지만 클라우드 컴퓨팅을 이용하면 어떻게 될까? 나는 해당 클라우드 컴퓨팅 네트워크에 내가 필요로 하는 웹서버의 용량(대역폭, 스토리지 용량 등)을 설정하고 내가 원하는 웹서비스 프로그램을 만들어서 올려주기만 하면 된다. 웹서비스를 통해서 나오는 데이터를 저장하기 위해 따로 스토리지를 구매할 필요가 없다. 클라우드 컴퓨팅 네트워크 내부에서 다 알아서 저장해주기 때문이다. 대역폭을 확대하기 위해 회선을 더 구매할 필요도 없다. 클라우드 컴퓨팅 네트워크 내부에서 저것마져 알아서 다 처리해주기 때문이다. 사용자는 뭔가 더 필요로 할 때 추가되는 내용을 클라우드 컴퓨팅 네트워크에 요구하면 내부적으로 알아서 다 처리해준다. 그것이 클라우드 컴퓨팅의 장점이다. 데이터 처리, 저장 및 응답까지 클라우드 컴퓨팅 네트워크에서 다 알아서 해주니 이 얼마나 편리한 기술인가.

    구글앱스, 클라우드 컴퓨팅을 활용하는 가장 좋은 방법
    구글은 구글앱스라는 기업 솔루션을 제공한다. 구글앱스에는 메일 서비스인 Gmail, 오피스 프로그램인 구글독스, 일정관리 프로그램인 구글 캘린더, 개인화 페이지 서비스인 iGoogle, 그리고 홈페이지 서비스인 스타트 페이지 등을 제공한다. 구글앱스를 사용하는 기업은 기업에 맞는 도메인만 갖고 있으면 그 도메인에 연결하여 내부 인트라넷을 꾸밀 수 있다.

    구글앱스를 통해서 생성된 모든 데이터는 구글 데이터센터에 저장이 된다. 구글앱스 역시 구글 데이터센터를 통해서 서비스가 된다. 사용자는 따로 저장할 공간을 필요로 하지 않는다. 저장 및 처리 등 모든 데이터 처리를 구글이 알아서 다 해주기 때문이다. Gmail을 통해서 받은 메일도 구글이 알아서 다 저장해주고 검색해주고 찾아준다. 구글독스를 이용해서 만든 문서 역시 구글이 알아서 다 저장해주고 선택한 사용자에 한해 공유까지도 해준다. 또한 개인에 맞게 페이지를 개인화 시키는 iGoogle 서비스를 이용하여 자신만의 웹페이지를 만들 수 있게도 해주고 구글앱스를 통해서 만든 인트라넷 초기화면을 구글에서 제공하는 화면이 아닌 기업에 맞는 화면으로 꾸며주게 만드는 작업을 위해 웹 툴도 알아서 다 제공해준다. 즉, 기업이 필요로 하는 것은 구글앱스에 접속할 수 있는 인터넷 단말기(PC가 될 수도 있고 PDA가 될 수도 있으며 요즘 유행하는 넷북도 좋은 단말기다)만 있으면 된다. 구글앱스를 사용하는 사용자는 내부적으로는 구글 서비스를 이용하고 있는 것이지만 겉으로 볼 때는 자사의 인트라넷 서비스를 이용하고 있는 것으로 보이기 때문이다.

    이렇듯 구글은 구글앱스 뿐만 아니라 YouTube 서비스와 같은 대용량 동영상 서비스도 클라우드 컴퓨팅을 이용해서 처리하고 있다.

    한국의 클라우드 컴퓨팅, 클루넷 CCN

    이러한 클라우드 컴퓨팅 기술이 한국에도 도입되고 있다. 클루넷(구 위즈솔루션) CCN이라 불리는 클라우드 컴퓨팅 네트워크 기술이 그 하나다. 원래 CDN(컨텐츠 전송 네트워크) 기술을 이용했는데 거기에 클라우드 컴퓨팅 기술을 도입한 것이 CCN(클라우드 컴퓨팅 네트워크)이다. 클루넷 CCN은 이것을 동영상 서비스에 이용하고 있다.
    클루넷 CCN은 위의 클라우드 컴퓨팅 네트워크에 소개했던 3가지 타입 중에서 데이터센터와 에이젼트의 절충형 방식을 사용하고 있다. 클라우드 맵버로 확충된 클라우드 컴퓨팅 네트워크와 IDC에 있는 CDN 서버가 하이브리드형으로 2중으로 연결되어 있는 구조다. 모든 동영상 서버가 다운되더라도 클라우드 멤버의 자원을 통해서 전송이 가능하다는 것이 클루넷 CCN의 장점이라 할 수 있다. 사용자는 어떤 경우에라도 동영상을 끊김없이 받을 수 있으며 최저회선속도를 확보할 수 있으니 이래저래 좋은 것이라 할 수 있다.

    클라우드 컴퓨팅 네트워크의 핵심은 클라우드 컴퓨팅 네트워크에 있는 자원들이 여러개로 분산되어 있는 것이 아닌 하나의 자원처럼 보여야 한다는 것이다. 즉, 클라우드 컴퓨팅 네트워크 가상화 기술인데 외부에서는 이 클라우드 컴퓨팅 네트워크가 하나의 컴퓨터가 되는 것으로 인식하게 되는 방법이다. 이게 클라우드 컴퓨팅의 핵심인데 클루넷 CCN은 이 기술의 상용화에 성공했다고 한다. 이제 관건은 클라우드 맴버를 확보하는 일이다. 얼마나 많은 멤버를 확보하느냐에 따라 성능이 얼마나 확보되느냐에 달렸으니까 말이다.

    미래를 대비하는 기술, 클라우드 컴퓨팅

    구글 뿐만 아니라 IBM, Dell 등의 IT 벤더들이 클라우드 컴퓨팅에 투자를 집중하고 있다. 유비쿼터스 시대에 핵심이 될 것이라는 얘기도 들리는 상황이다. 그리고 기업 입장에서는 서버 자원의 추가 투자가 필요없는 세상이 곧 도래한다는 얘기도 된다. 그렇다면 쓰고 버리는 자원이 줄어들어 요즘 유행처럼 번지고 있는 그린 컴퓨팅에도 한몫 할 수 있다는 얘기가 된다. 해당 서버를 만드는데도, 또한 그 서버를 버리는데도 자원이 많이 필요로 하는데 그러한 자원이 다른 곳으로 전용될 수 있다면 이보다 더 좋은 그린 컴퓨팅은 없을 것이라 본다.

    최근 리차드 스톨먼 등이 클라우드 컴퓨팅에 대한 반론을 제기하고 나섰다. 데이터가 한곳으로 집중되기 때문에 해킹의 위험이 매우 크다는 이유에서다. 보안은 어느 분야에서건 문제가 된다. 하지만 점점 보안기술도 뛰어나게 발전하고 있는 상황이다. 구글 역시 구글앱스 등의 구글웨어 보안을 위해 계속 노력하고 있는 중이며 국내에서도 수많은 보안업체들이 클라우드 컴퓨팅 보안기술을 업그레이드하면서 내놓고 있는 상황이다. 보안은 이래저래 중요하며 늘 위험에 노출되어 있음은 어쩔 수 없다. 그것은 비단 클라우드 컴퓨팅 뿐만 아니라 서버를 내부적으로 관리할 때도 그렇다. 하지만 보안 전문가를 따로 두는 것보다 훨씬 높은 보안 기술을 확보하고 있는 클라우드 컴퓨팅 네트워크 보안 전문가에게 맡기는 것이 오히려 더 실효성이 높은 방법일 수 있다. 자원 낭비에 대한 부분과 보안 이슈 등을 같이 물려서 생각해볼 때 클라우드 컴퓨팅 네트워크의 사용이 비용대비 효율성이 더 높다는 것은 자명한 사실이기 때문이다.

    이제 우리도 클라우드 컴퓨팅 네트워크 시대를 대비해야 할 때가 왔다.


    반응형

    댓글

Designed by Tistory.