클라우드 컴퓨팅이란 위와 같은 수퍼컴퓨터에 모든 자료와 소프트웨어를 저장해 놓고 각종 단말기로 접속해 장소에 구애받지 않고 작업을 수행하는 환경을 말한다.
CPU도, 하드디스크도, 소프트웨어도 필요 없다!
언제 어디서나 ‘컴퓨터 구름’에 접속만 하면 원하는 컴퓨터 환경 바로 만들어 작업
지금 컴퓨터 아키텍처(기능 면에서 본 컴퓨터의 구성 방식·기억장치의 주소 방식, 입출력 장치의 채널 구조 등)에 근본적인 변화가 일고 있다. 변화는 인터넷이 주도하고 있다. 컴퓨터 아키텍처 분야에서 10년 또는 20년 만에 한 번씩 찾아오는 거대한 변화이다. 요컨대 웹이 진화하면서 데이터뿐 아니라 응용 프로그램까지 데스크톱에서 해방되기 시작했다. 데스크톱 컴퓨터가 아닌 외부 데이터센터에 응용 프로그램들을 저장해 놓고 쓸 수 있는 환경이 도래하고 있는 것이다. 일명 컴퓨터의 클라우드(cloud) 환경이다.
서버 집합이 서로 연결된 대규모 컴퓨터 구름
우리는 흔히 뜬구름처럼 허황된 생각을 늘어놓는 사람들에게 ‘뜬구름 잡는 소리 한다’라는 표현을 쓴다. 약간 의미가 다르긴 하지만 실제 ‘실체를 잡을 수 없는 구름 너머에서 어떤 일이 일어난다는 개념’의 클라우드 컴퓨팅(cloud computing)이 IT업계의 거스를 수 없는 대세로 떠오르면서 또 다른 디지털 시대를 예고하고 있다. 클라우드 컴퓨팅은 돈을 자기가 관리하는 게 아니라 은행에 맡기는 것과 같은 개념이다.
보통 ‘컴퓨터’ 하면 개인용 컴퓨터(PC)나 개인용 서버를 생각한다. 그러나 클라우드 컴퓨팅은 개인용 컴퓨터 또는 개개의 응용 서버가 컴퓨터들의 구름(cloud of computers·대규모 컴퓨터 집합)으로 옮겨간 형태를 의미한다. 이를테면 개인용 컴퓨터나 기업의 서버에 개별적으로 저장해 두었던 모든 자료와 소프트웨어(프로그램)를 중앙 시스템인 수퍼컴퓨터에 저장해 놓고 PC나 휴대폰, 심지어 게임기처럼 기본 연산 기능만 갖춘 각종 단말기로 접속해 장소에 구애받지 않고 원하는 작업을 수행할 수 있는 사용 환경을 말한다. 한마디로 ‘개인’을 ‘집합’으로 바꾼 개념이다. ‘작은 발전기를 개별적으로 돌리다가 대형 발전소에서 전기를 공급받게 되는 시스템’이라고 할 수 있다.
우리는 세계 어느 나라에 가더라도 현금인출기에서 돈을 빼낼 수 있다. 하지만 디스크 드라이브나 메모리에 정보를 넣어둔 컴퓨터에서는 그 PC를 이용하지 않으면 문서나 그래픽 등의 작업을 할 수 없다. 예를 들어 워드나 엑셀 같은 프로그램으로 문서 작업을 하려고 할 때 PC에 개별적으로 저장해 둔 소프트웨어 자료를 불러 실행시켜야 한다. 또한 회사에서 작성하던 보고서를 집에서 계속 작업하려면 문서를 USB메모리에 담아 와 PC에 옮겨야만 한다. 클라우드 환경은 이러한 불편함을 없애고 어디서든 수도꼭지 틀 듯 접속하여 현금인출기에서 돈을 빼내듯 내 정보를 꺼내 쓸 수 있는 정보의 네트워크화이다. 컴퓨터 시스템을 여러 개 뭉친 서버 집합(cloud server)이 서로 연결된 대규모 네트워크 개념을 떠올리면 된다. 그렇기 때문에 USB메모리로 문서를 이 PC에서 저 PC로 옮기거나 동일한 소프트웨어를 설치할 필요조차 없다.
복잡한 PC 구매나 고비용 서버 유지도 필요 없어
클라우드 환경은 가상화 기술을 기반으로 한다. 가상화 기술은 크게 두 가지로 적용된다. 유·무선 네트워크를 통해 수백·수천 대의 컴퓨터를 한 대처럼 묶어 준다. 그런가 하면 한 대의 수퍼컴퓨터를 수백·수천 대의 컴퓨터처럼 완전하게 나눠 사용할 수도 있다. 몇 대에서 많게는 수만 대의 컴퓨터를 필요한 시간만큼 사용자에게 제공한다. 작업량이 증가하면 분산 수행하는 컴퓨터의 수가 늘어난다고 생각하면 된다. 그런데도 필요한 것은 중앙 시스템의 수퍼컴퓨터뿐이고, 그래서 IT 기업들도 서버 한 대 없이 운영이 가능하다. 중앙의 수퍼컴퓨터에서 데이터뿐 아니라 모든 소프트웨어까지 다 제공하기 때문이다.
사용자는 네트워크 기능이 탑재된 모니터나 PDA, PMP 등 개인 소형 단말기만 있으면 수퍼컴퓨터가 제공하는 윈도나 리눅스 같은 운영체제에서 손쉽게 작업할 수 있다. 단말기 하나만 들고 수퍼컴퓨터급 연산 기능을 가진 컴퓨터를 이용할 수 있는 셈이다. 매번 귀찮게 개인정보를 입력하지 않아도 아이디 하나로 여러 인터넷 서비스를 자유롭게 이용할 수 있고 비밀번호도 잊을 염려가 없다. 단 비용은 휴대전화처럼 시간당 사용료로 계산하거나 월 정액제를 신청할 수 있다.
개인이 PC를 쓰는 일은 항상 복잡하다. 컴퓨터 판매점에 들러 중앙처리장치(CPU), 메모리, 디스크 사양 등을 알아보고 자신의 업무에 필요한 소프트웨어를 설치한다. 시시때때로 사용자 환경을 설정하고, 개인 정보를 백업 받고, 각종 응용 프로그램을 업데이트하는 일 또한 골칫거리다. 그뿐인가. 응용프로그램이 많아질수록 메모리도 늘려야 한다. 컴퓨터 운영환경 또한 계속 복잡해져 컴퓨터를 유지하고 관리하는 데 드는 비용도 만만찮다. 그만큼 시간 소모도 많다.
수많은 PC와 관련 소프트웨어, 네트워크 환경을 관리해야 하는 기업·기관·연구소에서는 문제가 더 심각하다. 컴퓨터나 서버 구입비도 많이 들지만 운영자의 인건비·전기료·전산실 냉방비로 지출하는 비용이 훨씬 커 그 심각함을 더해 준다. 게다가 하루가 멀다 하고 발생하는 바이러스 감염, 원인조차 알 수 없는 고장으로 컴퓨터를 통째로 바꿔야 할 때도 한두 번이 아니다.클라우드 컴퓨팅에서는 사용자가 이런 복잡한 과정을 전혀 알 필요도 없고 할 필요도 없다. 그저 워드, 엑셀 등 필요한 작업을 제시하면 어디에선가 이에 필요한 컴퓨팅 자원이 할당돼 작업을 실행할 수 있게 한다. 클라우드 컴퓨팅 서비스 카탈로그를 통해 주문만 하면 주문과 동시에 윈도에는 원하는 소프트웨어가 설치되면서 작업 환경이 자동으로 만들어진다. 단순한 문서 작업일 때는 낮은 사양의 CPU 성능과 최소한의 메모리만 공급하고 반대로 3D 그래픽 동영상 콘텐츠를 볼 때는 수퍼컴퓨터에 버금가는 CPU 성능과 수십 기가바이트의 메모리가 자동 할당된다. 작업의 요구사항에 맞게 맞춤형으로 연산 시간과 메모리, 디스크 용량 등이 할당되는 것이다.
구글 엔지니어가 창안
‘클라우드’란 용어도 그런 의미에서 생겼다. 사용자가 필요한 작업을 제시하면(구름 속으로 던지면) 어디엔가 이에 필요한 컴퓨팅 자원이 할당돼 작업을 실행해 결과를 얻을 수 있다는(구름에서 떨어지는) 뜻이 내포되어 있다. 사용자가 필요로 하는 정보를 제공하는 서버가 ‘구름’ 어디엔가 존재하고, 사용자가 그 ‘구름’에 연결돼 있다면 ‘구름’을 통해 원하는 결과물을 얻는다. 말 그대로 구름처럼 떠다니는 정보를 이용하는 것이다.
클라우드 컴퓨팅은 2006년 9월 구글의 엔지니어인 크리스토프 비시글리아(27)가 제안했다. 하루가 다르게 새로운 정보들이 봇물 터지듯 쏟아지지만 대학 등은 이를 충분히 활용하지 못한다. 이를 안타깝게 여긴 비시글리아 엔지니어는 모교인 워싱턴대의 후배들이 좀 더 많은 정보를 접할 수 있는 방법이 없을까 고민하다가, 회사 컴퓨터에 남아도는 용량이 있지만 아무도 그것을 어떻게 사용할지 모르고 있다는 사실을 발견하고 에릭 슈미츠 최고경영자(CEO)에게 처음 클라우드 컴퓨팅 개념을 제안했다.
이해를 돕기 위해 클라우드 컴퓨팅 사용의 실제 예를 하나 들어보자. 2007년 미국 뉴욕타임스는 1851년부터 1922년 간의 1100만 개에 이르는 신문기사를 전자문서로 만들어 일반인에게 무료로 제공했다. 실로 엄청난 일이다. 하지만 이 작업을 수행하기 위해 컴퓨터나 디스크 등의 저장 장치는 하나도 구입하지 않았다. 뉴욕타임즈가 이용한 것은, 단지 아마존에서 제공하는 신축적 컴퓨팅 클라우드(EC2:Elastic Computing Cloud)뿐이었다. 상업적으로 가장 많이 사용되고 있는 아마존 서버에 단말기 100대가 접속, 가상 컴퓨터 100대와 1.5TB(테라바이트)라는 기능과 저장 공간을 활용해 단 하루 만에 1100만개 기사의 전자문서화 프로젝트를 끝낸 것이다. 가상화된 클라우드 환경 덕분이다.
구글, IBM, MS 등 서비스와 기술 개발 경쟁
클라우드 컴퓨팅은 개인이 사용하는 단말기에는 정보를 남기지 않고 중앙 시스템에 연결해 사용하므로 보안성이 보장된다. 중앙 시스템만 철저히 통제하면 정보가 샐 데가 없다. 회사의 일급 기밀인 새로운 모델 성능 테스트 결과치나 설계도가 유출될 가능성도 없다. 또한 메신저나 이메일, 외장형 저장장치 등을 통해 혹시 정보를 빼돌리지 않을까 의심 받던 회사와 직원들 사이의 막연한 불신도 걱정하지 않아도 된다. 그런 까닭에 기업들은 PC 대신 클라우드 컴퓨팅에 눈을 돌리고 있다.
대표적인 클라우드 환경으론 구글의 ‘구글 캘린더’ 서비스를 꼽는다. 개인 일정 등을 관리해 주는 이 프로그램은 PC가 아닌 데이터센터(수퍼컴퓨터)에 자료를 저장한다. 그리고 ID와 비밀번호를 부여받은 사람들이 이 자료를 공유한다. 이미 100만명 이상이 구글 캘린더를 이용하고 있다. IBM은 ‘블루 클라우드(Blue Cloud)’라고 명명한 클라우드 컴퓨팅 산업을 차기 주력 사업으로 키울 예정이다. 그 기술 개발을 위해 200명의 연구원을 배치했다.
페이스북은 문서 작성기를 비롯한 응용 프로그램 6000가지를 인터넷으로 제공 중이고, 아마존은 EC2라는 상업적인 클라우드 컴퓨팅 환경을 이미 제공하고 있다. MS와 가상화 소프트웨어업체 VM웨어는 컴퓨터에 가상화 소프트웨어를 설치하는 ‘데스크톱 가상화’ 기술을 발표했다. PC 운영체제의 독점으로 제국을 이룬 MS가 적극적인 행보를 보이는 것은 아이러니하지만, 네트워크 기반으로 융합되는 시대적 요구를 거스를 수는 없기 때문일 게다.
그러나 클라우드 컴퓨팅이 상업화로 정착하려면 넘어야 할 산 또한 높다. 대표적인 부분이 인터넷 접속의 안정성과 가상화 기술의 문제다. 컴퓨터, 네트워크, 저장장치를 함께 가상화시킬 수 있어야 하나의 컴퓨터 하드웨어에서 여러 개의 운영체제를 동시에 사용하거나 CPU, 메모리 같은 자원을 원하는 가상 컴퓨터로 할당할 수 있다. 과부하로 인해 인터넷 접속이 불통되는 일도 없어야 한다. 여기에 완벽한 보안, 해킹 등의 문제까지 해결되면 웹 기반의 클라우드 컴퓨팅을 통해 이루어질 컴퓨터 산업의 효과는 막대하다.
클라우드 컴퓨팅은 이미 미래가 아닌 현실이다. 개인용 컴퓨터라는 말이 무색한 ‘정보 공유 시대’는 멀지 않은 듯하다. 많은 기업체가 인터넷 접속과 보안이라는 문제를 해결하면서 클라우드 컴퓨팅 환경을 위해 밟고 있는 가속 페달을 지켜볼 일이다.