가상화(virtualization)는 컴퓨터에서 컴퓨터 리소스의 추상화를 일컫는 광범위한 용어입니다. “물리적인 컴퓨터 리소스의 특징을 다른 시스템응용 프로그램최종 사용자들이 리소스와 상호 작용하는 방식으로부터 감추는 기술로 정의할 수 있습니다이것은 다중 논리 리소스로서의 기능을 하는 것처럼 보이는 서버운영체제응용 프로그램또는 저장 장치와 같은 하나의 단일 물리 리소스를 만들어냅니다아니면 단일 논리 리소스처럼 보이는 저장 장치나 서버와 같은 여러 개의 물리적 리소스를 만들어 낼 수 있습니다.

 

가상화 기술은 사용자들이 특정 물리적인 하드웨어나 이러한 기능을 지원하는 다른 자원에 얽매이지 않고 하나의 애플리케이션부터 전체 운영 시스템까지 컴퓨팅 기능들을 활용할 수 있도록 합니다물리적인 장비에서 논리적인 영역을 분리해냄으로써컴퓨팅 자원을 기존의 복잡하게 얽힌 장치에서 해방시켜 가장 효율적인 방식으로 활용 및 관리할 수 있도록 합니다가상화는 컴퓨팅 컴포넌트들을 설정 변화혹은 새로운 패치업그레이드 등 사용자나 애플리케이션 측면의 변화에 관계 없이 역동적으로 결합하고 최상의 딜리버리 경험을 보장할 수 있도록 조합할 수 있습니다.

 

 

가상화의 분류

가상화 기술은 서버 기반 가상화 기술과클라이언트 영역에 가상 공간을 생성하는 클라이언트 가상화 기술로 분류할 수 있습니다.

 

구분

SBC (Server Based Computing)

데스크탑 가상화

애플리케이션 가상화

기본개념

서버상에 가상공간 구현

사용자별 개별 데스크톱 제공

개인별 OS환경 제공

서버상에 가상공간 구현

사용자에 애플리케이션 제공

OS공유 사용

 

특장점

사용자별 개인화 환경 제공

Application, Device 호환성 매우 우수

기존 데스크탑 환경과 동일

하드웨어 인프라가 상대적으로 적게 소용됨

OS공유에 따른 이슈 발생 가능

Application 충돌 및 디바이스 미지원 발생 가능

불특정 다수 ActiveX 사용고정IP 부여

 

주요 적용처

PC 환경 전반의 보안 강화 및 중앙관리 등을 목적으로 할 경우

특정 애플리케이션의 보안속도향상 또는 배포관리등을 목적으로 할 경우

비교

08년 상반기 출시빠르게 발전

SBC란 용어로 접근시 App가상화와 혼동하는 경우 많음

10년 이상 SBC로 알려짐

제약조건이 많아 패턴화된 특정업무에 적합

 

 

가상화 개념도

가상화는 사용자 별 독립적인 OS를 가진 가상데스크탑과 고성능 저장공간을 기반으로 다양한 클라이언트 단말기를 활용하여 어디서든 인터넷을 통하여 가상화된 개인 PC환경으로 접속 가능한 컴퓨팅 환경을 말합니다가상화를 적용하기 전에는 PC에서 자신의 데이터를 생성하고 관리하며이로 인하여 PC및 산출물에 대한 보안에 어려움을 겪었습니다하지만 가상화를 적용한 후에는 서버에서 데이터에 대한 생성과 관리를 담당하며산출물에 대한 보안도 강화되는 장점이 따릅니다.

 

가상화 개념도 (출: LG CNS) ]



OpenFlow SDN을 구현하기 위해 처음으로 제정된 표준 인터페이스입니다다음 그림과 같이 스위치, OpenFlow 컨트롤러로 구성되며흐름(Flow) 정보를 제어하여 패킷의 전달 경로 및 방식을 결정합니다.

 

흐름(Flow)

 

흐름(Flow)은 특정 시간 동안 네트워크상의 지정된 관찰 지점을 지나가는 패킷의 집합이라고 정의됩니다간단히 이야기하면 흐름이란 패킷의 출발지와 목적지 정보 등을 가진 데이터라고 할수 있습니다.

 

[ OpenFlow 시스템 구성 ]

 

오픈플로우(OpenFlow) 동작 방식

OpenFlow 스위치 내부에는 패킷 전달 경로와 방식에 대한 정보를 가지고 있는 FlowTable이라는 것이 존재합니다패킷이 발생하여 제일 먼저 FlowTable이 해당 패킷에 대한 정보를 가지고 있는지 확인합니다패킷에 대한 정보가 존재하면 그에 맞춰 패킷을 처리하고정보가 존재하지 않으면 해당 패킷에 대한 제어 정보를 OpenFlow 컨트롤러에 요청합니다.

 

스위치로부터 제어 정보를 요청받은 OpenFlow 컨트롤러는 내부에 존재하는 패킷 제어 정보를 확인하고해당 결과를 OpenFlow 스위치에 전달합니다. OpenFlow 컨트롤러 내의 패킷 제어 정보는 외부의 프로그램에서 API를 통해 입력할 수 있습니다. OpenFlow 스위치는 컨트롤러로부터 전달 받은 제어 정보를 FlowTable에 저장하고이후 동일한 패킷이 발생하면 FlowTable에 있는 정보를 활용하여 패킷을 전달합니다.

 

 

오픈플로우(OpenFlow) 패킷 제어 정보

앞에서 언급했듯이 OpenFlow에서 패킷을 제어하는 정보는 FlowTable에 저장되어 있으며다음 그림과 같이 Header Fields, Counters, Actions로 구성됩니다.

 

[ Flow Entry 구성 요소 ]

 

헤더 필드(Header fields)에는 스위치 포트이더넷 및 프로토콜 정보출발지(Source)/목적지(Destination) MAC/IP/포트(Port)/우선순위(Priority)가 저장됩니다헤더 필드 정보와 패킷의 정보의 일치 여부에 따라서 발생한 패킷이 FlowTable에 존재하는지 여부를 결정하게 됩니다.

 

액션(Actions)은 패킷 정보가 헤더 필드 정보와 일치할 때 어떻게 패킷을 처리할지에 대한 정보를 담고 있으며처리 방식은 다음 3가지가 있습니다.

 

 스위치에 정의되어 있는 경로에 따라 패킷 전달

② 정해진 하나의 포트 또는 여러 개의 포트로 패킷 전달(전달 경로 변경)

③ 패킷이 더 이상 전달되지 못하도록 차단(Drop)

 

카운터(Counters) FlowTable에 제어 정보가 등록된 순간부터 현재까지의 시간을 측정하는 용도로 사용됩니다. FlowTable에 등록된 제어 정보는 영구적으로 저장하거나 정해진 시간 동안만 유지할 수 있는데카운터는 후자의 경우 생명 주기(Life Cycle) 관리에 사용됩니다.

 

 

오픈플로우(OpenFlow) 적용 예

앞에서 클라우드 환경의 네트워크는 보안자동화확장성을 보장해야 한다고 했는데, OpenFlow에서 어떻게 보장하는지 살펴보도록 하겠습니다.

 

다음과 같은 2명의 사용자가 생성한 VM 그룹이 있다고 가정해봅니다.

 

[ OpenFlow 적용 예 ]

 

보안을 위해서는 각 사용자가 생성한 VM끼리만 통신할 수 있어야 하는데, OpenFlow FlowTable에서 다음과 같이 구성하면 이를 해결할 수 있습니다.

 

[ FlowTable 설정 예 ]

 

10.0.0.2, 10.0.0.3 간의 패킷과 10.0.0.4, 10.0.0.5 간의 패킷만 전달하고 다른 모든 패킷은 drop하도록 설정되어있습니다네트워크 설정을 자동화하려면 VM이 생성될 때마다 자동으로 위와 같이 설정되어야 합니다외부 프로그램에서 API OpenFlow 컨트롤러에 정보를 입력할 수 있으므로해당 VM이 생성될 때 관리 프로그램에서 API를 호출해 관련 정보를 설정하도록 하면 쉽게 해결할 수 있습니다.

 

확장성을 보장하려면 네트워크 환경을 쉽게 구축할 수 있어야합니다. OpenFlow 스위치를 추가할 때에는 기존의 OpenFlow 컨트롤러와 연결하기만 하면 되고, OpenFlow 컨트롤러를 추가할 때에는 API로 패킷 제어 정보를 일괄 등록하고 OpenFlow 스위치와 연결하기만 하면 됩니다따라서 쉽고 빠르게 네트워크 환경을 구축할 수 있습니다. 



클라우드 환경에서는 간단한 사용자 조작으로 네트워크 부하를 분산하고 트래픽을 모니터링하며 서로 다른 데이터 센터나 서로 다른 지역 또는 서로 다른 국가에서 운영 중인 서버에 대해서 네트워크를 관리할 수 있도록 하는 기술이 필요합니다이번 글에서는 클라우드 네트워크를 효율적으로 관리할 수 있는 기술 중 하나인 OpenFlow에 대해서 이야기하겠습니다.

 

클라우드 환경의 네트워크 관리

클라우드 서비스에는 다음 그림과 같이하나의 물리 서버에서 하나 이상의 가상 머신(Virtual Machine)을 제공하는 서버 가상화 기술뿐만 아니라물리 네트워크 가상의 네트워크 환경을 제공하는 네트워크 가상화 기술도 적용되어 있습니다.

 

클라우드 네트워크 구성 ]

 

이처럼 클라우드 환경에서는 몇가지 사항이 만족되어야 합니다.

 

첫번째는 보안(Security)입니다공통의 물리 네트워크 인프라를 여러 명의 사용자가 공유해서 사용해야 하기 때문에가상 네트워크 인프라에서는 서로 다른 사용자의 VM간에 보안이 보장되어야 합니다.

 

두번째는 자동화(Automation)입니다일반적인 서비스 환경에서는 네트워크 설정 정보를 추가하거나 변경하려면 네트워크 관리자에게 요쳥해야 하며완료되기까지 시간이 소요됩니다하지만 클라우드 환경에서는 사용자가 간단히 조작하여 네트워크를 설정하고 설정이 즉시 반영될 수 있어야 합니다이를 위해서는 요청이 즉시 반영될 수 있도록 자동화해야 합니다.

 

세번째는 확장성(Scalability)입니다클라우드 서비스의 장점중 하나는 필요한 VM을 빠른 시간 내에 투입할 수 있다는 것입니다이렇게 투입된 VM의 지역이나 국가가 다르거나전체 VM수가 수백 대 또는 수천대여도 쉽게 네트워크 환경을 구축할 수 있어야 합니다.

 

보안자동화확장성을 보장하려면 네트워크 기술이 다음의 조건을 만족해야 합니다.

 

① 자유롭게 네트워크를 만들고 다양한 서비스를 제공할 수 있도록 유연성이 있어야 합니다.

 네트워크를 동적으로 관리할 수 있도록 기능이 모듈화되어 있어야 합니다.

 

위 두가지를 만족하기 위해서는 네트워크 요소들을 프로그래밍할 수 있어야 합니다.

 

 

학교나 연구소는 새로운 네트워크 프로토콜을 개발하고 테스트하고 싶어합니다그런데 테스트하기 위해서 별도의 네트워크 환경을 구축하려면 비용이 많이 들고운영중인 네트워크 환경에서 새로운 프로토콜을 테스트하면 장애를 유발하는 등 운영에 영향을 미칠 가능성이 있습니다이로 인해 하나의 물리 네트워크 환경에서 다수의 가상 네트워크 환경을 구축할 수 있는 방법을 연구하기 시작했습니다.

 

아래의 그림처럼 네트워크 장비가 포함된 인프라 계층은 단순히 패킷을 전달하는 역할만 하고, SDN 제어 소프트웨어를 프로그래밍하여 패킷의 흐름을 제어하므로 하나의 네트워크 인프라에서 다양한 네트워크 환경을 구축할 수 있습니다, SDN에서는 패킷이 발생했을 때 네트워크 장비는 패킷을 어디로 전달할지 SDN 제어 소프트웨어에게 물어보고그 결과를 반영하여 패킷을 전송하는 경로와 방식을 결정합니다.

 

[ SDN 아키텍처 ]

 

하지만 SDN은 이론적인 개념으로실제로 적용하려면 이를 구현할 방안이 필요했는데, Standard University에서 제안한 내용이 OpenFlow입니다. 



클라우드 컴퓨팅(cloud computing)은 인터넷 기반(cloud)의 컴퓨팅(computing) 기술을 의미합니다인터넷 상의 유틸리티 데이터 서버에 프로그램을 두고 그때 그때 컴퓨터나 휴대폰 등에 불러와서 사용하는 웹에 기반한 소프트웨어 서비스입니다이른바 동일한 체험을 인터넷이 연결된 어디에서나 보장을 해 준다는 것입니다.

 

 

 클라우드 컴퓨팅의 일반적 정의

가트너 인터넷 기술을 활용하여 다수의 고객들로부터 높은 수준의 확장성을 가진 자원들을 서비스로 제공받는 컴퓨팅의 한 형태.

 

포레스트 리서치 표준화된 IT 기반 기능들이 IP 네트워크를 통해 제공되며언제나 접근이 허용되고 수요의 변화에 따라 가변적이며 사용량이나 광고에 기반한 과금 모형을 제공하는 웹 또는 프로그램적인 인터페이스를 제공하는 컴퓨팅

 

위키피디아 인터넷에 기반한 개발과 컴퓨터 기술의 활용을 뜻하는 것으로 인터넷을 통해서 동적으로 규모화 가능한 가상적 자원들이 제공되는 컴퓨팅

 

IEEE “정보가 인터넷 상의 서버에 영구적으로 저장되고데스크탑이나 테이블 컴퓨터노트북벽걸이 컴퓨터휴대용 기기등과 같은 클라이언트에는 일시적으로 보관되는 패러다임이다.”

 

IBM “웹 기반 애플리케이션을 활용하여 대용량 데이터베이스를 인터넷 가상 공간에서 분산 처리하고 이 데이터를 PC, 휴대 전화노트북, PDA등 다양한 단말기에서 불러오거나 가공할 수 있게 하는 환경

 

클라우드의 공통적인 개념은 인터넷(네트워크)을 통해서 IT 자원을 사용하고 비용을 지불한다는 것으로 요약할 수 있습니다.

 

 

 클라우드 대중화의 시작

실제 클라우드 컴퓨팅은 이전에도 많은 분야에서 이미 활발히 사용되고 있던 기술이지만 클라우드 서비스라는 개념이 적극적으로 대중에게 관심을 받게된 시점은 모바일 시장이 급격히 팽창한 이후입니다그 시초는 애플이 음악 듣기를 아이팟을 통해 정액제 서비스를 내 놓아 큰 성공을 거두고 아이폰 출시와 함께 앱스토어라는 온라인 상점을 제공해 소프트웨어를 쉽게 사고팔 수 있게 된 시점이라고 볼 수 있습니다스마트폰태블릿과 같은 모바일 기기의 활성화로 인해 사용자 경험과 관심이 크게 바뀌었고 자연스럽게 클라우드 서비스에 대한 관심 또한 높아지게 되었습니다.

 

인터넷에만 연결되어 있으면 모바일이나 PC 어디에서도 문서동영상음악 파일 등을 쉽게 받거나 볼 수 있습니다이런 스토리지형 클라우드도 지금은 단순히 파일을 저장하는 용도가 아니라 이메일캘린더오피스이미지 편집 기능과 유기적으로 연결 되어 있어 사용자가 별도로 소프트웨어를 설치하지 않고 자료 관리를 해도 될 만큼 편리해졌습니다.

 

소프트웨어 관련 업계도 이전에는 박스에 담긴 제품 시디를 통해 PC에 게임이나 오피스와 같은 소프트웨어를 설치했지만 지금은 모바일, PC를 위한 앱스토어를 통해 쉽게 설치할 수 있게 되었고제품 단위로 판매하는 형태가 아닌 서비스 형태로 제공하는 추세가 늘면서 관련 업계도 많은 변화를 격고 있습니다.

 

 

 클라우드 컴퓨팅 발전 단계

2000년데 초반 IT 업계에서 널리 회자되었던 용어는 그리드(Grid) 컴퓨팅이었습니다그리드 컴퓨팅이란 대용량의 컴퓨팅 자원을 필요로 하는 곳에 원하는 때에 언제든지 컴퓨팅 자원을 제공한다는 개념으로 시작된 것으로 인터넷 상의 모든 PC 형태의 컴퓨팅 리소스를 연결해서 사용하자는 개념이었습니다.

 

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

 

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

 

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

 

클라우드 컴퓨팅 발전 단계 ]

 

 

 클라우드 컴퓨팅의 구성도

 

클라우드 컴퓨팅 구성도 ]

 

컴퓨터 네트워크 구성도에는 인터넷을 구름으로 표현합니다이 때 구름은 숨겨진 복잡한 인프라 구조를 의미합니다사용자는 이러한 복잡한 인프라 구조를 알지 못해도 클라우드 컴퓨팅을 이용할 수 있습니다.

 

 

 클라우드 컴퓨팅의 장/단점

특징

설명

장점

초기 구입 비용과 지출이 적으며 휴대성이 높습니다.

컴퓨터의 가용률이 높습니다이러한 높은 가용율은 그린 IT 전략과도 일치합니다.

다양한 기기를 단말기로 사용하는 것이 가능하며서비스를 통한 일치된 사용자 환경을 구현할 수 있습니다.

사용자의 데이터를 신뢰성 높은 서버에 보관함으로써 안전하게 보관할 수 있습니다.

전문적인 하드웨어에 대한 지식이 없어도 쉽게 사용이 가능합니다.

단점

서버가 공격 당하면 개인 정보가 유출될 수 있습니다.

재해에 서버의 데이터가 손실되면미리 백업하지 않은 정보는 되 살리지 못할수도 있습니다.

사용자가 원하는 애플리케이션을 설치하는데에 제약이 심하거나 새로운 애플리케이션을 지원하지 않습니다.

통신 환경이 열악하면 서비스 받기 힘듭니다.

개별 정보가 어디에 물리적으로 위치하고 있는지 파악할 수 없습니다.

 

 

 서비스 대상에 따른 분류

클라우드는 서비스 제공 대상에 따라서 공용(public) 클라우드와 사설(private) 클라우드 및 하이브리드 클라우드로 분류할 수 있습니다.

 

 공용 클라우드(public cloud)

퍼블릭 클라우드는 클라우드 컴퓨팅 환경의 구축 모델 중 하나로요청에 따라 외부의 공급업체가 애플리케이션컴퓨팅스토리지네트워킹등의 IT리소스를 제공하고 사용량을 기준으로 비용을 청구하는 방식입니다.

 

퍼블릭 클라우드의 사용 용도

소규모 기업에서 대기업에 이르기까지 모든 기업과 정부 기관은 CRM, e-mail, 협업 등 다양한 분야의 애플리케이션 수요를 지원하기 위해서 퍼블릭 클라우드 환경에서 제공되는 서비스를 이용합니다고객이 물리적으로 접근할 수 없어 투명성과 제어 수준이 낮기 때문에 퍼블릭 클라우드의 사용 대상을 미션 크리티컬하지 않은 애플리케이션과 중요도가 낮은 정보로 제한하는 조직이 많습니다애플리케이션 개발은 물론 서버스토리지 및 백업 인프라스트럭처에도 퍼블릭 클라우드 서비스가 사용됩니다.

 

퍼블릭 클라우드 기술은 클라우드 컴퓨팅의 이점을 바탕으로 애플리케이션 액세스 속도를 높이고 인프라스트럭처 지원 비용을 절감하고 한정된 가치 있는 작업에 주력하도록 IT인력의 작업 부담을 덜어 줍니다또한 IT부서에서 애플리케이션을 신속하게 배포하고 수요가 많은 기간에 애플리케이션 환경을 빠르게 확장할 수 있게 합니다결과적으로 비즈니스 대응 능력과 효율성이 향상됩니다마찬가지로 사용자는 퍼블릭 클라우드 서비스를 활용하여 손쉽게 소프트웨어를 이용하고 컨텐츠를 저장/공유/보호하고 웹에 연결된 모든 디바이스에서 간편하게 액세스할 수 있습니다.

 

퍼블릭 클라우드 작동 방식

클라우드 컴퓨팅은 ISV와 여러 유형의 타사 인프라스트럭처 및 플랫폼 공급업체를 비롯한 퍼블릭 클라우드 인프라스트럭처 서비스 공급업체에서 활용합니다가상화 환경을 기반으로 구축된 IT 리소스는 서비스 공급업체가 소유 및 관리하고 고객 간에 풀링 및 공유되며인터넷이나 전용 네트워크 연결을 통해 엑세스됩니다퍼블릭 클라우드의 한 형태인 커뮤니티 클라우드(Community Cloud)는 퍼블릭 클라우드를 여러 회사 구성원들만 이용할 수 있도록 변형한 것으로서공통의 이해관계(금융거래)를 중심으로 구축됩니다.

 

요청이 있을 경우 리소스는 사전 정의된 온라인 구성 카탈로그를 통해 고객에게 제공됩니다이러한 리소스의 사용량을 추적하여 서비스 계약에 따라 소비량 또는 가입 조건을 기준으로 비용이 청구됩니다.

 

 

 사설 클라우드(private cloud)

프라이빗 클라우드는 클라우드 컴퓨팅 환경의 구축 모델 중 하나로요청에 따라서 IT 부서에서 애플리케이션컴퓨팅스토리지네트워킹 등의 IT 리소스를 제공하고 사용량을 기준으로 비용을 청구하는 방식입니다.

 

프라이빗 클라우드의 사용 용도

중간 규모의 기업과 대기업 및 정부 기관은 비즈니스 대응 능력과 효율성을 높이고 경쟁력을 확보하기 위해 프라이빗 클라우드 환경을 구축합니다기존의 IT환경에서는 애플리케이션 소프트웨어와 지원 하드웨어를 개별적으로 구매관리 및 투자하고 보통 수개월에 걸쳐 구축합니다반면 프라이빗 클라우드 인프라스트럭처에서는 다양한 IT 리소스를 몇 분 또는 몇 시간 내에 이용할 수 있으며실제 사용량에 따라 비용이 청구됩니다.

 

조직의 입장에서는 프로젝트를 보다 신속하게 착수하고 새로운 기능과 매출 기회를 빠르게 활용할 수 있으며 시장의 변화에 민첩하게 대응할 수 있으므로 프라이빗 클라우드 환경으로 전환하면 IT조직이 많은 비용을 수반하는 조직에서 전략적인 파트너로 탈바꿈하게 됩니다.

 

프라이빗 클라우드의 작동 방식

IT리소스를 물리적 디바이스로부터 분리하는 가상화 기술은 프라이빗 클라우드의 기반이 됩니다프라이빗 클라우드의 이점을 최대한 실현하려면 가상화 환경에 최적화되고 완벽하게 통합된 인프라스트럭처가 필요합니다.

 

 

 하이브리드 클라우드(hybrid cloud)

하이브리드 클라우드는 클라우드 컴퓨팅의 구축 모델 중 하나로일부 IT 리소스는 내부 프라이빗 클라우드를 통해 서비스로 제공하고 일부는 타사 서비스 공급업체가 퍼블릭 클라우드에서 제공하는 방식을 말합니다애플리케이션컴퓨팅스토리지네트워킹을 망라하는 이러한 IT리소스는 셀프 서비스 카탈로그를 통해 요청에 따라 제공되고 사용량을 기준으로 비용이 청구됩니다.

 

하이브리드 클라우드 컴퓨팅 서비스의 사용 용도

중간 규모의 기업과 대기업 및 정부 기관은 비즈니스 대응 능력과 효율성을 최대한 높이고 경쟁력을 확보하기 위해서 하이브리드 클라우드 환경을 구축합니다기존의 IT 환경에서는 애플리케이션 소프트웨어와 지원 하드웨어를 개별적으로 구매관리 및 투자하고 보통 수개월에 걸쳐 구축합니다반면 클라우드 컴퓨팅 환경에서는 다양한 IT 리소스를 몇 분 또는 몇 시간내에 이용할 수 있으며실제 사용량에 따라서 비용이 청구됩니다하이브리드 클라우드는 내부 IT 부서의 최대 장점과 외부 IT 공급업체의 역량을 결합한 가장 유연하고 경제적인 클라우드 컴퓨팅 모델입니다.

 

조직의 입장에서는 프로젝트를 보다 신속하게 착수하고 새로운 기능과 매출 기회를 빠르게 활용할 수 있으며 시장의 변화에 민찹하게 대응할 수 있으므로 클라우드 인프라스트럭처로 전환하면 IT조직이 많은 비용을 수반하는 조직에서 전략적인 파트너로 탈바꿈하게 됩니다.

 

하이브리드 클라우드의 작동방식

하이브리드 클라우드는 퍼블릭 클라우드와 프라이빗 클라우드를 결합한 형태로서다음과 같은 일반적인 특성을 통해 IT부서의 역할을 독점적인 서비스 제공자에서 IT서비스의 중개자로 바꾸어 놓습니다.

 

퍼블릭 클라우드 환경에서 IT리소스는 타사 서비스 공급업체가 소유하고 관리하며 여러 고객이 공유하면서 인터넷을 통해 액세스합니다높은 수준의 규모의 경제가 실현되기 때문에 비용이 저렴하지만 투명성과 제어 수준도 낮습니다때문에 퍼블릭 클라우드는 미션 크리티컬하지 않은 애플리케이션과 중요도가 낮은 정보에 종종 사용됩니다.

 

프라이빗 클라우드 환경에서는 단일 조직이 IT리소스를 소유하고 내부적으로 공유하면서 전용으로 사용하며 리소스가 인터넷 또는 LAN을 통해 서비스로 제공됩니다퍼블릭 클라우드보다는 낮은 수준이지만 규모의 경제와 비용 절감 효과가 크고 투명성과 제어 수준이 높으며 멀티 테넌시와 관련된 문제도 해소됩니다따라서 미션 크리티컬 애플리케이션과 중요 정보가 프라이빗 클라우드에 상주하는 경우가 많습니다.

 

 

 

 서비스 형태에 따른 분류

클라우드 컴퓨팅은 제공하는 서비스 형태로 따라서 IaaS(infrastructure as a servie), PaaS(platform as a service), SaaS(software as a service) 세 가지로 분류할 수 있습니다.

 

[그림 : https://www.simple-talk.com/cloud/development/a-comprehensive-introduction-to-cloud-computing/]

 

 

 IaaS(infrastructure as a service)

IaaS는 서버스토리지네트워크를 가상화 환경으로 만들어서 필요에 따라 인프라 자원을 사용할 수 있도록 서비스를 제공하는 형태입니다. IaaS는 기존에 제공되는 서버 기반의 호스팅이 클라우드로 제공되는 형태라고 생각하면 됩니다가상의 하드웨어상에 OS나 필요 애플리케이션을 설치하여 사용합니다인프라(서버스토리지네트워크 등)를 서비스로 제공합니다. IaaS의 장점은 OS, 애플리케이션등을 사용자가 직접 설치하기 때문에 원하는 형태로 사용이 가능하며단점은 클라우드 서비스가 하드웨어 서비스에 제한이 됩니다.

 

▷ IaaS의 사용 용도

풀로 구성된 인프라스트럭처는 프라이빗 클라우드 환경에서 특정 조직이 전적으로 소유하고 제어하거나전용 리소스와 타사 리소스를 하이브리드 환경에서 연결 및 연합하여 만들거나퍼블릭 클라우드 환경에서 타사가 전적으로 제공할 수 있습니다.

 

▷ IaaS의 예

① 아마존의 CloudFormation

② 오픈 스택의 Rackspace

 Google 컴퓨팅 엔진

 RightScale

 FlexCloud

 

 

 PaaS(platform as a service)

PaaS SaaS(software as a service)의 개념을 개발 플랫폼에도 확장한 방식으로 개발을 위한 플랫폼 구축을 할 필요없이 필요한 개발 요소들을 웹에서 쉽게 빌려쓸 수 있게 하는 모델입니다구글이나 네이버다음등에서 제공하는 OPEN API들이 PaaS의 일종이며구글의 앱 엔진이나 Bungee Labs의 번지 커넥터등은 직접 온라인 서비스를 개발에서 배포관리까지 가능한 플랫폼을 제공하고 있습니다.

 

▷ PaaS의 작동 방식

PaaS를 사용하면 기반 하드웨어운영 소프트웨어 및 유틸리티를 구매하고 관리하는데 따른 비용과 복잡성을 유발하지 않으면서 웹 기반 애플리케이션 소프트웨어를 만들어 배포할 수 있습니다. PaaS 환경에서는 저네 IT 리소스 스택이 서비스 공급업체의 사이트에서 인터넷을 통해 서비스로 제공됩니다웹 기반 애플리케이션을 구축하고 제공하는 전체 수명 주기를 지원하는데 필요한 모든 설비를 제공합니다.

 

 

 SaaS(software as a service)

SaaS는 “on-demand software”로도 불리며소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하는 형태의 소프트웨어 전달 모델입니다기존의 ASP를 확장한 개념으로 차세대 ASP로 볼수 있습니다. SaaS ASP는 아래와 같은 차이점이 있습니다.

 

▷ SaaS의 작동 방식

각 사용자는 SaaS 공급업체의 멀티 테넌트 공유 환경에서 하나의 테넌트가 됩니다소프트웨어 맞춤 구성 권한이 일부 허용될 수도 있지만사용자에게 인프라스트럭처 컴퓨팅 아키텍처위치 또는 제공되는 서비스 수준에 대한 제어 권한이 폭넓게 제공되는 경우는 드뭅니다.

 

▷ SaaS ASP의 차이점

① SaaS는 전자상거래 관점의 사업적인 반면에 ASP는 전산 외주(아웃소싱) Coasian Economics에 기초합니다.

② SaaS는 불 특정 다수를 대상으로 전산 서비스의 제공에 중점을 두어 확장성과 고객 요구 사항 커스터마이즈에 중점을 둡니다.

③ SaaS ASP 1989년 코닥의 전산 외주외주의 시작과는 달리 고객의 가치 창조 및 고객 요구를 맞추는데 초점을 두고 있습니다.

 

최근의 성공 사례로 고객 관계 관리(CRM)영역의 CRMKorea, Salesforce.com, RightNow등의 사례와 오래전부터 해 왔던 회계쪽 분야가 있습니다소프트웨어를 구입하여 사용하는 개념에서 빌려 사용하는 렌트의 개념은 점점 더 확산되고 중소기업뿐만 아니라 대기업에서도 적극적인 도입을 검토 중이며 많이 사용되고 있습니다.

 

 

SaaS 방식으로 전달되는 소프트웨어의 특징

IDC에 의하면 SaaS 소프트웨어의 핵심 특징은 다음과 같습니다.

네트워크 기반으로 접근하고 관리하는 상업적으로 사용 가능한 소프트웨어입니다.

각 고객 사이트가 아닌 중앙의 위치에서 활동을 관리고객이 웹을 통해 애플리케이션에 접근하도록 합니다.

애플리케이션의 전달은 일반적으로 일대일 모델보다는 일대다 모델(single instance, multi-tenant 아키텍처)에 가까우며여기에는 아키텍처가격파트너링관리 특성이 포함됩니다.

중앙화된 기능 업데이트로 패치와 업그레이드 다운로드 할 필요가 없습니다.

+ Recent posts