클라우드 서비스 영역

클라우드 서비스 영역에 대해서는 일반적으로 다음과 같이 정의된다.

우선은 SaaS(Software as a Service)를 살펴보자. 고객은 SaaS를 통하여 클라우드 인프라상에서 가용할 수 잇는 서비스 제공자들의 어필레키이션을 사용할 수 있다. 고객은 사용하고자 하는 어플리케이션을 웹 브라우저와 같은 가벼운 클라이언트를 통하여, 고객이 사용하는 여러 장치들을 이용하여 액세스할 수 있다. 가장 좋은 예로는 구글의 Gmail을 보면 된다. 고객은 클라우드 인프라 (네트워크, 서버, OS, 스토리지, 개별적인 어플리케이션 용량 등)에 대하여 관리나 통제를 하지 않으며, 고객의 시스템 구성은 제한적일 수 있다. (그야 당연히 서비스받는 특정 한도 내에서만 사용될 것이다)

그 다음으로 알아볼 것은 PaaS(Platform as a Service)이다. 고객은 자신들이 구매하거나 개발한 어플리케이션을 클라우드 서비스 제공자가 지원하는 프로그래밍 언어나 툴을 사용하여 클라우드 인프라상에서 실행시킨다. 고객은 클라우드 인프라에 대하여 관리나 통제를 하지 않지만, 자신이 개발하고 실행한 어플리케이션 및 호스팅 환경 구성에 대한 제어권은 갖게 된다. 플랫폼 레벨에서의 접근이기 때문에 제공되는 플랫폼 상의 특정 한계가 아니라면 어플리케이션 환경 구성을 고객이 할 수 있다는 매력을 가지게 되는 것이다.

마지막으로 알아볼 것은 IaaS(Infrastructure as a Service)이다. 고객은 자신들이 원하는 OS나 어플리케이션을 자신들이 원하는 곳에 실행하기 위하여 프로세싱, 스토리지, 네트워크 및 기본적인 컴퓨팅 자원을 자의적으로 프로비저닝한다. 고객은 클라우드 인프라에 대하여 관리나 통제를 하지 않지만, 자신들의 OS, 스토리지, 어플리케이션 및 제한된 네트워크의 통제 권한을 갖는다. 호스팅과 방화벽 같은 인프라 단계에서의 지원 이외에는 고객이 원하는 플랫폼 서비스를 지원할 수 있기 때문에 좀 더 고도적인 작업에 대한 권한을 고객이 가질 수 있게 된다. 그러나, 인프라에 대한 설계도 상당히 고도의 작업이기 때문에 쉽게 접근할 수 있는 서비스 영역이 아니다.

클라우드 활용 모델

그 유명한 클라우드 모델에 대해서 검토해 보도록 하자.

클라우드 컴퓨팅은 프라이빗(Private), 퍼블릭(Public), 하이브리드(Hybrid) 이렇게 세 가지 모델로 전개될 수 있다.

이 세 가지 모델 유형은 클라우드 인프라가 어떻게 설계되고 사용되는지에 대한 기본 개념을 제공한다.

아래 내용은 NIST가 정의하는 개념들이다. 한번 읽어보고 넘어가자.

클라우드는 조직이나 기업에게만 국한되어 전개되고 운영된다. 프라이빗 클라우드는 사용하는 조직이나 독립된 제 3자가 관리를 한다. 클라우드 인프라는 조직 혹은 기업 내부에 있거나, 서비스를 호스팅하는 독립된 제 3자 내부에 있을 수 있다.

클라우드 인프라가 개발적으로 공공 또는 모두에게 개방되어 전개, 운영된다. 퍼블릭 클라우드는 클라우드 서비스를 판매하는 클라우드 서비스 제공자가 소유하며, 온-디맨드 및 사용한 만큼 지불하는 환경의 클라우드로 여겨지게 된다. 서비스를 사용하는 고객의 내부에는 물질적인 클라우드 인프라가 존재하지 않으며, 클라우드 인프라 관리가 요구되지 않는다. 가장 흔한 퍼블릭 클라우드의 예로는 Amazon’s EC2Elastic Compute Cloud, Google Apps, Salesforce.com 등이 있다.

하이브리드 클라우드는 프라이빗과 퍼블릭 클라우드가 2개 이상 연동되어 운영되는 클라우드 형태이다. 각 클라우드는 고유의 본질을 유지하며, 데이터 및 어플리케이션의 휴대성을 위하여 기술적으로 상호간에 연합되어 운영되거나, 한데 묶여 운영된다.

예를 들면 많은 기업, 회사들은 자신들만의 프라이빗 인프라를 운영하고 있는데, 전략적으로 자신들의 클라우드를 확대할 필요를 느끼게 된다. 즉, 프라이빗 클라우드에 퍼블릿 클라우드를 접목시켜 운영함으로써 기대하지 못했던 어플리케이션 작업량 증가를 해소할 수 있다. 이러한 하이브리드 클라우드의 경우에는 고객의 민감한 정보, 데이터들은 자신들의 회사 내 프라이빗 클라우드상에서만 액세스 가능하게 되며, 관리 및 모니터링 어플리케이션은 퍼블릭 클라우드에서 실행된다. 고객들은 퍼블릭 클라우드를 통해서 각종 업데이트를 받을 수 있으며, 퍼블릭 클라우드를 통해서만 서비스 문의를 할 수 있도록 프라이빗 클라우드와 퍼블릭 클라우드는 상호간에 격리되어 있다.

추가적으로 커뮤니티 클라우드라는 형태의 클라우드는 유사한 조직적인 요구사항을 가지고 있는 특정 그룹의 사람들을 위한 클라우드이다. 관공서나 대학 등에서 이용하는 클라우드가 그 예인데 특정 그룹의 사람들이 특정 작업을 처리하기 위하여 작업하는 것이므로 그만큼 복합적인 클라우드라고 보면 된다.

  • 시장 크기에 따른 활용

이러한 클라우드의 활용 방식은 서비스를 대상으로 하는 시장의 크기 또는 산업의 크기에 따라 선택될 수 있다. 아래에는 그에 맞는 형식과 예제에 따라 요약된 설명을 적어준다.

  1. 시장 크기에 따른 활용 방식
    1. 소비자 대상 – 퍼블릭 클라우드
      1. 위험 보다는 편리함이 우선일 때
      2. 적은 비용 또는 무료
      3. 이메일, 이 커머스, 소셜 네트워크, 게임 등
    2. 소호 기업 또는 작은 기업 – 퍼블릭 클라우드
      1. 위험 보다는 편리함이 우선일 때
      2. 인프라 투자비용이 운영비용보다 상대적으로 클 때
      3. 셀프 서비스
      4. 백 오피스, 개발, 생산 등
    3. 중소기업 – 하이브리드 클라우드
      1. 1차 계층(Layer) 어플리케이션 단에서의 위험을 꺼려할때
      2. SaaS: Salesforce, NetSuite
      3. Tier 2-4: non-OLTP/ATOM apps
      4. 인프라 어플리케이션: 클라우드가 데이터 백업/아카이빙/보안의 용도로 필요할 때
    4. 대기업 – 프라이빗과 하이브리드 클라우드의 혼합
      1. 1차 레이어 라이선스, 지원, 위험으로부터의 보안이 중요할 때
      2. 2차 ~4차 레이어는 프라이빗 클라우드의 하이브리드 작업
      3. 인프라 어플리케이션: 클라우드 웹사이트, 포털, 그리드, 테스트/ 개발 – 확장 및 R&D
      4. SaaS: Salesforce, SAP, Oracle, MS 등
  2. 시장 구분에 따른 활용 방식 (예제)
    1. 의료보험 – 퍼블릭 및 혼합형 클라우드
      1. 정부 고도 기술 인센티브
      2. 빅 컴퓨터 액세스
      3. 데이터 저장, 데이터 추출
      4. MS Health, Google Health
      5. 소비자 어플리케이션, Rx, EHR, 모니터링 및 알림 시스템
    2. 산업 – 퍼블릭 클라우드
      1. 공공 정보(적은 위험)
      2. 확장성 및 비용
      3. Openstack, FSBM 인증 등
      4. 어플리케이션: USA.gov, Google Gov
    3. 금융 서비스 – 프라이빗 클라우드
      1. 법률적으로 리뷰되고 있으나, 승인되지 않음
      2. 데이터 저장 위치 및 자원 공유에 대한 이슈가 있음
      3. 프라이빗 클라우드를 작은 프라이빗 클라우드들로 전개
      4. 확장성 vs 비용절감의 문제가 있음
    4. 교육 – 퍼블릭 클라우드
      1. 가용성, 확장성, 유지/ 관리
      2. 온라인 강의장 및 온라인 연구실
      3. 이메일, 문서, 공유자료, 리서치 등의 서비스
      4. 어플리케이션: Blackboard, eCollege, Google Apps, MS Azure

 

클라우드 컴퓨팅의 정의에 따른 특징

  • 신속한 신축성 (Rapid Elasticity)

클라우드의 능력은 신속하고 탄력적으로 프로비저닝할 수 있다는 것이며, 경우에 따라서는 자동으로 빠르게 용량을 확장하거나 축소할 수 잇다. 따라서 소비자에게는 탄력적으로 프로비저닝을 하루 수 잇다는 클라우드의 능력은 무한의 능력으로 비춰질 수 잇고, 원하는 양의 클라우드를 지역적인 제한을 받지 않고 구매될 수 있는 능력으로 비춰진다. 소비자에게는 필요할 때마다 IT 자원을 쉽게 능려서 쓸 수 있다는 것이 상당히 큰 능력이 되는 것이다.

  1. 온-디맨드(On-demand)
    1. IT는 필요한 성능이 요구될 때마다 항상 사용할 수 잇도록 준비되어 있다.
    2. 가상화 서비스로서 최대한 작은 블락 사이즈로 제공된다.
    3. 인프라 보다는 어플리케이션 및 비즈니스 특화된 영역을 제공한다.
    4. 데이터센터는 글로벌 공유 자원상에서 운영되는 컴퓨팅 자원이다. 데이터센터는 기업 내부에 존재할 수도 있고, 기업 외부에 존재할 수도 있거나, 내/외부에 동시에 존재하며 공유될 수도 있다.
  2. 확장성
    1. 확장, 축소가 가능하며, 자원이 필요할 때마다 사용하고, 필요 없게 되면 다시 반납한다.
    2. 사용한 만큼 지불한다.
  3. 장소
    1. 자원들이 가장 필요시되는 시점, 지역별로 할당이 가능하다.
  • 측정되는 서비스 (Measured Service)

클라우드 시스템은 서비스되는 형태(스토리지, 프로세싱, 대역폭, 활성화된 유저 계정)를 축약적으로 측정함으로써 자동으로 자원을 조절하고 사용을 극대화한다. 자원의 사용은 모니터링 될 수 있고, 통제될 수 있으며, 서비스를 제공하는 주체나 서비스를 제공받는 유저에게 투명하게 보고된다.

클라우드 시스템은 사용된 서비스에 따라 비용이 발생하는 환경의 인프라를 제공한다. 계약에 근거한 서비스를 제공하며, 계약된 조항들은 가격 정책과 맞물려 있기에 서비스 제공자는 고객의 누가, 어느 부서에서 어떠한 서비스를 사용하는지를 파악하고 있어야 한다.

  • 광범위 네트워크 액세스 (Broad Network Access)

클라우드는 네트워크 상에서 가용되고, 이 기종의 Thick 또는 Thin 클라이언트 플랫폼들의 사용을 촉진시키는 기본적인 메커니즘을 통해 액세스된다.

클라우드를 위한 네트워크를 고려할 때, 다음의 사항을 고려하여야 한다.

  1. 네트워크로 접속하려면 어떠한 절차가 필요한가?
  2. 네트워크 접속ㄷ은 유선으로만 가능한가, 무선도 가능한가, VPN 액세스가 필요한가?
  3. 네트워크는 스마트폰, 타블렛 PC, 노트북, 데스크톱, 서버, 그 외의 IT 어플리케이션들의 접속을 지원하는가?

우리가 사용하고 잇는 IT 기기들은 셀프 모니터링, 셀프 관리가 가능한 많은 종류의 새로운 IT 기기들로 넘쳐나고 있는데, 이러한 모든 기기들로 인하여 파생되는 폭발적인 데이터를 저장하고, 사용 가능하게 하고, 관리를 할 수 있는 저장 장치들의 필요성은 더더욱 늘어나고 있다. 현재 스마트폰 쓰면서도 많이 느낄 수 있는 내용이다. ㅇㅅㅇ

  • 리소스 풀링 (Resource Pooling)

클라우드 서비스 제공자의 컴퓨팅 자원들은 여러 다른 고객을 지원하기 위하여, 다중 소유 방식으로 풀링된다. 각기 다른 물리적이고 가상화된 자원들은 고객의 필요를 충족시키기 위하여 동적으로 할당 및 분해되고 사용되게 된다.

기본적으로 클라우드 서비스는 공간, 지역의 제약을 받지 않게 되는데, 이는 서비스를 사용하는 고객이 할당된 자원의 위치 및 배치된 지역에 대한 지식이나 통제권이 없기 때문이다. 물론 고객을 서비스 제공자에게 특별히 선호하는 나라, 지역, 데이터 센터에 사용하길 원하는 자원(스토리지, 프로세싱, 메모리, 네트워크 대역, 가상화 머신 등)이 있는 경우에 요청할 수도 있다. 이건 각 나라마다의 로컬법 혹은 로컬 규제에 의해서 검토되어야 할 내용이 있을 경우에 확인될 수 있다. (대표적으로 한국만의 데이터 규제법들이 있다.)

  • 온-디맨드 / 셀프 서비스 (On-demand / Self-Service)

온-디맨드 셀프 서비스는 고객의 요구 사항을 동적으로 충족할 수 있으며, 고객은 최소의 인프라 투자 비용으로 인프라를 구축할 수 있다. 서비스 제공자는 고객이 사용하는 컴퓨팅 자원의 사용 경향을 분석하고 분석 정보를 고객에게 제공할 수 있다. 고객은 이 정보를 통하여 서비스 확장, 축소에 필요한 정보를 쉽게 확인할 수 있게 된다.

클라우드 컴퓨팅의 정의 – 기본 개념

클라

클라우드에 대한 정의를 미국의 NIST(National Institute of Standards and Technology)협회에서 정의한 내용을 주로 보도록 하겠다.

클라우드는 5가지 주요한 특징을 가지고 있다. 5가지 특징이란

  • 신속한 탄력성
  • 측정되는 서비스
  • 광범위한 네트워크 액세스
  • 리소스 풀링
  • 온-디멘드 셀프 서비스

를 말한다.

클라우드는 일반적으로 3개의 핵심 개발 모델로 설게된다. 프라이빗 클라우드, 퍼블릭 클라우드, 하이브리드 클라우드가 바로 그것이다. 이외에도 네번째 클라우드 개발 모델로 논의되는 것이 있는데 그것은 바로 공통된 요구 사항을 가진 소비자들의 커뮤니티를 위한 커뮤니티 클라우드를 말한다. 그러나 커뮤니티의 연장선인지라 잘 다뤄지진 않는다.

또한 클라우드는 3개의 서비스 영역(모델)을 갖는다고 정의된다. 그 유명한 IaaS, PaaS, SaaS 가 이걸로 분류된다.

이 득징들과 그에 따른 정의에 대해서는 천천히 다뤄보기로 하자.

클라우드의 보안

보아

보안은 상당히 중요한 요소이다. 그렇기에 또한 말도 많은 내용이다. 일단은 클라우드 보안 협력 모델에 근거한 VDC와 클라우드 통제, 위험, 규정에 대한 상위 개념만을 알아보도록 하자.

전통적인 컴플라이언스 규정 모델은 시큐리티 보안 모델에 대한 요구 사항을 다루고, 시큐리티 모델은 클라우드 설계에 대한 요구 사항을 다룬다. 여기에서는 데이터 흐름과 누가 데이터를 소유하느냐가 가장 중요한 핵심 포인트이다.

데이터가 데이터센터에서 클라우드로 이동함에 있어서, 데이터 흐름과 데이터의 소재는 잘 이해되고 전부 문서화되어야 한다. 데이터가 클라우드로 이동되어 저장되기까지의 경로에 대한 통제 및 보안은 데이터가 클라우드 환경 내에서 안전하고 신뢰받는 데이터로 쓰이는 데 가장 중요한 역할을 한다. 물론 통제 및 보안 이외에도 많은 사항들이 고려되어야 하는 것은 변함없는 사실이다.

이 개념적 내용에 대해서 쉽게 알 수 있는 것은 클라우드 서비스를 이용하여 실제로 개발을 할 때, 해당 서비스에서 제공해주는 API가 상당히 중요하게 느껴진다. 쉽게 쓸 수 있을 것 같지만 정작 중요한 존재에 대해서는 어느 정도의 통제와 보안을 위하여 제한을 걸어둔다. 가장 대표적인 것이 바로 API Key 발급을 통한 사용 통제 및 개발 정보의 수집인데 이것은 실제로 겪어보면 좀 더 잘 알 것이다. 물론 공짜로 공개된 API라고 해서 다 좋다는 것은 아니니 관련된 서비스에 대해서도 상당히 신중하게 다루지 않으면 안되는 부분이다.

클라우드의 이점

실제로 이러한 클라우드의 가장 큰 이점은 “속도”와 “민첩성”을 비즈니스에게 제공해 줄 수 있다는 것이 가장 큰 이점이 될 것이다. 클라우드를 통하여 사용되지 않거나 쓸데없이 낭비되는 IT 자원을 관리할 수 있고, 이것은 바로 비용 절감으로 이어지며, 이것은 또 다시 IT 운영비용의 절감으로 이어지게 된다. 여기에 추가로 클라우드가 비즈니스에 해 줄 수 있는 것이 많다는 점이 있다.

IT 측면에서는 클라우드의 이점을 필요에 따라 IT 셀프 서비스를 가능하게 하고, 비용 또한 사용한 것만큼 부과하여 비로소 IT로서의 역할을 다하는 것이지만, 비즈니스의 측면에서는 클라우드의 이점을 업무 자동화를 통한 업무 효율성 및 통제력 증가로 볼 수 있다.

탄력적인 IT를 활용함으로써 비즈니스의 빠른 변화에 대응할 수 있다는 점은 비즈니스에서는 상당히 강력한 무기가 된다. 따라서 클라우드를 이용함에 있어서 IT 측면의 이점도 가지고 있으면서 그와 동시에 비즈니스적인 이점이 있는 것이 된다.

클라우드에 대한 근거없는 가설들 정리

예나 지금이나 클라우드에 대해서 많은 논란이 있습니다. 실제로 논란거리가 될만한 사건들도 많지만 그렇지 않은 경우도 상당합니다. 그중에서도 근거 없이 나오는 것들에 대해서만 정리해 보도록 하겠습니다.

첫번째로 나오는 예기는 바로 “클라우드는 경제적이다” 라는 것. 이 가설은 클라우드가 어떠한 목적에 사용될 것인지, 어떠한 비용 지불 방법을 채택하느냐에 따라 사실이 될 수도 있으나 거짓이 될 수도 있다.

먼저, CPU 사용 비용을 필요할 때마다 사용하고 지불하는 것이 아니라, 사용량이 최고 정점에 이를 때 지불하는 방식으로 계산한다면, 이러한 지불 방식은 엄청난 고비용의 지불 방식이 될 수 있다. 또한 이러한 지불 방식은 비용 산정을 어디에 초점을 맞추는 가에 따라 충분히 달라질 수 있는 내용이다. 예를 들어서, 사용 시간을 초과할 경우에는 얼마의 비용이 청구될 것인지, 사용 시간의 기준은, 주별, 월별, 분기별 등등에 따른 고려 조건에 따라 다 다르게 된다. 마이크로소프트사의 Azure 모델처럼 서비스 회비를 지불하다가 계약된 사용량 이상을 쓰면 추가적으로 비용을 지불해야 하는지 등에 따라 비용은 충분히 달라질 수 있다.

그렇다면 또 다른 예로써, 데이터를 클라우드로 옮기는 비용은 싸지만, 반대로 클라우드로부터 데이터를 옮기는 비용은 비싸다는 견해은 어떨까? 이러한 견해는 아마도 어떠한 어플리케이션을 위한 데이터를 클라우드로 옮기는가에 따라서 비용에 대한 고려가 필요하게 된다. 이미지 및 포토 파일을 공유하는 회사를 예를 들어보면, 회사의 데이터를 클라우드로 옮기는 비용을 고려할 뿐만 아니라, 클라우드로부터 그 회사의 고객들에게 데이터를 전달하는 과정(다운로드할 때)에서의 데이터 이동 대역에 대한 지불 비용 또한 고려가 되어야 한다. 이러한 경우 몇몇 클라우드 서비스 제공자들은 약 1:10 비율의 비용을 과금한다. 즉, 데이터를 클라우드로 옮기는 비용을 1로 봤을 때, 클라우드로부터 그 데이터를 다운로드되는 데 소요되는 비용이 10이 된다는 것이다.

두번째로 나오는 이야기는 “클라우드는 모든 것을 다 해줄 것이다”라는 예기인데..

IT 조직이나 사용자는 클라우드가 자신의 목적과 이익에 맞도록 여러 노력을 기울여야 한다는 걸 잊지 말아야 한다. 예를 들면 클라우드는 단지 인프라와 서비스만을 제공하기 위하여 도입되는 경우가 있다. 즉, 클라우드가 그 특정 목적과 이익에 맞도록 크로그램, 스크립트 코드를 짜고, 개발 스케줄링을 비록한 여러 중요 작업의 관리, 패치 관리 등등에 업무와 작업은 반드시 수행되어야 할 부분이다. 즉, 클라우드를 통하여 사용하조가 하는 어플리케이션이나 시스템 등이 완벽히 준비되고 사용되지 않는다면, 결국에는 야기되는 문제 및 이슈 등을 대처하고 해결하는대에 많은 비용 증가와 좌절만이 수반될 것이다.

세번째로 많이 들리는 이야기는 “데이터센터를 클라우드로 전환시켜도 필요한 인력을 절감시킬 수 있는 것은 아니다”라는 것이다. 이 이야기는 주로 호스팅 업체에서 많이 예기하는데…

스토리지를 관리하는 관리자는 데이터센터를 클라우드로 전환하게 되면, 기존의 작업 방식과 같은 방식으로 스토리지를 관리하는 것이 아니다. 가상화 서비스 및 그 가상화 서비스 내면에 설계되고 존재하는 인프라를 이해하여야만 한다. 그러한 새로운 지식을 가지고, 가상화 내적으로 층층이 자리잡고 있는 데이터들을 전체적으로 통일 및 연관시키고 관리함으로써, 리소스 풀이 정상 생성되고 사용할 수 있게 할 수 있다. 즉, 가상화 서비스의 외적, 내적으로 전체적으로 이해하는 소수의 인원만 있고, 리소스 풀이 정상 생성되고 사용될 수 있도록 한다면 각각의 서버당 관리하던 인원들의 많은 수가 필요 없어지게 되는 것이 된다.

우선 간단한 3가지 근거없는 가설들에 대해서 살펴봤다. 이밖에도 여러 언론에서 뿌려댄 찌라시 내용들이 많은데 이 내용들을 걸러낼 수 있을 정도의 사람이라면 이미어디가 맞고 틀리고를 구분해 낼 수 있을 정도의 실력자들인 것이다. ㅇㅅㅇ/

IT 관련 서비스 모델들

음… 오랜만에 글을 쓰긴 하는데…

IT 관련 서비스 제공자들이 어떠한 서비스 모델로 서비스 공급을 지원하는지 설명할 기회가 되면 설명해야 겠다.

먼저 코로케이션(Co-Location)은 서비스 제공자가 데이터센터 내에 고객에세 특화된 공간을 제공하는 것을 의미한다. 고객이 그 공간 내에서 사용하고 있는 장비에 대한 운영, 소유, 관리에 대한 책임을 진다. 서비스 제공자는 전력, 네트워크(현업에서는 주로 파이프라 부른다), 라우팅(현업에서는 주로 핑이라 부른다)은 물론이고 냉, 난망에 보안까지 제공한다. 다시말해 코로케이션 서비스 제공자는 보안이 강화된 지역에서 고객의 장비들에 대한 보안을 제공한다.

MSP(Managed Service Provider)는 고객이 장비들을 소유하지만 MSP 제공자는 고객에세 시스템 업데이트, 패치, 관리, 보안, 백업, 재난 복구 등과 같은 추가적인 서비스를 제공한다. 경우에 따라서는 MSP 제공자가 시스템을 소유하고 어플리케이션 단계까지만 관리해주고, 고객은 단지 어플리케이션이 고객의 유저들에게 사용되고 액세스되는 영역만을 관리하기도 한다.

클라우드는 시스템 장비들을 서비스 제공자가 소유하고 있으며, 고객이 사용할 수 있는 시스템 가용성은 한계가 없는 서비스이다. 고객은 애플리케이션 필요에 따라 서비스를 사용하고, 사용한 만큼 비용을 지불한다.

각각의 서비스마다 다 장단점들이 존재한다. 이 장단점들을 어떻게 찾아서 조율하고 관리할 지에 따라 각각의 서비스를 잘 활용하는 데 큰 도움이 될 것이다.

클라우드의 생태계

현재 다양한 클라우드 서비스가 지원되고 있다. 가장 대표적인 서비스들은 아래와 같다.

  • Microsoft
    • Components-Hyper-V & .NET
    • SaaS-Office 365
    • PaaS-Azure
    • IaaS-Azure
  • Amazon Web Service (IaaS)
    • Elastic Compute Cloud (EC2)
    • CloudFront
    • SimpleDB
    • Simple Queue Service (SQS)
    • Simple Storage Service (S3)
    • Elastic Block Storage (EBS)
  • Google Apps
    • SaaS-Gmail
    • SaaS-Docs
    • PaaS-App Marketplace
    • PaaS-Developement
  • IBM Cloud Burst Enterprise (IaaS)
    • Terremark
    • SAVVIS
    • SunGard
    • Rackspace

이런 서비스들은 설립된 지 얼마 안된 작은 회사 또는 비영리 회사 등은 상기의 나열된 서비스들을 개별적으로 구매하기보다는 아웃소싱을 통하여 사용하는 것을 고려할지도 모른다.

이러한 서비스들은 실제로 사용한 만큼만 비용을 지불하면 된다는 장점이 있으며, 경우에 따라서는 무료로 제공받을 수 있는 장점이 있다. 즉, 비용 및 편리함 측면에서 큰 장점이 있다. 소비자들은 클라우드된 서비스를 사용하면서 그 서비스가 클라우드도니 서비스 인지를 모르면서 사용하는 경우도 있다.

대표적으로 구글의 Gmail과 Docs을 보면 된다. 특히 Gmail의 경우에는 미국의 큰 도시 기관이나 많은 대학들이 구글의 Gmail 서비스를 사용하지만, 도메인 이름은 Gmail.com이 아닌 자신드의 도메인을 이용할 수 있도록 서비스를 받기 때문에 자신들의 메일 주소가 Gmail 서비스를 사용하고 있는지 알지도 모르면서 사용하게 된다. 이런 경우는 실제로 많이 일어나고 있으며, 점점 서비스들이 이런 상황으로 진화되고 있다. 필자가 글을 올리고 있는 wordpress.com에서도 이런 종류의 서비스를 지원해 주니 찾아보는 것도 재밌을지도…ㅇㅅㅇ;;

공유된 인프라 자원의 사용

한 가지 목적으로 사용되던 각각의 인프라들을 하나로 묶어 다각화된 구조의 서비스로 이용될 수 있도록 하나로 묶었다. 그렇다면 이 자원들은 어떤 식으로 처리될까?

간단하게만 본다면 이 자원들은 전부 공유된 인프라 풀로 옮겨지게 된다. 가상화를 통하여 여러 자원들을 공유된 인프라 풀로 옮겨놓고, 실제적인 서비스는 인프라가 필요에 따라서 프로비저닝(할당, 배포, 준비)되어 사용이 된다.

프로비저닝 되었던 자원이 더 이상 필요하지 않게 되면 그 자원들은 다시 본래의 공유된 풀로 회수되어 관리되어 진다.

이 과정이 각 서비스마다, 각 사용자마다의 할당이 이루어지게 되는 것이다. 각 어플리케이션에 적합한 자원을 사용자 수에 맞춰서 적절하게 할당하고, 필요 없으면 다시 대기 풀에 집어넣고의 반복이다. 컴퓨터가 필요해서 컴퓨터를 켜서 사용하고 필요 없으면 끄는 것과 마찬가지인 것이다. 단, 클라우드 서비스로써 이용되려면 1년 365일 내내 대기상태로 있어야 한다는 것이 다를 뿐이다.