지금으로부터 7년 전, 세계적인 경영 컨설턴트 니콜라스 카는 ‘미래에는 기업 경영에 IT나 컴퓨터 시스템은 중요하지 않다. 이보다는 IT를 운영하는 인력, 공간 등이 더 중요하다’라는 내용의 글을 발표했다. 당시 그는 자신이 쓴 글로 인해 끊임없는 비난을 받아야 했다. 하지만, 현재에 그는 현명한 선각자로 칭송받고 있다. 바야흐로 세계는 지금 ‘World Wide Web’ 시대에서 ‘World Wide Computer’ 시대로 변화하고 있기 때문이다.

새로운 개념의 연산, 클라우드 컴퓨팅

지금까지는 개인이나 기업이 IT 활동을 하기 위해 컴퓨터, 서버 등 각종 하드웨어부터 소프트웨어 등 기반 장비까지 구매, 보유해야 했다. 하지만, 앞으로는 이를 구매하지 않고도 인터넷으로 빌려서 사용할 수 있다. 이 변혁의 중심에 클라우드 컴퓨팅이 있다.

클라우드 컴퓨팅은 컴퓨터와 네트워크의 발전 과정에서 자연스럽게 등장했다. 1990년대 이후부터 2000년대 초기에 활발한 인터넷 발전에 힘입어 인터넷 기반 컴퓨팅이 발달했다. 하지만, 이것은 시스템을 유지, 보수하는데 많은 비용이 들었다. 최근 이 어려움을 해결하면서 이용자에게 다양한 서비스 환경을 제공하는 클라우드 컴퓨팅이 등장한 것이다.

▲ 그림 1. 클라우드 컴퓨팅의 개념도 / 한국전자통신연구원 제공
단말기(오른쪽 아래 세 대의 노트북)는 인터넷을 통해 클라우드 컴퓨팅 센터(왼쪽 컴퓨터 집단)에 접속하고 단말기 대신 클라우드 컴퓨팅 센터에서 연산처리 한다

컴퓨터, 서버가 구름처럼 네트워크 형성

클라우드 컴퓨팅에서 ‘클라우드(cloud)’란 서로 연결된 대규모 컴퓨터 집단을 의미한다. 컴퓨터, 서버 같은 연산 자원들이 방대한 네트워크로 연결되어 있기 때문이다. 사용자가 필요한 연산을 이 구름에 요청하면, 연산에 필요한 컴퓨팅 자원이 자동으로 할당되어 연산처리가 이루어지고 그 결과가 이용자에게 보내진다.

클라우드 컴퓨팅은 정보 저장, 연산부터 소프트웨어를 개발할 수 있는 환경까지 다양한 기능을 제공한다. 또한 인터넷만 연결하면 별다른 프로그램 설치 없이 사용자가 소프트웨어를 사용할 수 있다.
우리는 의식하지 못하는 사이에 일상에서 클라우드 컴퓨팅을 접한다. 웹 메일, 온라인 백업 서비스를 이용하며, 기업에서 제품을 개발할 때에도 필요한 소프트웨어를 클라우드 컴퓨팅을 이용해 빌려쓴다.

가상화와 클러스터 관리 계층, 하드웨어의 물리적 한계 뛰어넘다

클라우드 컴퓨팅 서비스는 하드웨어 계층, 가상화 계층과 클러스터 관리 계층으로 이루어진 시스템으로 구현된다.

하드웨어 계층은 연산, 데이터 저장, 네트워크 통신 기능을 제공한다. 원래는 하드웨어를 보유하고 있을 때만 하드웨어의 능력을 사용할 수 있었다. 하지만, 클라우드 컴퓨팅에서는 소프트웨어가 이 능력을 분리하거나 통합한다. 따라서 사용자는 하드웨어의 물리적 위치에 관계없이 원하는 만큼의 능력을 제공받을 수 있다.

이러한 연산 자원은 구름의 형태로 존재하는데, 많은 양의 데이터를 계산하고 저장하기 위해 이 구름들이 하나로 묶여 ‘클러스터’라는 시스템을 이룬다. 그리고 자원들은 클러스터 관리 계층에 의해 지속적으로 관리된다.

비록 연산 자원이 물리적으로 떨어져 있지만, 논리적으로 연결되어 있어 클러스터를 하나의 시스템처럼 사용할 수 있다. 하지만, 이런 클러스터에는 특정 연산 자원에 과도한 연산 부하가 걸릴 수 있는 문제가 발생할 수 있어 지속적인 관리가 필요하다. 이러한 관리를 클러스터 관리 계층이 수행한다.

▲ 그림 2. 클라우드 컴퓨팅 서비스의 예 / 한국전자통신연구원 제공
윈도 애저는 인터넷 상에서 소프트웨어를 개발할 수 있는 다양한 프로그래밍 기반 환경을 제공한다

흩어져 있는 연산 자원 활용하기 위해 자료 또한 분산 처리해야

클라우드 컴퓨팅은 곳곳에 흩어져 있는 연산 자원을 활용하는 기술이다. 따라서 데이터 또한 나뉘어 동시에 처리되어야 한다. 이를 총괄적으로 수행하는 시스템이 분산 컴퓨팅 시스템이다. 이 작업은 크게 데이터 관리, 병렬 처리, 파일 시스템으로 나뉜다.

일반적으로 대규모 데이터는 데이터 관리 시스템에 의해 여러 부분으로 분산되어 저장된다. 저장된 데이터는 여러 개의 중앙 처리 장치에 의해 연산되거나 하나의 중앙 처리 장치에서 병렬 연산된다. 하지만, 이 처리 과정이 빠른 연산 속도만을 추구했을 때 장애가 발생할 수 있다는 문제점이 있다. 파일 시스템은 이를 유연하게 대처하면서도 사용자가 요구하는 연산처리 속도를 내도록 조절한다.

초기 설계 비용 낮지만 데이터 유실 위험 존재해

클라우드 컴퓨팅은 기업이 IT 기기나 서버, 소프트웨어의 초기 설치비용을 줄일 수 있게 한다. 또한, 기업은 인터넷을 통해 사용한 자원만큼의 비용만을 내면 된다. 때문에 클라우드 컴퓨팅이 새로운 비즈니스 해결책으로 떠오르고 있다.

클라우드 컴퓨팅을 사용하면 네트워크의 종류에 관계없이 같은 서비스를 제공할 수 있으며 컴퓨팅 능력이 단말기의 저장 용량, 소프트웨어 성능에 무관하다는 장점이 있다. 단말기가 클라우드 컴퓨팅 센터에 접속할 네트워크 환경만 갖추고 있으면 서비스를 사용할 수 있으며, 단말기에 제공되는 클라우드 컴퓨팅 능력이 클라우드 컴퓨팅 센터의 연산 능력에만 영향을 받기 때문이다.

하지만, 이용자의 데이터를 집약해 저장하고 처리한다는 점에서 데이터 유출에 대한 위험이 존재한다. 또한, 서비스가 멈출 때 이용자에게 막대한 피해를 줄 수도 있다.

IT 산업의 새로운 패러다임 될 전망

클라우드 컴퓨팅 서비스의 안정성과 데이터 센터에 저장된 정보에 대한 보안을 완전히 신뢰하기는 어렵다. 하지만, 이 두 문제가 해결된다면 클라우드 컴퓨팅이 지금 세대의 IT 산업에서 새로운 패러다임으로 자리매김할 수 있을 것으로 전망된다.

저작권자 © 카이스트신문 무단전재 및 재배포 금지