이 글에서는 클라우드 컴퓨팅(Cloud Computing)에 대해서 알아볼 것이다.


클라우트 컴퓨팅(Cloud Computing) 이란?


클라우드 컴퓨팅이란 클라우드(인터넷)을 통해 가상화된 컴퓨터의 시스템 리소스(IT 리소스)를 요구하는 즉시 제공하는 것이다. 인터넷 기반 컴퓨팅의 일종으로 정보를 자신의 컴퓨터가 아닌 클라우드(인터넷)에 연결된 다른 컴퓨터로 처리하는 기술을 의미한다. 공유 컴퓨터 처리 자원과 데이터를 컴퓨터와 다른 장치들에 요청 시 제공해준다. 구성 가능한 컴퓨팅 자원(예: 컴퓨터 네트워크, 데이터베이스, 서버, 스토리지, 애플리케이션, 서비스, 인텔리전스)에 대해 어디서나 접근할 수 있는, 주문형 접근을 가능케하는 모델이며 최소한의 관리 노력으로 빠르게 예비 및 릴리스를 가능케 한다. 클라우드 컴퓨팅과 스토리지 솔루션들은 사용자와 기업들에게 개인 소유나 타사 데이터 센터의 데이터를 저장, 가공하는 다양한 기능을 제공하며 도시를 거쳐 전 세계로까지 위치해 있을 수 있다.

클라우드 컴퓨팅을 그림으로 표현하면 다음과 같다.

클라우드 컴퓨팅(Cloud Computing)의 등장 배경

  • 전 세계적인 경기불황 때문에 기업들이 IT 인프라 비용 절감을 위한 전략적 방안으로 IT 리소스를 렌탈해주는 클라우드 컴퓨팅에 관심을 보이기 시작함.

  • 기존과는 전혀 다른 새로운 비즈니스 모델이 등장하면서 IT 장비에 기업의 부담을 덜기위해 IT 리소스를 렌탈해주는 클라우드 컴퓨팅에 관심이 높아짐.

  • 일정기간 자원을 사용하거 이에 해당하는 비용만 지불하면 되는 렌탈형식의 클라우드 컴퓨팅 구조는 IT 업계의 엄청난 혁신이었기 때문에 기업들의 관심이 높아짐.

  • 기술의 진화는 급증하는 통신 트래픽 부하 문제를 발생 시켰으며, 이로 인해 전력 소비량 증대라는 결과를 초래했다. 이를 해결하기 위한 방안으로 소비자의 요구에 따라 주문형 접근 방식으로 IT자원의 수용변화에 대한 저렴하고 신속히 대응 가능한 클라우드 컴퓨팅을 주목하기 시작했다.

클라우드 컴퓨팅(Cloud Computing)의 특성

클라우드 컴퓨팅 5가지 주요 특성

  • 주문형 셀프-서비스(On-Demand Self Service) : 서버 시간, 네트워크 저장장치 등의 컴퓨팅 기능을 사람의 중재 없이 필요한 만큼 자동적으로 확보해 사용한다.

  • 광대역 네트워크 접근(Broad Network Access) : 클라우드 컴퓨팅 기능은 네트워크를 통해 가용하게 되며 이질적인 경량 또는 중량 클라이언트 플랫폼(모바일폰, 노트북, PDA등)을 통해 이용 가능하다.

  • 자원의 공동관리(Resource Pooling) : 제공자의 컴퓨팅 자원은 다중-임대(multi-tenant)방식으로 다중 사용자에게 제공되기 위해 풀(Pool) 형태로 유지되며, 다양한 물리적 또는 가상적 자원이 사용자 요구에 따라 동적으로 할당 또는 재할당된다.

  • 신속한 탄력성(Rapid Elasticity) : IT 자원은 신속하게 탄력적으로 제공되며 일부 경우에는 신속한 확장과 축소를 위해 자동적으로 제공한다.

  • 측정 가능한 서비스(Measured Service) : 서비스 형태에 적절한 미터링 기능을 이용해 자원의 사용을 자동으로 통제하고 최적화한다.

클라우드 컴퓨팅(Cloud Computing)의 발전 현황

클라우드 컴퓨팅이 발전한 과정을 다음 그림을 통해서 설명하겠다.

2000년 대 초반 IT 업계에서 널리 회자되었던 용어는 그리드(Grid) 컴퓨팅이었다. 그리드 컴퓨팅이란 대용량의 컴퓨팅 자원을 필요로 하는 곳에 원하는 때에 언제든지 컴퓨팅 자원을 제공한다는 개념으로 시작된 것으로 인터넷 상의 모든 PC 형태의 컴퓨팅 리소스를 연결해서 사용하자는 개념이었다. 이는 현재의 클라우드 컴퓨팅의 정의에서 살펴본 바와 같이 네트워크를 통해 언제 어디서나 컴퓨팅 자원을 사용한다는 개념과 유사하다.

다음으로 그리드 컴퓨팅은 유틸리티 컴퓨팅으로 발전하였다. 유틸리티 컴퓨팅이란 전기나 수도와 같이 필요할 때마다 IT 자원을 사용하고 사용한 만큼 비용을 지불한다는 개념으로 역시 클라우드 컴퓨팅의 원하는 만큼의 IT자원을 사용하고 비용을 지불한다는 개념과 일치한다.

이와 더불어 Saas(Sftware-as-a Service)가 널리 확산되었는데 이 또한 필요한 소프트웨어 어플리케이션을 웹을 통해 표준화된 형태로 제공받고 비용을 지불 한다는 관점에서 클라우드 컴퓨팅의 한 형태라고 볼 수 있을 것이다.

마지막으로 클라우드 컴퓨팅은 그리드 컴퓨팅, 유틸리티 컴퓨팅 및 SaaS라는 IT 컴퓨팅의 여러 형태를 포괄하는 형태로 진화하여 현재에 이르렀다고 볼 수 있다. 클라우드 컴퓨팅에서는 SaaS에서 제공하는 소프트웨어뿐만 아니라 IT 자원 전체를 포괄하여 서비스 형태로 제공받고 비용을 사용한 만큼 지불한다는 관점에서 그리드 컴퓨팅, 유틸리티 컴퓨팅 및 SaaS를 모두 포함하는 개념으로 봐도 무방하다.

클라우드 컴퓨팅(Cloud Computing)에 관한 나의 생각

클라우드 컴퓨팅에 관해 알아보면서 정말 이 기술은 우리 시대에 꼭 필요한 기술이라고 생각되었다. 애플리케이션을 개발해야 하는데 IT 인프라에 관해 깊은 지식이 없는 사람이나, IT 인프라 비용을 절감하고 싶은 기업들에게 특히 클라우드 컴퓨팅 기술은 마른 사막에 내리는 비와 같이 소중하다고 생각한다. 클라우드 컴퓨팅은 컴퓨터 네트워크, 데이터베이스, 서버, 스토리지, 애플리케이션, 다양한 서비스 등 정말 듣기만해도 엄청난 기능을 IT 인프라를 구축하지 않고도 서비스 받을 수 있기 때문에 가히 혁신적인 기술이라 하지 않을 수 없다. 또한 엄청난 데이터가 한 곳에 모이는 만큼 클라우드 컴퓨팅을 서비스하는 기업은 엄청나게 방대한 데이터를 저장 및 처리하는데 다양한 기술들이 필요하다. 그래서 클라우드 컴퓨팅 서비스를 개발하면서 얻는 기술들의 부수효과는 실로 엄청날 것이라고 생각한다. 글로벌 인터넷 서비스 업체인 구글, 아마존, 야후만 보더라도 자체적인 데이터 저장 관리 시스템 및 데이터 처리 시스템을 가지고 있다. 따라서 클라우드 컴퓨팅 시스템은 서비스를 사용하는 사용자뿐만 아니라 서비스를 개발하는 기업에게도 아주 많은 지식과 이익을 가져다 줄 것이다. 어떻게 보면 요즘 가장 이슈가 되고 있는 자율주행 자동차와 같이 언제나 인터넷에 접속해 있어야 하는 구현체에게는 클라우드 컴퓨팅이라는 기술이 정말 꼭 필요하다고 생각된다.


참조

  • 위키백과
  • http://gotocloud.co.kr/?p=564