서버의 가상화는 많은 회사들이 안고 있는 하드웨어의 관리재난에 의한 시스템의 신속한 복구등 여러가지 문제를 해결해줄 수 있는 방법으로 각광을 받고 있습니다이런 서버의 가상화는 크기 두가지로 분류할 수 있습니다하나는 하이퍼바이저(Hypervisor)형과 또 하나는 호스트(Hosted)형 가상화로 나눌 수 있습니다.

 

 하이퍼바이저(Hypervisior)

하이퍼바이저형 가상화는 VMM(Virtual Machine Monitor)을 물리 컴퓨터의 하드웨어상에 직접 동작을 시키는 방법으로 호스트 OS가 필요없습니다호스트 OS에 할당할 리소스가 필요없기에 호스트형 가상화에 비해 오버헤드가 적고 물리 컴퓨터 리소스의 관리가 유연한게 특징입니다만자체적으로 관리기능을 갖고 있지 않기에 별도의 관리콘솔이 필요합니다이런 하이퍼바이저형 가상화 소프트웨어에는VMware ESX/ESX i Server, itrix XenServer, Oracle VM Server, 썬의 xVM Server, 마이크로 소프트의 Hyper-V, Virtual Iron Virtual Iron, Parallels Parallels Server등이 있습니다하이퍼바이저(Hypervisor)형 가상화에는 전가상화와 반가상화로 나뉩니다.

 

 

(a) 전가상화(Full-Virtualization)

전가상화는 게스트 OS(Guest OS)와 네이티브 하드웨어(Native Hardware) 사이를 중재하는 가상 머신을 사용합니다. VMM(Virtual Machine Monitor)이 게스트 OS와 기반 하드웨어 사이를 중재하기 때문에 보호를 받고 있는 특정 명령어들은 기반 하드웨어를 OS가 소유한 것이 아니라 하이퍼바이저를 통해서 공유되기 때문에 하이퍼바이저 내에서 트랩핑과 핸들링이 되어야합니다전체 가상화는 하드웨어 에뮬레이션보다는 빠르지만 하이퍼바이저 중재 때문에 실제 하드웨어 보다 성능이 낮아집니다.

 

일반적인 응용 프로그램에서는 하이퍼바이저를 거치지 않고 바로 실행이 되지만, OS 레벨의 명령은 Binary Translation을 거쳐 하이퍼바이저를 통해서 하드웨어로 전달이 됩니다. Gust OS는 커널을 수정하지 않아도 되며하이퍼바이저의 존재 또한 모릅니다. OS 레벨의 명령은 하이퍼바이저에서 담당하며이를 변환(Binary Translation)하여 하드웨어로 전달하게 됩니다.

 

전가상화 개념도 ]

 

전가상화는 하드웨어를 완전히 가상화하는 방식으로 게스트 OS에 대한 수정이 필요없고, Windows에서 Linux까지 다양한 OS를 이용할 수 있다는 장점이 있습니다단점은 OS 레벨의 명령 수행시에는 Binary Translation이 발생하는데이 과정에서 상당한 오버헤드가 발생합니다이러한 이유로 가상화 되지 않은 시스템에 비해서 성능저하가 발생합니다.

 

 

(b) 반가상화(Para-Virtualization)

전가상화와 유사한 부분이 많습니다차이점은 Guest OS의 커널이 하이퍼바이저에 맞게 수정을 해야 합니다반가상화는 전가상화와 마찬가지로 일반적인 명령어는 하이퍼바이저를 거치지 않고 바로 실행이 되며, OS 명령어의 경우에는 하이퍼바이저에 전달이 되지만 바이너리 전환(Binary Translation)이 발생하지 않으며이로 인하여 재컴파일이나 트래핑(trapping)을 할 필요가 없습니다.

 

반가상화의 장점은 바이너리 전환(Binary Translation)이 발생하지 않으며가상화 되지 않은 시스템과 동일한 성능을 낸다는것입니다반가상화 단점으로는 반가상화를 실현하기 위해서는 게스트 OS의 커널 일부분을 수정해야 한다는 점입니다따라서 윈도우와 같이 소스 공개가 되어있지 않은 OS의 경우에는 Guest OS로 사용할 수 없습니다.

 

반가상화 개념도 ]

 



중앙 처리 장치(CPU), 기억 장치입출력 등 단일 플랫폼상의 서버 자원을 사용자가 여러 도메인이나 서버 애플리케이션으로 분할해 사용할 수 있는 기술입니다서버 가상화의 장점은 물리적으로 1대의 시스템상에서 각기 다른 OS의 서버 애플리케이션을 효율적으로 운영 가능하며 비용 절감 및 서버 자원의 효율적인 활용이 가능합니다.

 

서버 가상화를 통하면 CPU나 서버 등 물리 자원에 얽매이지 않고 가상의 단위로 분리하여 시스템을 활용할 수 있습니다예를 들어 한 대의 서버를 여러 대의 서버가 있는 것처럼 나누어 각기 다른 운영체제를 올려 활용하거나 여러 대의 서버를 한대의 서버처럼 활용할 수 있기 때문에 자원 활용률을 높일 수 있고 관리의 편의성도 크게 향상할 수 있습니다.

 

서버 가상화를 통해 구현할 수 있는 강점은 서버 통합으로 서버 활용도를 높일 수 있다는 것입니다일반적인 데이터 센터는15% 정도의 낮은 활용도를 보입니다이 때문에 활용도를 개선하는 것이 불 필요한 데이터 센터 서버 확장을 줄일 수 있는 방법입니다서버 가상화 기술은 운용 체계와 물리적 하드웨어를 분리시켜 구동함으로써 다양한 OS 인스턴스들을 하나의 물리 서버에서 실행할 수 있도록 합니다이를 통해 하나의 서버에 다양한 애플리케이션들을 구동할 수 있도록 하여 서버 수용량을 최적화하고 데이터 센터 내에 필요한 서버 수를 줄일 수 있습니다최근에는 간편한 애플리케이션 배포프로비저닝 및 인프라스트럭처의 관리까지 포괄적으로 포함되어 있는 통합 솔루션이 시장에 나와 있습니다.

 

서버 가상화의 단점으로는 고객의 운영 툴과 스토리지 공유장비신규서버 등 초기 도입 비용이 비쌉니다서버 가상화의 다양한 방식으로는 하드웨어를 파티션으로 나누어 각기 다른 OS를 설치하는 방식과 다중 OS와 하드웨어 사이에 가상화의 계층을 두는 방식등이 있습니다.

 

서버 가상화 ]



데스크톱 가상화는 애플리케이션 가상화에서 한 발 앞서 나간 이야기입니다. VDI(Virtual Desktop Infrastructure)는 서버에 아예 통째로 클라이언트 OS 환경 자체를 올려놓고 이를 원격의 단말을 통해 활용하는 것입니다광의의 SBC(Server Based Computing) 라고 할 수 있습니다서버 가상화처럼 서버를 가상화하여 여러 개의 가상 머신들을 만드는데이 가상 머신에 서버 OS들을 설치하는 것이 아니라 클라이언트 OS, 즉 윈도7, 윈도XP, 리눅스 등을 설치합니다사용자는 원격의 PC나 노트북에서 이곳에 접근하여 활용합니다사용자가 접속하는 PC는 고사양 또는 저사양을 가릴 필요가 없습니다여기까지는 프리젠테이션 가상화와도 매우 유사합니다차이점은 최종 사용자의 입장에서는 VDI는 마치 자기 PC를 사용하듯이 모든 데스크톱 환경을 영유하는 것입니다.

 

IT 조직에 있어 데스크탑의 관리는 시간과 비용이 많이 소모되는 일상적인 작업입니다그러나 데스크탑 가상화는 가상화 기술을 통해 데이터 센터로부터 최신 데스크탑 환경을 보다 손 쉽게 업그레이드 할 수 있습니다관리 측면에서 비용을 절감하면서 사용자에게 더욱 빠른 지원이 가능하다는 장점이 있으며사용자들 또한 일일이 지원을 기다릴 필요 없이 최신의 데스크탑 환경을 유지하면서 업무에 집중할 수 있게 됩니다.

 

가상 데스크탑 시스템 개념도]



애플리케이션 가상화는 애플리케이션 자체를 가상화 운영체계와 묶어서 서버에 가지고 있다가 이 애플리케이션을 사용하기 원하는 PC나 다른 서버에 애플리케이션 자체를 전송합니다애플리케이션 가상화에서 이용하고자 하는 애플리케이션은 가상 시스템 파일가상 레지스트리를 가진 가상 OS(Virtual OS)와 하나로 패키징됩니다이를 샌드박싱한다고 하는데샌드박싱에 의해 가상화된 애플리케이션은 해당 클라이언트 또는 해당 서버로 내려와서 그 곳의 자원을 활용하여 실행됩니다.

 

예를 들어 MS 파워포인트를 애플리케이션 가상화 환경에서 이용하게 되면 이 MS 파워포인트는 VOS(Virtual OS)와 결합한 상태로 요청되는 사용자에게 보내집니다따라서 실행되는 PC, 서버의 하드웨어 자원은 애플리케이션을 구동할 수 있는 정도의 사양은 확보해야 합니다관리자의 설정에 따라 작업 종료후에도 애플리케이션이 PC나 서버에 남아 있을 수도 있고제거될 수도 있습니다.

 

인터넷에 애플리케이션 가상화 관련 자료를 검색하다보면애플리케이션 가상화와 프리젠테이션 가상화를 같은 의미로 설명하는 곳이 있는데서로 다른 의미를 가지고 있습니다먼저애플리케이션 가상화는 서버에서 사용자 PC로 애플리케이션이 다운로드되어 실행되는 것이고프리젠테이션 가상화는 애플리케이션을 중앙 서버에 설치하고 가상의 인터페이스만 네트워크를 통해 보내는 기술입니다사용자가 애플리케이션을 사용하면서 키보드를 입력하거나 마우스를 클릭한 정보가 네트워크를 통해서 서버로 보내지게 되며스크린은 사용자 디바이스에 업데이트된 정보를 전달하게 되어 실제로는 어떠한 데이터도 사용자 디바이스에서 저장되지 않는 형태입니다.

 

프리젠테이션 가상화는 N(클라이언트) : 1(서버)로 구성이 된다면애플리케이션 가상화 환경에서는 1(클라이언트) : 1(서버)로 구성이 된다는 것입니다프리젠테이션 서버즉 과거 SBC 환경에서 가상화가 공유에 초점을 맞췄다면애플리케이션 가상화는 보안과 사용자별 독립성을 보장하는 가상화입니다프리젠테이션 가상화 환경에서는 사용하는 애플리케이션에 장애가 일어날 경우 다른 사용자도 사용할 수 없게 됩니다하지만 애플리케이션 가상화에서는 이러한 한계가 없습니다.

 

 

 □ 특징 및 장점

업무연속성/

생산성/

인프라스트럭처 최적화

Any device, anywhere

신규업무 적용 및 장애발생시 표준화된 신규시스템의 신속한 구축

사용자 시스템 이해도가 낮아도 쉽게 운영 가능

관리의 용이성

업무 프로그램의 손쉬운 관리유지통제

장비 및 애플리케이션 플랫폼에 관계없이 사용가능

애플리케이션 업그레이드 및 신규 애플리케이션의 쉬운 배표

보안/

규제준수/

재해복구관리

데이터 중앙관리에 따른 중요문서 보안 및 문서 유출 원천 차단

애플리케이션 감사 기능(사용자 세션 녹화)

문서에 대한 개인별 백업이 필요치 않으며재해 복구에 대해 중앙에서 관리

비용절감/

그린IT

Desktop Lifecycle 증가로 인한 PC 교체주기 증가관리비용 감소소프트웨어 관리 용이

ROI증가/TCO감소 : 데이터 손실 및 유출로 인한 비용손실, IT관리비용 감소

네트워크 대역폭 감소로 인한 비용 감소(실제 데이터값이 전송되지 않음)

Thin Client 운영시, PC환경 대비 최대 80~90%전력비용 감소

 



가상화(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 아키텍처)에 가까우며여기에는 아키텍처가격파트너링관리 특성이 포함됩니다.

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



판별 분석은 두 개 이상의 모 집단에서 추출된 표본들이 지니고 있는 정보를 이용하여 이 표본들이 어느 모집단에서 추출된 것인지를 결정해 줄 수 있는 기준을 찾는 분석법을 말합니다예를 들면은행에서 부동산 담보 대출을 행하고자 할 경우 채무자가 대출금을 갚을 것인가그렇지 않을 것인가여부는 은행 입장에서는 중요한 관심사가 됩니다이 경우 과거에 대출금을 반환치 않은 사람의 정보 유형(연령소득결혼 유무 등)을 참고하여 담보 신청시 신청자의 정보 유형을 과거의 유형과 비교하여 장래 변제 가능성을 파악할 수 있습니다.

 

 

판변 분석의 기초 개념

 

 판별변수 (discriminant variable)

판별변수는 어떤 집단에 속하는지 판별하기 위한 변수로서 독립 변수중 판별력이 높은 변수를 뜻합니다판별변수를 선택하는 데 판별 기여도 외에 고려해야 할 사항은 다른 독립변수들과의 상관관계입니다상관관계가 높은 두 독립변수를 선택하는 것보다는 두 독립변수 중 하나를 판별변수로 선택하고그것과 상관관계가 적은 독립변수를 선택함으로써 효과적인 판별함수를 만들 수 있습니다.

 

 판별함수 (discriminant function)

판별함수는 판별변수들의 선형조합으로 집단의 수 1’과 독립변수의 수 중 작은 값만큼 도출할 수 있습니다판별함수의 목적은 종속변수의 집단을 정확하게 분류할 수 있는 예측력을 높이는 데 있습니다판별분석은 정준상관분석의 특별한 형태이므로 판별함수를 정준판별함수(anonical discriminant function)라고도 부릅니다.

 

판별분석이 이용되기 위해서는 각 개체는 여러 집단중에서 어느 집단에 속해 있는지 알려져 있어야 하며소속집단이 이미 알려진 경우에 대하여 변수들을 측정하고 이들 변수들을 이용하여 각 집단을 가장 잘 구분해 낼 수 있는 판별식을 만들어 분별하는 과정을 포함하게 됩니다또한판별 함수를 이용하여 각 개체들이 소속집단에 얼마나 잘 판별되는가에 대한 판별력을 측정하고새로운 대상을 어느 집단으로 분류할 것이냐를 예측하는 데 주요 목적이 있습니다.

 

 판별점수 (discriminant score)

판별점수는 어떤 대상이 어떤 집단에 속하는지 판별하기 위하여 그 대상의 판별변수들의 값을 판별함수에 대입하여 구한 값을 뜻합니다.

 

 표본의 크기

전체 표본의 크기는 독립변수의 개수보다 3(최소 2이상 되어야 합니다.

종속변수의 집단 각각의 표본의 크기 중 최소 크기가 독립변수의 개수보다 커야 합니다.

 

표본의 크기를 고려할 때에 전체 표본뿐만 아니라 종속변수의 각 집단마다 충분한 크기의 표본을 확보하여야 합니다이는 판별력을 좌우하는 것이 전체 표본의 수가 아니라 가장 적으로 집단의 표본수이기 때문입니다.

 

 

판변 분석의 단계

① 케이스가 속한 집단을 구분하는데 기여할 수 있는 독립 변수를 찾습니다.

② 집단을 구분하는 기준이 되는 독립 변수들의 선형 결합 즉 판별 함수를 도출합니다.

③ 도출된 판별 함수에 의한 분류의 정확도를 파악합니다.

④ 판별 함수를 이용하여 새로운 케이스가 속하는 집단을 예측합니다.

 

 

판별 분석의 계산 논리

판별 분석은 독립 변수의 생리학적 특성심리학적 특성사회·경제학적 특성을 바탕으로 불 확실한 의사 표명을 한 종속 변수의 의사 결정 방향이 어느 쪽으로 선택할 것인지를 분석해주는 통계 분석 기법입니다따라서 판별 변수는 주어진 독립 변수의 특성을 바탕으로 종속 변수의 변화와 판단의 방향을 예측하는 것이기 때문에 독립변수의 선별이 무엇보다도 중요합니다다음은 독립 변수의 특성을 함수 관계로 규정하여 그 함수중 어느것이 종속 변수의 변화에 영향을 미치는가를 가려주는 판별 분석의 공식입니다.

 

 

판별함수 (Discriminant function)

 

Z: 판별점수β0: 판별상수X1, X2, …, Xp: 판별변수β1, β2, …, βp판별계수

 

판별 분석에 사용되는 종속변수는 판단의 방향을 의미하는 변수이기 때문에 변수값이 제한적이거나 두개 정도여야 합니다그러나 독립변수는 성향에 관계없이 사용할 수 있습니다종속변수의 값이 두개 정도이거나 제한적인 경우 어떤 독립변수가 종속변수에 가장 큰 영향을 미칠 것인지에 대해서 분석의 도구로 사용되기도 합니다판별점수의 집단간 변동과 집단내 변동의 배율을 최대화하는 판별함수를 도출해야 합니다.

 

독립 변수가 2개인 경우의 판별 함수 ]

 

 

판별분석의 주요개념

 

 평균값

판별분석에서는 일차적으로 종속변수의 값이 정해져 있는 사례수에 대한 평균값을 계산합니다그 후 평균값이 정해진 사례수의 판별함수를 구한 후에 구체적인 성향이 나타나지 않은 종속변수의 값을 예측 판단합니다그러나 이러한 기술 통계는 단순한 추축을 위해서 사용할 뿐 어떠한 통계적 의미는 없습니다.

 

 윌크스의 람다(Wilk’s lambda)

Wilks의 람다값은 종속변수의 변수값을 기준으로 분류된 각 독립변수의 평균값이 어느 정도 차이가 나는지에 대해서 분석하는 통계값입니다. Wilks의 람다값의 공식은 다음과 같습니다.

 

Wilk’s 람다값 = 집단내 제곱 합 / 전체의 제곱 합

 

독립 변수에 대한 람다값이 1이면 종속 변수의 평균값이 동일하다는 의미이고람다값이 작으면 종속변수의 평균값 차이가 크다고 해석합니다판별 분석에서는 람다값이 크면 사례수의 성향이나 형태에 대한 추론을 정확하게 예측할 수 없으므로람다값이 작으면 판단 예측력이 높다고 해석할 수 있습니다판별분석은평균값이 차이가 많이나야 미지의 사례수 방향을 충분히 예측할 수 있기 때문입니다.

 

 고유값과 에타값

고유값(Eigenvalue)은 판별함수가 어느 정도로 설명력이 있는지에 대한 내용을 분석하는데 사용하는 통계값입니다고유값 공식은 집단간 제곱합 / 집단내 제곱합입니다고유값이 크면 판별함수의 설명력이 높고작으면 판별함수의 설명력이 약하다고 해석합니다일반적으로 고유값이 4.0이상이면 어느 정도의 예측 설명력을 가진다고 볼수 있습니다또한 판별함수가 두개 이상 도출될 때 고유값이 큰 함수가 설명력이 높습니다.

 

에타는 판별점수와 종속변수 사이의 상관관계를 나타내는 통계값입니다에타값은 0에서 1사이에 위치하고 있는데이 값이 높으면 판별함수와 종속변수 사이의 상관관계가 밀접하기 때문에 판별함수의 설명력이 높아집니다.

 

 판별함수의 종류값

판별함수의 종류에는 비 표준화된 판별함수의 계수(Unstandardized canonical discriminant function cofficients)와 표준화된 판별함수의 계수(Standardized canonical discriminant function cofficients)가 있습니다.

 

비 표준화된 판별함수의 계수는 판단이 불확실하고 유보된 사례수의 성향을 판정하는데 사용합니다또한 성향이 이미 주어진 사례수의 성향이 잘못 분류되었는지 아닌지를 판별합니다표준화된 판별함수의 계수는 복수의 독립변수 중에서 종속변수와 가장 밀접하게 관계가 있는 것이 어떤 변수인지를 분석하는데 사용합니다판별함수가 다수인 경우 Wilk’s의 람다값이나 에타값을 비교하여 현실 사회를 보다 잘 설명할 수 있는 함수를 선택하면 미지의 종속변수의 성향을 정확하게 예측할 수 있습니다.



군집 분석은 각 개체의 유사성을 측정하여 높은 대상 집단을 분류하고군집에 속한 개체들의 유사성과 서로 다른 군집에 속한 개체간의 상이성을 규명하는 통계 분석 방법입니다비슷한 특성을 가진 개체를 합쳐가면서 최종적으로 유사 특성의 그룹을 발굴하는데 사용됩니다예를 들어 트위터 상에서 주로 사진과 카메라에 대해 이야기하는 사용자 그룹이 있을 수 있고자동차에 대해 관심 있는 사용자 그룹이 있을 수 있습니다이러한 관심사나 취미에 따른 사용자 그룹을 군집 분석을 통해 분류할 수 있습니다.

 


군집 분석의 예 ]

 

군집 분석에서 군집을 분류하는 가장 기본적인 가정은 군집 내에 속한 객체들의 특성은 동질적이고서로 다른 군집에 속한 객체들간의 특성은 서로 이질적이 되도록 각각의 객체를 분류해야 한다는 것입니다개별 군집의 특성은 각 군집에 속한 구성원의 평균값으로 나타낼 수 있으며이를 그 집단의 프로필이라고 합니다따라서 군집 분석의 알고리즘은 군집 내 구성원의 동질성과 군집 간 구성원의 이질성을 최대화하는 방법이 됩니다.

 

개별 군집의 특성 ]

 

군집 분석에 있어서 어려운 문제 중의 하나는 다음 그림에서와 같이 군집의 형태가 매우 다양하다는 점입니다우선 (a)처럼 각 군집이 구형인 경우에는 대부분의 군집 방법들이 만족할 만한 결과를 제공하지만, (b)와 같이 군집의 모양이 긴 경우 개체들 사이의 거리를 단순히 유클리드 거리로 측정하면 잘못된 결과를 얻게 됩니다개체 B C와 같은 군집에 속하는 데에도 불구하고 유클리드 거리상 A와 더 가깝다고 판정하게 됩니다또한, (c)의 경우에서는 개체 A B가 두 군집 사이의 고리 역할을 하여 군집 방법에 따라서는 하나의 군집으로 결론지을 수도 있게 됩니다.

 

 


 

 

군집 분석의 유사성 계산

군집 분석의 목적은 관찰치들의 유사성을 측정한 후에 가까운 순서대로 관찰치들을 군집화 하는 것입니다두 관찰치의 유사성 측정은 방법에 따라 거리와 유사성으로 구분할 수 있습니다.

 

거리는 값이 작을수록 두 관찰치가 서로 유사한 것을 의미한다.

유사성은 값이 클수록 두 관찰치가 서로 유사함을 의미한다.

 

 거리의 척도

두 개체 사이의 거리를 구하는 종류는 일반적으로 다음과 같습니다.

 

■ 유클리드 거리

일반적으로 군집 분석에서는 고객 혹은 분석 대상간의 유사성을 유클리디안 거리로 측정하고 있습니다이차원 공간에서 두 점간의 거리는 피타고라스 정리에 의하여 쉽게 구할 수 있으며 이렇게 구한 거리를 유클리디안 거리라고 합니다.

 


 

■ Mahalanobis 거리


 

■ Minkowski 거리

유클리디안 거리의 일반화된 경우로 p는 양의 정수로 디폴트 값은 2이다.


 

 

 유사성의 척도

두 개체의 유사성 (Similarity)

 는 일반적으로 두 개체에 대한 변수들 사이의 상관 계수를 많이 사용하며 그 식은 다음과 같다.


 

 

 

군집 분석의 종류

 

군집분석의 종류는 대상을 어떻게 분석할지에 따라서 다음과 같이 분류할 수 있습니다.

 

군집 분석의 종류 ]

 

그럼 계층적 군집 분석비 계층적 군집 분석중복 군집 분석을 하나씩 살펴보도록 하겠습니다.

 

 

 계층적 군집 분석 (Hierarchical Clustering Method)

개별 대상간의 거리에 의하여 가장 가까이에 있는 대상들로부터 시작하여 결합해 감으로써 나무 모양의 계층구조를 형성해가는 방법으로 덴드로그램을 그려줌으로써 군집이 형성되는 과정을 정확히 파악할 수 있으나 자료의 크기가 크면 분석하기가 어렵습니다.

 

■ 최단 연결법(Single Linkage Method)

최단 거리는 다음과 같이 정의합니다.


 

두 군집 U V사이의 거리  를 각 군집에 속하는 임의의 두 개체들 사이의 거리 중 최 단거리로 정의하여 가장 유사성이 큰 군집을 묶어 나가는 방법입니다이러한 최단 연결법은 수리적인 면이 매우 우수하며이에 따라 컴퓨터 처리 시간이 비교적 빠릅니다또한 자료에 대한 단조 변환에 대하여 나무 구조가 불변하기 때문에 순서적 의미를 갖는 자료에 대하여 좋은 결과를 제공합니다그러나 두 군집이 몇 개의 개체들로 연결된 고리현상이 있을 경우 부 적절한 결과를 낳게 됩니다.

 

 

■ 최장 연결법(Complete Linkage Method)

최장 거리는 다음과 같이 정의합니다.


 

두 군집 U V사이의 거리  를 각 군집에 속하는 임의의 두 개체들 사이의 거리 중 최장거리로 정의하여 가장 유사성이 큰 군집을 묶어 나가는 방법입니다이와 같은 최장 연결법은 앞의 최단 연결법과는 대조적인 관계가 있습니다일반적으로최단 연결법이 고립된 군집을 찾는데 유용하다면최장 연결법은 군집들의 응집성에 중점을 둔다고 하겠습니다이런 점에 대한 보완 방법으로써 중심 연결법중위수 연결법평균 연결법 등이 제안되었습니다.

 

 

■ 평균 연결법(Average Linkage Method)

크기가 각각  인 두 군집 U, V사이의 거리를각 군집에서 하나씩의 개체를 택해 연결한 모든 가능한  가지의 거리  의 평균을 다음과 같이 정의합니다.


 

두 군집 U V 사이의 거리  를 각 군집에 속하는 모든 개체들의 평균 거리로 정의하여 가장 유사성이 큰 군집을 묶어 나가는 방법입니다.

 

 

■ 중심 연결법(Centroid Linkage Method)

U의 평균을  라고 표기하고 P를 두 군집 사이의 유클리드 거리와 같은 비 상사성척도라 하면 두 군집 U, V 사이의 거리는 다음과 같이 정의됩니다.


 

두 군집 U의 중심점과 군집 V의 중심점 사이의 거리를 두 군집 사이의 거리로 정의하여 가장 유사성이 큰 군집을 묶어 나가는 방법입니다.

 

 

■ 중위수 연결법(Median Linkage Method)

두 군집 U V사이의 거리  를 각 군집에 속하는 임의의 두 개체들 평균을 합하여 2로 나눈 값(군집의 크기를 고려하지 않은 단순 평균)을 근간으로 정의하여 가장 유사성이 큰 군집을 묶어 나가는 방법입니다.

 

 

 

 비 계층적 군집 분석 (Non-Hierarchical Clustering Method)

구하고자 하는 군집의 수를 정한 상태에서 설정된 군집의 중심에 가장 가까운 개체를 하나씩 포함해 가는 방식으로 군집을 형성해가는 방법입니다많은 자료를 빠르고 쉽게 분류할 수 있으나 군집의 수를 미리 정해 주어야하고군집을 형성하기 위한 초기값에 따라 군집 결과가 달라지는 단점이 있습니다.

 

비 계층적 군집 방법으로 가장 널리 쓰이고 있는 방법은 K-means 군집화방식입니다. K-means 군집화 방식은 순차적으로 군집화 과정이 반복되기 때문에 순차적 군집 분석이라고 합니다. K-means 군집화 방식은 계측적인 군집화의 결과에 의거하여 미리 군집의 수를 정해야 하며 군집의 중심(Cluster center)도 정해야 합니다이 방법은 군집의 수를 미리 정하고 각 개체가 어느 군집에 속하는지를 분석하는 방법으로 대량의 데이터의 군집 분석에 유용하게 이용되는 방법입니다.

 

 

■ 순차적 군집 분석법(Sequential Threshold Method)

군집의 중심이 정해지고 사전에 지정된 값의 거리 안에 있는 모든 관측 대상들은 같은 군집으로 분류됩니다한 군집이 형성되고 난 다음에 새로운 군집의 중심이 결정되면 이 중심을 기준으로 일정한 거리 안에 있는 모든 관측 대상이나 속성은 또 다른 군집으로 분류하게 됩니다이러한 과정은 모든 관측 대상이 최종적으로 군집화 될 때 까지 계속 반복 됩니다.

 

 

■ 동시 군집 분석법(Paralleled Threshold Method)

사전에 지정된 값 안에 관측 대상이나 속성이 속하는 경우나 몇 개의 군집이 동시에 결정되는 경우를 말합니다.

 

 

■ 최적할당 군집 분석법(Optimizing Partitioning Method)

사전에 주어진 군집의 수를 위한 군집 내 평균거리를 계산하는 최적화 기준에 의거하여 최초의 군집에서 다른 군집으로 다시 할당될 수 있습니다.

 

 

 

 중복 군집 분석

몇 개의 군집화 규칙을 상이하게 적용하여 군집화하는 방법으로 하나의 객체가 여러 군집에 포함 될수 있습니다.

 

 

군집 분석(Clustering analysis) vs 판별 분석(Classification analysis)

판별 분석은 소속 집단을 알고 있는 상태에서 데이터들을 이용하여 모형을 만들고이 모형을 통해서 소속 집단을 모르는 데이터 집단을 결정하는 기법이며군집 분석은 여러 집단의 데이터들이 섞여 있어서데이터의 소속 집단을 모르는 경우 유사성을 통하여 데이터의 군집을 찾는 기법입니다.

 

판별 분석과 군집 분석은 관측값을 분류한다는 점에서는 공통점을 가지나판별 분석은 관측된 자료로 모형을 만들고 새로운 자료가 들어올 때 분류를 하는 분석 방법이고군집 분석은 유사성이 높은 데이터들을 분류하여 군집을 만드는 분석 방법입니다.

+ Recent posts