월요일, 9월 22, 2008

클라우드 플랫폼(Cloud Platforms)

클라우드 플랫폼

 

개발자가 클라우드 내에서 실행되거나 클라우드에서 제공하는 서비스를 이용해 애플리케이션을 만들 때 필요한 기술 및 도구 집합

 

요구에 따라 제공하는 플랫폼 (On-demand platform), 서비스로서 플랫폼 (platform as a service, PaaS)

 

 

On-premise는 응용 프로그램을 개발하기 위한 전통적인 방법으로 사용되는 운영체제, 데이터베이스, 파일 시스템, 서버, 개발 도구 등이 외부 네트워크와 단절되어 존재하는 기업 내부 환경을 지칭

 

Cloud는 기업 네트워크 망을 넘어서 공개된 네트워크를 통해 오고 가는 공간을 지칭하며, Naver/Daum을 통해 검색 결과를 보거나, Virtual Earth를 통해 지도 정보를 얻는 것이 예

 

첫 번째 경우는 기업 내부 사용자가 SaaS 서비스 제공 회사에서 제공한 클라이언트 프로그램 혹은 브라우저를 통해 응용 프로그램을 이용하지만, 그 핵심 데이터 혹은 서비스는 Cloud 공간을 경유해 SaaS 서비스 제공자로부터 받아오는 방식

 

다른 말로 완성된 서비스 (Finished Service)라고도 하며, 대표적인 예가 salesforce.com

 

두 번째 경우는 기업 내부 사용자가 응용 프로그램을 사용하지만, 그 응용 프로그램의 일부 기능 혹은 동작은 클라우드에 있는 서비스를 이용하는 것

 

보통 내부 사용자는 이런 서비스가 기업 내에 있는 기능인 지, 외부 클라우드에 있는 기능인 지 모르는 경우가 많음

 

추가적인 서비스 (Attached Service)라고도 하며, 예로는 메일을 사용할 때 메일 클라이언트 프로그램과 메일 서버는 기업에 있지만 메일을 필터링 하거나 보관하는 것은 외부 서비스를 사용하는 것이 있음

 

Apple의 iTunes와 같이 클라이언트 프로그램이 동작하면서 필요한 콘텐트는 클라우드를 통해 얻는 것도 비슷한 유형

 

세 번째 경우는 기업 내부 사용자가 아니라 개발자가 중심

 

개발자가 응용 프로그램 작성 시에 필요한 자원을 기업 내부에서 얻을 수도 있지만, 클라우드에서 제공하는 서비스를 이용하는 경우

 

클라우드에서 제공하는 플랫폼을 클라우드 플랫폼이라고 한다. 따라서, 클라우드 플랫폼은 개발자를 위해 필요한 서비스 및 제반 환경이라고 볼 수 있음

 

 

첫 째, 가장 기초 (Foundation) 분야로 하드웨어 위에 올라가는 운영체제 (Windows, UNIX, Linux), 디지털 정보 저장 구조 (파일 시스템 혹은 네트워크 접근 없이 이용하는 데이터베이스), 런-타임(.NET CLR, Java VM), 표준 함수 묶음 같은 것

 

둘 째, 인프라 측면의 서비스 (Infrastructure service)로 네트워크 기반의 분산 환경에 필요한 원격 저장소 (원격 파일 시스템, SharePoint Server, 네트워크로 접속하는 데이터베이스), 시스템 간의 통합을 목적한 서비스 (IBM WebSphere Process Server, Microsoft BizTalk Server), 신원 확인 (Identity) 서비스 (Microsoft Active Directory, LDAP Server) 등

 

셋 째, 애플리케이션 서비스로서 최종 완성 서비스 형태로 최종 사용자에게 직접 이용되는 것도 있지만, 응용 프로그램 내에서 사용되는 다양한 서비스가 있음. SAP, Microsoft Dynamic와 같이 패키지 형태도 있고, 각 기업에 맞추어 개발된 애플리케이션도 있음.

 

넷 째, 위의 그림에는 나와 있지 않지만 개발에 필요한 도구 및 환경도 중요한 요소

 

클라우드 플랫폼이 지향하는 것은 위의 구조와 똑같음. 클라우드 플랫폼의 출현은 기업 내부에 있는 (On-premise) 애플리케이션이 기업 내 기초 계층 위에서 움직이고, 클라우드 애플리케이션은 클라우드 기초 계층 위에서 움직이지만, 인프라 측면의 서비스와 애플리케이션 서비스는 서로 교차해서 이용하는 방법을 열어 놓을 것이라는 것

 

 

[클라우드 기초 서비스 (Cloud Foundation)]

운영체제

 

간단한 파일을 하나 생성하더라도 운영체제가 필수인 것처럼, 클라우드 플랫폼에서도 가장 기초는 운영체제입니다. 대표적인 예는 EC2 (Elastic Compute Cloud)로 알려진 아마존입니다. 고객이 LINUX 및 그와 동반된 요소를 선택하면 가상 기술 위에서 운영체제 서비스를 하고 있습니다. 필요에 따라 MySQL, Java EE 서버, Ruby on Rail도 같이 선택할 수 있습니다.

 

로컬 자원 지원

 

로컬 자원은 애플리케이션이 기동하기 위해 클라우드 환경에 필요한 것으로 매우 단순하지만 확장성 있게 만든 서비스입니다. 대표적인 것이 구글의 AppEngine 혹은 Microsoft Dynamics CRM 플랫폼에 포함된 CRM Live Offering 같은 것입니다.

 

[클라우드 인프라 서비스 (Cloud Infrastructure Service)]

 

저장소 (Storage)

 

아마존의 비정형 데이터를 생성하고, 읽고, 삭제할 수 있도록 만든 S3 (Simple Storage Service)가 예입니다. 사진 혹은 비디오를 개인이 사용하고 있는 개인 컴퓨터 혹은 네트워크에 연결된 서버에 올릴 수도 있지만, 클라우드에 올려서 보관 및 관리하도록 제공합니다.

비정형 데이터 만이 아니라 테이블 형태로 정형화해서 관리하는 서비스도 존재합니다. 마이크로소프트의 SQL Server Data Service (SSDS) 혹은 아마존의 SimpleDB가 여기에 해당합니다.

 

통합 (Integration)

 

기업 내 환경에 있는 메시지 전달 방법을 이용할 수 있지만, 큐와 같은 메시지 전달 방법을 클라우드에서 제공하는 것입니다. 아마존의 Simple Queue Service (SQS) 혹은 마이크로소프트 BizTalk Service가 예입니다.

 

신원 확인 (Identity)

 

서비스를 요청하는 주체가 누구인 지를 확인하기 위해 필요한 서비스입니다. 아마존 서비스를 이용하기 위해서는 아마존이 제공하는 신원 확인 방법이 있고, 구글 AppEngine은 구글 계정이, 마이크로소프트는 Windows Live ID가 있습니다.

 

[클라우드 애플리케이션 서비스 (Application Service)]

 

인프라서비스는 다른 서비스에 이용되어야 하는 반면에 애플리케이션 서비스는 그 서비스를 이용해서 직접 원하는 일을 할 수 있습니다.

 

SaaS 애플리케이션 서비스

 

Salesforce.com의 CRM 애플리케이션과 같은 SaaS 애플리케이션에서 나오는 서비스입니다.

 

검색

 

구글 검색, 네이버 검색, 마이크로소프트 Live Search과 같은 특정 단어에 연관된 문서의 위치와 요약을 해주는 서비스입니다.

 

매핑

 

구글 Maps와 마이크로소프트 Virtual Earth가 있습니다.

 

다른 애플리케이션 서비스

 

구글의 사진 공유 서비스인 Picasa, 마이크로소프트의 Windows Live Photo Gallery도 있고, 연락처를 관리해 주는 구글 Contacts, 마이크로소프트의 Windows Live Contacts 도 그 예이고, 여러 서비스가 계속 고안되고 있습니다.

기업 내에 있는 모든 애플리케이션 서비스가 클라우드로 전환할 수 있다고는 보지 않지만, 클라우드 컴퓨팅의 확장성, 저비용 등은 새로운 컴퓨팅의 환경에 출현을 가져올 것입니다.

 

라벨: , , , ,


댓글: 댓글 쓰기

에 가입 댓글 [Atom]





<< 홈

This page is powered by Blogger. Isn't yours?

에 가입 글 [Atom]