티스토리 뷰

클라우드 컴퓨팅이란?


요즘 IT산업에서 가장 핫 트렌드 중 하나로 "클라우드 컴퓨팅"이 많이 언급되고 있습니다. IT전문가가 아니더라고 이미 많은 일반인들이 한번쯤은 들어보고 클라우드 컴퓨팅 서비스를 이용하고 있습니다.




그림에서 볼 수 있듯이 클라우드 컴퓨팅은 IT산업의 중요한 자리를 차지하고 있습니다. 이제부터 클라우드 컴퓨팅이 무엇인지에 대해서 알아보겠습니다.


클라우드 컴퓨팅은 네트워크 상에 분산되어 있는 컴퓨터를 가상화시킨 후 인터넷과 네트워크 환경에 접근하여 실행하는 어플리케이션과 서비스를 말합니다. 클라우드 컴퓨팅 환경에서 사용자들은 인터넷이 연결된 단말을 통해 대용량의 컴퓨터 집합에 접속하여 애플리케이션, 스토리지, OS, 보안 등 필요한 IT자원을 원하는 시점에 필요한 만큼 골라서 사용하며, 사용량에 기반하여 비용을 지불하기만 하면 됩니다.


클라우드 컴퓨팅은 기존에 존재하던 기술들을 집약하여 새로운 패러다임을 가지고 왔습니다. 클라우드 컴퓨팅의 발전을 이끈 많은 요소들 중 하나는 Internet Service Providers(ISP)의 발전입니다.



초기에는 기본적인 인터넷 접속을 제공하는 소프트웨어를 서비스로 제공했고, ISP는 많은 발전을 해왔습니다. ISP 1.0은 그들의 고객에게 인터넷 접속을 제공하는 것이 전부였지만, 호스팅 기능 제공, 저장공간과 대역폭을 임대해주기 시작했습니다. ISP 3.0에서 Application Service Provider(ASP) 모델의 기초가된 어플리케이션 서비스를 제공했습니다. SaaS는 ASP 모델의 진화판이라고도 볼 수 있습니다. 그 외에 오픈소스의 활성화, x86 서버의 성능과 집적도 향상, 가상화 기술의 발전 등이 있습니다.


이처럼 인터넷의 발전과 대형 서비스 회사들이 성장함에 따라 클라우드 컴퓨팅은 유틸리티 컴퓨팅의 오랜 꿈인 종량제, 무한확장성, 어디서나 시스템을 사용할 수 있는 환경을 만들었습니다. 요즘 클라우드 컴퓨팅이 왜 각광을 받는지 이유를 알고 싶으시다면 클라우드 컴퓨팅의 속성과 장점을 살펴볼 필요가 있습니다.


클라우드 컴퓨팅이 갖는 몇가지 본질적인 속성은 다음과 같습니다.

  • 기민한 탄력성 : 자원을 필요한 만큼 동적으로 확장하거나 줄일 수 있습니다.

  • 종량제 서비스 : 얼마만큼 그리고 어떤 식으로 사용했는지 모니터링해서 사용자에게 알려줍니다. 모니터링된 사용정보는 과금에 활용됩니다.

  • 주문형 셀프서비스 : 관리자의 개입없이 사용자가 원하는 때에 자원을 신청해서 바로 사용할 수 있습니다.

  • 유비쿼터스 네트워크 : 네트워크를 통해서 다양한 디바이스에서 접근할 수 있습니다.

  • 리소스 풀링 : 자원을 가상화해서 중앙집중적으로 관리하기 때문에, 개별 사용자에게는 멀티테넌시 방식으로 독립적인 자원을 제공해줍니다.


위에 제시된 클라우드 컴퓨팅의 5가지 핵심 기능들 덕분에 다음과 같은 추가적인 장점들을 얻을 수 있습니다.


  • 저비용 : 클라우드 네트워크는 고효율로 운영되기 때문에 높은 활용성과 상당한 비용 절감을 가져옵니다.

  • 쉬운 사용성 : 제공되는 서비스의 형태에 따라서, 사용자는 자신의 서비스를 구현하기 위한 하드웨어 또는 소프트웨어 라이센스가 필요하지 않습니다.

  • QoS(Quality of Service) : QoS는 벤더로부터 계약된 대로 서비스의 품질을 얻을 수 있습니다.

  • 신뢰성 : 공급자는 사용자에게 매우 신뢰성 있는 클라우드 컴퓨팅 네트워크 규모, 로드밸런싱과 fail-over를 제공합니다.

  • 외주 운영 :  클라우드 서비스로 사용자가 자신의 사업을 관리할 때 사용자의 컴퓨팅 인프라는 공급자가 관리해줍니다. 사용자는 클라우드 서비스를 통해 IT인력 비용을 감소시킬 수 있습니다.

  • 단순화된 운영과 업그레이드 : 시스템이 가상 머신에 집중화되어 있기 때문에, 사용자는 패치와 업그레이드를 쉽게 할 수 있습니다. 때문에 사용자는 항상 최신 버전의 소프트웨어를 사용할 수 있습니다.

  • 낮은 진입장벽 : 공급자의 시스템을 사용하는 것이므로 사용자는 초기에 기기를 구입할 필요가 없습니다. 따라서 초기 자본 지출은 크게 감소합니다.


위와 같은 클라우드 컴퓨팅의 장점 때문에 많은 기업들이 관심을 가지고 참여 중에 있습니다. 하지만 장점이 있으면 단점도 있듯이 클라우드 컴퓨팅의 단점도 존재합니다.


클라우드 컴퓨팅을 이해하기 위해서 클라우드 컴퓨팅의 분류를 세븐화하는 것이 필요합니다. 클라우드 컴퓨팅을 구분하는 기준이 여러가지 있지만 일반적으로 제공 자원과 구축 방법을 기준으로 삼습니다. Deployment 모델은 클라우드 컴퓨팅의 이용목적과 클라우드 시스템이 어디 위치해 있는지에 대한 정의입니다.



  • 공공(Public) 클라우드 : 공공 클라우드 인프라는 거대 IT산업에서 공개적으로 사용할 수 있으며 클라우드 서비스를 판매한 업체에 의해 소유됩니다.

  • 사설(Private) 클라우드 : 사설 클라우드의 구조는 폐쇄적으로 운영되며 인프라는 해당기관 또는 타사에 의해 관리됩니다.

  • 하이브리드(Hybrid) 클라우드 : 해당 조직의 유일한 정체성을 포함한 여러 가지 클라우드 배치모델(공공,사설)의 조합입니다.

  • 커뮤니티(Community) 클라우드 : 공통으로 사용해야 하는 기능이나 목적을 위해 만들어진 클라우드 배치 모델입니다. 목적, 정책, 보안, 규제요구사항 등을 공유합니다.


Service 모델은 구축한 서비스 종류에 따라 벤더가 무엇을 관리해야 하는지와 사용자의 권한이 무엇인지에 따라 구분됩니다.



  • IaaS(Infrastructure as a Service) : 사용자가 가상 머신, 가상 저장장치, 가상 인프라와 같은 하드웨어 자원을 사용할 수 있도록 서비스를 제공합니다. IaaS 서비스 공급자는 사용자들이 서로 다른 개발 목적을 가지고 있어도 인프라를 관리해줍니다. 즉, 운영체제, 애플리케이션, 시스템에 대한 사용자 인터페이스 등을 모두 관리할 수 있습니다.

  • PaaS(Platform as a Service) : 사용자에게 가상머신, 운영체제, 애플리케이션, 서비스, 개발 프레임워크, 트랜젝션, 관리구조 등을 제공합니다. 사용자는 클라우드 인프라상에 있는 애플리케이션을 제공할 수 있으며 PaaS 서비스 공급자가 지원해주는 언어와 툴로 프로그램된 애플리케이션을 사용할 수 있습니다. 서비스 공급자는 클라우드 인프라, 운영체제, 사용가능한 소프트웨어를 관리하며 서비스를 사용하는 동안 해당 애플리케이션을 설치, 관리하는 책임은 사용자가 가집니다.

  • SaaS(Software as a Service) : 애플리케이션, 관리, 사용자 인터페이스를 포함하는 서비스 모델입니다. thin 클라이언트 인터페이스를 통해서 사용자에게 애플리케이션을 제공하고, 사용자는 애플리케이션과 사용자간의 상호작용을 하면서 마칠 때까지 데이터를 관리할 책임이 주어집니다. 애플리케이션 다운로드부터 인프라 구축까지 모든 과정이 벤더의 책입입니다.


위에서 살펴보았듯이 클라우드 컴퓨팅은 수많은 이익을 창출해내고, 대형 산업계와 일반 사용자들도 사용하기에 적합한 많은 장점들을 가지고 있습니다. 클라우드를 구축하기 위해 여러 플랫폼들이 있습니다. 대표적으로 클라우드스택(CloudStack)과 오픈스택(OpenStack)이 존재합니다. 다음 글에서 오픈스택에 대해서 다루도록 하겠습니다.


아래의 손가락 버튼을 눌러주시면 감사하겠습니다^^.



댓글