블로그 이미지

I think I can

Technical M.S.P 전찬주 입니다. by 작은아이! Creative Commons License


'플랫폼'에 해당되는 글 2건

  1. 2008/08/27 미래를 여는 가상화 기술(4)
  2. 2008/07/15 Open API(4)

미래를 여는 가상화 기술

사용자 삽입 이미지
가상화라는 말을 처음 들으면 가상현실과 같이 SF 영화나 소설에 나올법한 이미지가 떠오릅니다. 하지만 가상화라는 개념은 상당히 오래전부터 사용되고 있던 개념이며 많은 발전을 통해서 이미 실생활에서도 쓰이고 있는 개념입니다. 지금부터 이번 주제인 가상화에 대해 조금 더 자세히 알아보도록 하겠습니다.

현실의 가상화

일반적으로 가상화는 한 대의 컴퓨터 시스템에서 여러 개의 운영체제를 함께 운용할 수 있도록 지원하는 기술을 의미합니다. 이러한 개념이 유닉스를 통해서 서버로 그 영역을 넓혀나갔고 이후에 가상화는 서버 시장의 메인 트렌드로 자리잡게 되었습니다. 그 결과 서버와 마찬가지로 인프라 자원에 해당하는 저장장치 뿐만 아니라 어플리케이션, 테스크톱, 임베디드에 이루는 IT의 전 영역에 가상화의 개념이 도입되기 시작했습니다.

각 영역에 따라 가상화의 개념은 조금씩 다를 수 있지만 '물리적인 한 개의 자원을 논리적으로 분할해 효율적으로 사용하거나, 물리적으로 다른 다수의 자원을 논리적으로 통합하는 기술'이라는 관점에서 모두 비슷합니다. 다시 말하면 물리적으로 실제 존재하는 자원을 논리적 형태로만 나타낼 수 있도록 하는 기술이라고 할 수 있습니다. 가상화 기술의 핵심은 자원을 이용하는 이들이 어떤 자원들이 실제 사용되는지를 구체적으로 알 필요가 없도록 하는 데 있습니다. 예를 들면, 물리적인 하드디스크를 논리적인 개념인 파티션으로 나누어서 사용하는 것을 말할 수 있습니다.

이미 말한 것처럼 가상화 개념은 오래전부터 사용되고 있는 개념입니다. 우리가 컴퓨터를 사용하면서 필수적으로 사용하는 운영체제에도 가상화의 개념이 적용되어 있습니다. 바로 파일시스템을 예로 들 수 있습니다. 물리적 저장장치인 하드디스크를 운영체제에 맞는 파일시스템으로 바꾸어서 물리적인 인식을 하지 않고 사용하는 것입니다. 하나의 하드디스크라고 해도 파티션을 나누어서 마치 두 개의 하드디스크처럼 사용할 수 있습니다.

사용자 삽입 이미지

가상화의 분류

가상화는 플랫폼 가상화와 리소스 가상화로 나눌 수 있습니다. 플랫폼 가상화는 모든 컴퓨터를 시뮬레이트 하는 것을 의미하며, 리소스 가상화는 결합된 리소스나 단편화된 리소스 또는 단순화된 리소르를 시뮬레이트 하는 것을 의미합니다.

플랫폼 가상화하드웨어와 소프트웨어를 결합하는 가상 머신을 만들어내는 것을 말합니다. 플랫폼 가상화는 주어진 하드웨어 플랫폼 위에서 제어 프로그램, 곧 호스트 소프트웨어를 통해 실행됩니다. 호스트 소프트웨어는 호스트 아래의 게스트 소프트웨어에 맞추어 가상 머신이라는 시뮬레이트된 컴퓨터 환경을 만들어 냅니다. 게스트 소프트웨어는 보통 완전한 운영체제를 말하며 마치 독립된 하드웨어 플랫폼에서 실행되는 것과 동일하게 동작합니다. 하나의 물리 컴퓨터 위에서 많은 가상 컴퓨터들을 운영할 수 있으나 호스트 하드웨어의 리소스에 제한을 받게 됩니다. 게스트 운영체제에서 호스트 하드웨어에 대한 접근은 인터페이스를 통해서 접근하게 됩니다. 이와 같은 프로그램의 종류로는 vmware의 vmware나 SUN에 인수된 virtualbox, Microsoft의 Virtual PC가 있습니다.

리소스 가상화는 플랫폼 가상화에서 확장된 개념으로 리소스 집합, 측정, 또는 연결의 구성요소를 더 큰 리소스나 리소스 더미로 결합하는 것을 의미합니다. 예를 들면 가상 메모리, RAID와 논리 볼륨 관리, 저장 장치 가상화, 채널 결합, 가상 사설 네트워크(VPN), 가상 주소 번역(NAT), 컴퓨터 클러스터, 그리드 컴퓨팅 등이 있습니다.

사용자 삽입 이미지

적용 분야, 그리고 이점

- 서버 가상화
가장 일반적인 가상화 기술로 꼽히는 영역입니다. 가상화라고 하면 서버 가상화를 의미하는 경우도 많습니다. 서버 가상화는 하나의 시스템 상에 각기 다른 운영체제의 다양한 서버 어플리케이션을 사용할 수 있도록 하는 기술입니다. 즉, 하나의 물리적인 서버를 여러 개의 나눠 다양한 운영체제를 구동하는 파티셔닝을 생각하면 이해하기 쉽습니다. 현재 VM웨어와 IBM, 마이크로소프트웨어, 썬 등이 서버 가상화와 관련된 솔루션을 제공하고 있습니다.

- 스토리지 가상화
서버 가상화와 함께 인프라 차원의 가상화를 의미하는 것으로 스토리지 시스템의 복잡성을 해결하면서 스토리지 통합을 지원하는 기술을 말합니다. 물리적인 저장 공간을 논리적인 저장 공간으로 재분배하여 물리적인 장치의 구성과 용량 배분을 서버와 어플리케이션에 관계없이 할당하도록 지원합니다. 스토리지 가상화의 이점은 가용성과 관리 용이성이 향상되고 용량 대비 비용이나 I/O 성능이 개선되는 효과도 얻을 수 있습니다. EMC와 히타치데이터시스템, IBM, 시만텍 등이 이 분야의 솔루션을 제공하고 있습니다.

- 애플리케이션/데스크톱 가상화
애플리케이션 가상화는 중앙의 서버가 모든 윈도우 애플리케이션을 중앙의 데이터센터에 따로 저장해 두고, 이를 이용자의 요청이 있을 때 스트리밍 형태로 전달하는 것을 말합니다. 즉 애플리케이션의 저장 위치는 서버가 되고, 사용자에게는 보여지는 부분만 전달되는 것입니다. 데스크톱 가상화는 이보다 더 범위가 넓은 개념으로 하나의 애플리케이션 수준이 아니라 운영체제 환경 자체를 서버에서 지원하는 형태입니다. 젠소스를 인수한 시트릭스시스템즈가 이 두 가지 가상화에 주력할 계획임을 밝혔습니다. 데스크톱 가상화와 같은 경우에는 이미 웹2.0이 발전하면서 웹상에서 가상의 데스크톱 환경을 만들어주는 서비스들이 많이 생겨나고 발전하고 있습니다.

- 임베디드 가상화
전력 소모율이나 제품 크기, 생산 단가 등과 같이 하드웨어적인 제약을 지난 임베디드 분야에서는 게스트 운영체제라고 부르는 여러 개의 운영체제가 싱글코어나 멀티코어에서 동시에 동작하도록 구현하는 것을 가상화라고 하고 있습니다. 최근 모바일 장치가 점차 복잡해지면서 다수의 운영체제를 운용할 필요가 높아졌고, 이들 운영체제가 독립적이면서 효과적으로 통신을 하도록 가상화 기술이 적용되고 있습니다. 버추얼로직스의 실시간 가상화 기술이 대표적인 솔루션으로 알려져있습니다.

- 인포메이션 가상화
일반적인 데이터 가상화를 확대한 개념으로 데이터 가상화를 통해 데이터나 데이터들이 지닌 가치를 비지니스에 쉽게 적용할 수 있는 단계로 발전시킨 것을 의미합니다. 인포메이션 가상화는 데이터 가상화뿐만 아니라 파일시스템 가상화도 포함하고 있으며, 그 개념 및 정의는 IBM에 의해 이해하기 쉽도록 잘 정립되어 있습니다.

사용자 삽입 이미지

* 참고자료: special report, 가상화에 부는 새 바람 (마이크로소프트웨어) / Daum 사전, 가상화

rss

Comment 4 Trackback 0
  1. BlogIcon 미쉘린 2008/08/28 02:01 address edit & delete reply

    웅 이거 VMWARE 같은 건가?
    도대체 이런건 어떤 천재들이 구상하고 만들어내는건지 참 궁금하다 ;;

    • BlogIcon agilist 작은아이! 2008/08/28 02:17 address edit & delete

      VMWARE도 가상화를 이용한 프로그램이죠.
      세상에는 천재가 참 많은거 같아요~ ㅋㅋ

  2. BlogIcon 꼬알라 2008/08/28 09:32 address edit & delete reply

    멋진글이시네요.. 또 다른글도 기대하겠습니다.^^

    • BlogIcon agilist 작은아이! 2008/08/28 10:11 address edit & delete

      감사합니다~ 참고자료 보면서 정리만 한거에요 ^^

Trackback : http://chanju.net/trackback/48 관련글 쓰기

Top

Open API

사용자 삽입 이미지

최근 인터넷에서 가장 많이 보이는 숫자는
2.0입니다. 웹2.0이 나오면서 웹을 통해서 제공되고 있던 서비스들마다 2.0이라는 버전을 달고 서비스 중입니다. 그러한 서비스들의 또 다른 특징이라고 하면 모두 beta 딱지를 계속해서 붙여둔다는 점입니다. 웹2.0은 기존의 웹과는 조금은 다른 특징을 보이는 웹을 말합니다. 어떠한 특징들이 있을까요?

플랫폼으로서의 웹, 데이터에 대한 데이터(메타데이터), 영원한 베타(지속적인 실험과 개선), 참여구조를 이용한 네트워크 효과, 다양한 플랫폼을 통합적으로 지원, 롱 테일 효과 등이 있습니다. 앞으로 알아볼 Open API도 웹2.0이라는 개념이 나오면서 생긴 트렌드라고 할 수 있습니다. 이는 플랫폼으로서의 웹을 나타냅니다. API는 Application Programming Interface로 기존에는 데스크탑 환경에서 사용하는 프레임워크에 공개된 API에 필요한 데이터를 넣으면 원하는 정보를 얻을 수 있는 형태로 프로그래밍을 할 수 있는 개념을 말합니다. Open API는 말 그대로 공개된 API로서 기존의 웹서비스에서 제공하는 데이터를 이용할 수 있는 API를 의미합니다.

웹에서 Mashup이라고 하면 이러한 Open API를 이용해서 하나의 서비스를 만들어내는 것을 말합니다. 그렇다면 이러한 Open API는 어떻게 이용할 수 있을까요? 보통 Open API를 제공하는 사이트에서는 Open API만을 위한 페이지를 따로 가지고 있습니다. 기본적인 문서부터 Open API의 종류를 찾아볼 수 있도록 되어있습니다. 여기에서 Open API를 사용하기 위해서는 보통 사용자 인증 Key를 받아야 합니다. 이 Key를 이용해서 API를 사용할 수 있습니다. 데이터를 이용해서 API를 이용하게 되면 그 결과를 RSS나 XML, JSON과 같은 XML 기반의 파일을 받아서 작업을 할 수 있습니다. 간단하게 그림을 통해서 구조를 보면 다음과 같습니다.
사용자 삽입 이미지

그렇다면 Open API는 어디에서 제공하고 있을까요? 우리가 자주 사용하는 사이트들에서 대부분 제공하고 있습니다. 그 종류는 사이트마다 조금씩 다르지만 점차 확대되고 있는 추세입니다. 네이버와 같은 경우에는 기본적으로 블로그, 카페, 쇼핑, 책 검색을 비롯해서 지도까지 제공하고 있습니다. 구글의 경우에도 이와 비슷하게 제공하고 있으며 이러한 포털사이트 이외에도 블로그 사이트들에서도 기본적으로 Open API를 제공하고 있습니다. 따라서, Live Writer와 같이 외부 프로그램을 통해서 블로그에 글을 쓸 수 있습니다.

Open API가 무엇인지는 대충 알겠는데 왜 쓰는지 모르겠다고요? Open API는 말 그대로 열린 서비스입니다. 이것을 이용하여 할 수 있는 일은 끝이 없습니다. 이미 좋은 아이디어들로 만들어진 Mashup 사이트들도 상당히 많이 있습니다. 외국의 경우에는 지도서비스와 부동산서비스를 합쳐서 인터넷으로 부동산 사이트을 만들기도 했습니다. 우리나라의 경우에는 미친토끼라는 사이트가 있습니다. 약속장소를 정하기 위한 서비스로 지도 API를 통해서 위치를 선택하고 약속시간과 함께 메세지로 전송하여 약속을 정할 수 있습니다.

아직까지 Open API를 지원하는 국내 사이트가 많지 않고 개발자 입장에서도 Open API를 많이 이용하고 있는 편은 아니지만 꾸준히 그 활용범위가 늘어날 것이라고 생각합니다. 이는 다음과 네이버에서 주최하는 매쉬업 경진대회를 통해서도 알 수 있습니다. 꾸준한 Open API 발전을 위해서 경진대회를 통해서 아이디어를 구현하도록 하고 있습니다. Open API로 펼치는 나만의 웹2.0 세상!! 신나지 않나요?

rss

Comment 4 Trackback 1
  1. BlogIcon happysphere 2008/07/16 00:39 address edit & delete reply

    너무 포스팅을 잘하시는 듯, 이해가 쏙쏙!

    • BlogIcon agilist 작은아이! 2008/07/16 05:37 address edit & delete

      정말 부족함이 많은데 과찬이십니다~
      그래도 이해가 잘 되셨다니 기분 좋네요!!
      앞으로도 웹2.0에 관한 글을 많이 쓸려고요 ^^

  2. BlogIcon funeasy 2008/07/18 00:21 address edit & delete reply

    (지금 찬주형이랑 네이트 대화중..) 말 나온김에 잘봤다는 도장 찍고 가요 ~ ㅋㅋㅋ

    • BlogIcon agilist 작은아이! 2008/07/18 00:34 address edit & delete

      (아까 재욱이랑 네이트 대화했음.) 댓글 달아줘서 고맙다는 ㅋㅋ 너의 P도 기대한다는 ^^

Trackback : http://chanju.net/trackback/11 관련글 쓰기

  1. 네이버 OpenAPI 초보자 가이드 - 개요와 소개

    BENEGLO BLOG | 2008/08/12 10:25 delete

    네이버는 OpenAPI라는 것을 지원합니다. OpenAPI란, 다른 프로그램에서 사용 가능하게 만들어진 함수입니다. Windows 의 API와 비슷하지만, OpenAPI는 인터넷에서 사용된다는 점에서 다릅니다.이번 포스트 연재에서는 네이버 OpenAPI의 사용법에 대해서 자세히 소개하려고 합니다. 이 포스트는 첫 번째 포스트로, 앞으로 연재될 포스트에 대한 소개를 하겠습니다.※ 여기의 네이버 OpenAPI 초보자 가이드는 NHN에서 제작한 PDF...

Top

prev 1 next