'Cloud Computing/Cloud Computing'에 해당되는 글 2건

  1. [Cloud Computing] IaaS, PaaS, SaaS를 이야기하다.
  2. [Cloud Computing] 클라우드 컴퓨팅 소개





IaaS, PaaS, SaaS를 이야기하다.

요즘 IT시장에서는 IT 관리 비용 절감과 운영부담의 완화에 대한 고객들의 니즈들이 증가하고 있습니다. H/W, S/W가 물리적 논리적인 것이 아닌 하나의 인프라 자체가 Utility화가 이루어지고 있으면서 국내외적으로 클라우드시스템도 최근 몇 년간 IT분야의 지속적인 관심을 받으며 발전해온 기술이 바로 Cloud Computing 입니다.

현재 국내에서도 AWS와 같은 클라우드 시스템이 많이 존재합니다. 외국에서도 AWS와 더불어 Windows Azure, Heroku 그리고 이번에 새로 IBM에서 선보인 Bluemix 등과 같이요.

이 수 많고 많은 클라우드 중 우리 서비스에 맞는 클라우드는 뭘까? 이 많은 클라우드 시스템중 어떤걸 결정해야 할까?

이 문제에 관련하여 인사이트를 구하기 위해서는 우선 클라우드의 IaaS, PaaS, SaaS의 개념을 알고 있어야 합니다.
IT 인프라의 구성요소? 관리자가 관리해야 하는 영역? 무엇으로 이 세가지의 개념을 나눌 수 있을까요.



Host, Build, Consume

Cloud Computing은 제공 및 관리 범위에 따라 크게 IaaS, PaaS,  SaaS로 나누어 볼 수 있습니다.

1) IaaS - Infrastructure as a Service
인프라스트럭쳐 레벨을 제공하는 서비스로 직접 H/W 및 가상화 S/W등 인프라 레벨까지 컨트롤 가능합니다. 즉, OS부터 상위의 모든 플랫폼, 어플리케이션 모두 관리자가 직접 관리할 수 있습니다.
기존의 레드햇, Windows Server 등과 같이 라이센스 비용을 지속적으로 납부하는 고객들에게 유용합니다. 하지만, 관리 측면에서 SaaS와 달리 직접 OS 전반적인 보안, 지식등이 필요한 부분입니다.
현재 Amazon EC2(Amazon Elastic Compute Cloud)서비스나 마이크로소프트의 Windows Azure Virtual Machine이 대푲거인 예이며, 국내 이통사들도 제공하고 있는 서비스 입니다.


2) PaaS - Platform as a Service
개발자가 어플리케이션을 개발, 서비스 하기 위해 사용 가능한 서비스와 기능들이 제공되는 클라우드 서비스 입니다.
대표적으로 마이크로소프트의 Azure Platform Cloud Service와 세일즈포스닷컴이 제공하는 Force.com이 PaaS의 대표주자입니다.
IaaS보다는 부담이 조금 줄어들지만, 완전히 부담이 배제되지는 않습니다. 이미 구축되어 진 인프라안에서 개발자가 상위의 플랫폼에서 빠르게 어플리케이션을 개발/서비스 할 수 있는 것이 특징입니다.

3) SaaS - Software as a Service
각종 응용 S/W 그리고 비즈니스 어플리케이션등을 개발하고 서비스하여 제공하는 클라우드 서비스 입니다.
위의 사진과 같이 SaaS는 Consume(소비)를 목적으로 합니다. 기업소비의 관점에서 본다고 하면 기존 CRM 서비스나, Web E-mail 서비스도 이에 해당될 수 있습니다.


그렇다면 우리회사에? 나에 맞는 서비스는?

정답은 없습니다. 
IaaS, PaaS, SaaS가 모두 자기 자신(회사 포함)에 딱 맞는 서비스 일 수는 없습니다.
기존 응용 S/W를 사용하여 서비스를 하는 회사라면 SaaS 클라우드 서비스가, 플랫폼 부터 개발하고 싶지만 물리적 서버의 여유가 부족한 솔루션 개발사(ISV) 회사라면 IaaS를, 그렇지 않다면 PaaS를 사용하면 됩니다.
이 세가지의 클라우드 서비스는 상호보완이 가능하고, 각 회사의 비즈니스 인사이트에 따라서 선택할 수 있는 클라우드 서비스가 달라질 수 있습니다.

결론적으로, 이 모든 인프라는 각 회사의 비즈니스 인사이트에 좌우됩니다.


저작자 표시 비영리 동일 조건 변경 허락
신고





클라우드 컴퓨팅 소개

클라우드 컴퓨팅은 쉽게 이야기하여, 큰 웹 에이전시 회사의 데이터 센터를 생각하면 쉽게 이해할 수 있습니다.
데이터 센터에 소모되는 비용은 매우 비싸지만, 시간이 지나면서 서버들의 가치는 하락하게 되어 있다. 밀려드는 방문자, 배치 작업, 대용량 데이터를 처리하기 위해 기다리고 있지만 100% 서버 자원을 활용할 수는 없습니다.
그 이유는 웹 트래픽을 예측하고 리소스를 배치하는 일에 문제가 있기 때문이다. 자원을 예측하는 것 중 과도하게 낙관적인 예측은 리소스의 공급 과잉으로 이어지고, 이는 비용 상승과 회사 리소스 낭비를 초래합니다.
그러나, 클라우드 컴퓨팅이라면 위와 같은 즉시 맞춤형 리소스 관리를 완벽하게 실현할 수 있습니다. 데이터 처리 기반 설비인 서버, 스토리지, Bandwidth(대역폭)은 클라우드로부터 확보되며, 필요할 때 소모되고 불 필요시 클라우드로 다시 반환됩니다.



클라우드란?

클라우드(구름 모양)는 인터넷을 나타내기 위해 사용되어 왔습니다.

이 인터넷의 의미는 리소스에 접근하기 위한 수단을 포함하여, 일반적으로 인터넷 상에 존재하는 리소스도 포함됩니다.

클라우드 컴퓨팅(Cloud Computing)의 개념은 기존에 존재하던 개념이 였지만, 클라우드 컴퓨팅이란 용어로 불려진 것은 불과 몇년 전 부터이다. 벤더마다 세부적으로는 다를 수 있지만, 클라우드라고 하면 규모가 크고, 공개적으로 접근 가능한 리소스의 모음이며, 이 리소스는 계산, 저장, 네트워킹을 수행합니다.


클라우드는 본질적으로 다중 사용자로 부터 운영될 수 있으며, 각 사용자마다 관리 및 검증, 할당 리소스 추적 등 다른 사용자에 의해 간섭받지 않고 보호받을 수 있어야 합니다.


이러한 관점에서는 각 벤더의 클라우드를 실행하는 소프트웨어는 우리가 사용하고 있는 OS와 유사한 개념으로 설명됩니다.



클라우드의 특징

1) 탄력성
클라우드 이용시 리소스의 할당량 조절이 간편합니다. 기존의 업무에서는 리소스(자원)를 할당받기 위해서, 관리자의 승인이 필요했고 그 안에서도 몇 가지의 업무 절차를 밟아햐 했습니다.
하지만, 클라우드에서는 리소스를 할당 받고 사용하는데에 불과 몇분 정도이면 가능합니다.

2) 사용한 만큼 지불
클라우드의 특징 중 하나가 요금제입니다. 이것은 비즈니스의 특징이라기보다는 일반적인 클라우드 컴퓨팅의 특징입니다.


비즈니스 특징

클라우드 컴퓨팅을 비즈니스 관점에서 정의하면 아래와 같습니다.
1) 선행 투자비용이 없다
클라우드 컴퓨팅은 리눅스 맞춤형 사용을 충족하기 위해 만들어졌기 때문에 서비스(수요 발생)를 하기 전이라면 대규모의 투자 비용은 필요하지 않습니다.

2) 고정 비용이 변함
기존의 일반 기업에서 벤더사의 계약기간(1~3년)을 갖는 것과 달리 클라우드 컴퓨팅은 사용하는 리소스에 의해서 요금이 측정되고 실시간 변경 됩니다.

3) 비즈니스의 유연성 확보
리소스를 장기간 계약하지 않으므로, 비즈니스 유형의 변경 업무의 변경에 따라서 신속하게 대처할 수 있습니다.

4) 제공업체가 클라우드 비즈니스에 집중
클라우드 제공업체는 공공의 이용을 위해 클라우드를 제공하는 비즈니스를 합니다.
따라서, 클라우드 제공업체는 신뢰성, 적응성, 비용 효과성이 확보된 서비스를 제공하는 일에 집중할 수 밖에 없습니다.


클라우드 컴퓨팅에 대한 잘못된 오해

1) 클라우드에 맞게 애플리케이션 아키텍처를 재 구성해야 한다
클라우드가 제공하는 이점을 이용하기 위해서는 일부 오래된 애플리케이션에서는 아키텍처를 다시 구성해야 하는 것이 맞지만, 상용이나 오픈 소스 스택을 사용하는 기존의 많은 애플리케이션에서는 조금만 변경해서 클라우드로 옮겨갈 수 있습니다.


2) 클라우드는 안전성이 보장되지 않는다
데이터의 가치를 잘 알고 있는 기업에서는 함부로 회사의 자산을 클라우드 업체에 맡길 수 없습니다. 이는 기업에서 그렇지만, 클라우드 공급 업체들도 보안 문제를 심각하게 관리하고 있습니다.
고급 보안 시스템, 네트워크 어드레싱의 완전한 통제, SAS 70 같은 인증서가 연계된 암호화 지원은 불안해하는 관리자들에게 확심을 심어줍니다.

3) 클라우드는 오픈 소스 코드 실행에서만 적합하다
이전과 달리 이젠 상용 운영체제와 애플리케이션 소프트웨어도 클라우드를 합적인 소프트웨어 환경으로 인식하고 있으며, 자신들의 애플리케이션이 클라우드에 맞는 라이선스를 가질 수 있도록 필요한 작업을 합니다. 이제 수~수천 달러의 데이터베이스 라이센스를 구매하기보다 같은 데이터베이스를 시간당 몇 달러의 비용을 내고 사용할 수 있습니다.


클라우드 사용 사례

1) 정적인 웹 사이트와 복잡한 웹 애플리케이션 호스팅
클라우드는 정적인 HTML 페이지, CSS 스타일 시트, 이미지에서 만들어진 정적인 웹 사이트를 쉽게 호스트할 수 있다. 클라우드에서 더 복잡한 웹 사이트도 호스트 할 수 있으며, 가장 간단한 것은 클라우드 스트로지만으로도 호스트 될 수 있으며 콘텐츠 배포 시스템으로 약간만 지원하면 됩니다.

2) 소프트웨어 개발 생명 주기 지원
개발 중에 클라우드를 사용하면 개발자는 작업에 필요한 적절한 리소스를 확보할 수 있습니다.
기존의 전통적인 3계층(웹, 어플리케이션, 데이터베이스) 웹 애플리케이션을 구축하고 있으며, 개발 중에는 각 계층은 별도의 물리적 장비들이 필요했습니다. AWS가 없으면 각 개발자는 3대의 서버가 필요하고 이 서버들 중 상당수가 꽤 많은 유휴시간을 갖을 수도 있습니다. 반면, 클라우드는 각 개발자가 테스트하고 업무시간이 종료되면 리소스는 다시 클라우드로 반환됩니다.
단위 테스트가 많으면 로드를 분산하기 위해 여러 대의 병렬 서버를 사용하면 되고, 지속적인 통합 환경을 지원합니다.
각 소스 코드를 처리하기 위해 코드가 다수의 타겟 환경(여러 버전의 리눅스)이나 플랫폼(NT/Linux)이 요구된다면, 자체 인프라를 보유하는 측면보다 매우 효과적입니다.

3) 데모 시스템 및 학생들의 교육
클라우드는 소프트웨어 애플리케이션의 데모 및 시험 버전을 호스트하고 배포하기 위해 클라우드 리소스를 사용할 수 있습니다.
낮은 비용과 쉬운 방법으로 클라우드에 호스팅 된 서버에 접근 가능하며, 벤더사들은 적절한 테스트 환경이 준비될 동안 기다리기 보단 고객들에게 데모를 제공 할 수 있습니다. 그리고, 각 랩톱 환경이 필요한 학생들의 실습 시간등에도 이용 가능합니다.

4) 업무 및 과학용 데이터 처리
과학 및 업무용 데이터 처리에는 많은 양의 데이터가 관여되며, 그에 따른 큰 규모의 자원들이 필요로 합니다.
업무용 데이터는 정해진 일정이 특별히 없을 수 있으며, 아니면 조금은 일상적일 수 있습니다.
규모가 크고 트래픽이 많은 웹 사이트는 하루에 수십 기가 바이트의 로그 파일 데이터를 생성할 수 있는 반면, HR관련 업무에서는 매월 이뤄지는 임금 지불 처리, 웹 로그 처리 등에 사용 가능합니다.
클라우드는 적절한 시점에 사용 관련 데이터에 접근 가능하며, 사이트를 최적화시킬수 있고, 변화와 흐름에 더 빨리 대응할 수 있습니다.


저작자 표시 비영리 동일 조건 변경 허락
신고