아키텍트2008. 12. 15. 23:52
MS 클라우드 컴퓨팅과 애저 서비스 플랫폼 이해

바로 위의 링크를 클릭하시면 원문을 보실 수 있습니다.
마이크로소프트의 클라우드 컴퓨팅, 애저 서비스 플랫폼에 대해 쉽게 이해하실 수 있도록 설명해봤습니다.

ZDNET 인기기사로 올라갔네요. ^^ (클릭하시면 보실 수 있습니다)

감사합니다.
Posted by 조이트리
IT Pro2008. 12. 3. 16:09

장애 조치(Fail Over)를 위한 클러스터링, 네트웍 로드 밸런싱(NLB)를 이용한 클러스터링 등 고가용성을 위해서 다양한 방식을 취할 수 있습니다. 가상화, 즉 Hyper-V를 사용하지 않고 물리적 서버들을 이용해서 클러스터링을 구성하거나, 로드밸런싱 하는 방식은 직관적으로 정해진 가이드를 따르면 됩니다. 그런데, 가상화 된 환경, 즉 호스트 서버(물리적 서버)와 가상 머신이 혼재된 상황에서의 클러스터링과 네트웍 로드 밸런싱은 이해하기가 쉽지 않습니다. 오늘은 이 부분을 좀 쉽게 정리해 보려고 합니다.

클라우드 컴퓨팅이 중요한 트렌드로 각광을 받고 있고, 그 기반 기술이 가상화 라는 것 아시죠? 이 가상화가 엔터프라이즈 및 중견 기업들의 인프라 구성에 큰 변화를 가져오고 있는 중입니다.

가상화의 가장 큰 장점은 물리적인 서버의 수를 줄일 수 있다는 것이고 결국 서버 구입 비용 절감, 전력 사용량 절감 등의 효과로 나타납니다. 고객들은 이러한 금전적인 이점 이외에도 LOB(Line of Business, 즉 ERP, SCM 등) 및 메시징 및 협업 소프트웨어 등의 가용성에 대해서도 향상되기를 원하고 있습니다. 가상화는 예를들면, 8대의 물리적인 서버를 1대의 호스트(물리적인 서버)에 8개의 가상머신으로 변경할 수 있기 때문에 장애가 발생하면 이전보다 그 피해규모가 훨씬 더 커지게 됩니다. Windows Server 2008과 Hyper-V를 통해 가상머신 자체와 가상머신에서 구동되는 워크로드(예, IIS 웹서버)의 고가용성을 보장해 줍니다.

고가용성
가용성의 의미는 사용자가 원하는 작업을 하기 위해 시스템에 접근할 수 있는 것입니다. 고가용성은 시스템에 문제가 있을 때에도 운영의 연속성을 보장할 수 있도록 디자인되고 구현되었기 때문에 항상 시스템에 접근할 수 있다는 것을 의미합니다.

Hyper-V의 고가용성은 Windows Server 2008 Failover Cluster (장애조치 클러스터)를 통해 이루어 집니다. 계획된, 계획되지 않은 장애 시 가상머신의 가용성을 획기적으로 향상시킬 수 있는 기능을 의미합니다. 가상머신들은

가상머신들은 Failover Cluster에 의해 관리될 수 있고, Failover Cluster는 가상머신을 모니터링하고, 가상머신에서 구동중인 워크로드를 이전하는데 사용될 수 있습니다.

호스트 및 게스트 머신들
"게스트"라는 말은 Hyper-V의 가상머신 환경의 운영체제를 의미합니다. "호스트"라는 말은 Hyper-V의 부모 파티션의 OS에 의해 관리되는 물리적 머신을 의미합니다.

호스트의 가용성은 "모든 계란을 한 바구니에 넣기", 즉 서버 통합이 가져올 수 있는 모든 이슈와 연계되어 있습니다. Windows Server 2008 Failover Cluster는 Hyper-V의 부모 파티션 (즉, 호스트)에 설정될 수 있고, 게스트들의 정상 작동 여부를 모니터링 할 수 있고, 클러스터의 각 노드 사이를 자유롭게 이동할 수 있습니다. 이렇게 되면 아래와 같은 장점들을 얻을 수 있게 됩니다.

. Hyper-V와 가상머신이 구동되는 물리적 서버가 업데이트, 변경, 리부트 되어야 할 때 가상머신들은 클러스터 상
  의 다른 노드로 옮겨질 수 있습니다. 물리적 서버가 정상 서비스 상태로 되돌아오면 원래의 위치로 복귀할 수 있
  습니다.
. Hyper-V와 가상머신이 구됭되는 물리적 서버에 장애 (머더보드 오류), 또는 급격한 성능 저하가 벌어지면 클러스
  터 상의 다른 멤버가 가상머신의 소유권을 가져와 자동으로 서비스를 대신할 수 있습니다.
. 만약 가상머신에 오류가 생기면, 같은 Hyper-V에서 다시 재시작 하거나 다른 Hyper-V 서버로 옮겨질 수 있습니
  다. Windows Server Failover Cluster에서 탐지가 되고 가상머신의 자원 속성정보에 설정된 값을 기준으로 복구
  작업이 자동으로 이루어 집니다.

그림 1은 장애 상황에 대한 이해를 돕습니다. 우선 VM2가 호스트 A에 위치하다가, VM2가 호스트 B로 옮겨 갑니다. SAN 스토리지 LUN2를 호스트 A가 소유하고 있다가 호스트 B가 소유하는 것으로 바뀌었습니다. 고가용성을 보장받기 위해서는 가상머신이 어디에 위치할 것인지를 주의 깊게 살펴봐야 하고, 또한 Capacity와 성능을 함께 고민해봐야 합니다.

그림1. 가상머신이 새로운 호스트로 옮겨질 때 스토리지의 상태

노드들의 Capacity는 가상머신들의 장애가 발생 시 다 수용할 수 있을 만한 여유가 확보되어야 합니다. 즉, Capacity 및 성능을 고려하여 몇 개의 노드(즉, 개별 서버)는 아무 가상머신도 호스팅하지 않고 예비 상태로 설계되는 것이 필요합니다. 또한, 기본적으로 모든 워크로드들은 각 노드 상에 고르게 분포되는 것이 성능 유지를 위해 필요합니다. 이러한 작업에는 Capacity 및 배치 계획을 위해 System Center Virtual Machine Manager 2008 등의 관리도구가 유용 합니다.

게스트 가용성
게스트 가용성은 가상머신 내에서 구동되는 워크로드의 고가용성을 의미합니다. 일반적으로 파일, 프린터 서버, IIS 웹서버, LOB(Line of Business) 애플리케이션들을 의미합니다. 가상머신의 워크로드에 고가용성을 적용하는 것은 개별 물리적 서버의 고가용성과 거의 유사합니다. 솔루션은 특정한 워크로드에 따라 달라지는 거죠.

IIS 웹서버 등의 워크로드는 Windows Load Balance (NLB)를 통해 고가용성을 얻을 수 있는데, 여러대의 서버가 하나의 네트웍 이름의 일부로 사용될 수 있습니다. 가상 네트웍 네임으로 클라이언트가 요청을 하게 되고 NLB 클러스터 상의 하나의 노드에 연결이 맺어집니다. 각 IIS가 같은 웹 페이지, 데이터에 접근하는 웹 팜의 경우가 대표적이죠. NLB는 로드밸런싱과 유지보수 및 서버 장애시 잠시 빼내서 고가용성을 제공할 수 있도록 합니다. 만약 Hyper-V의 가상머신이 Windows Server 2008 (또는 NLB가 포함된 이전 Windows Server 버전)이면 게스트는 같은 Hyper-V 또는 다른 Hyper-V 호스팅의 게스트들과 NLB 클러스터의 멤버가 될 수 있습니다.

Windows Server 2008에서 구동되는 게스트는 워크로드의 고가용성을 위해 Windows Failover Cluster 기능을 사용할 수 있습니다. 바로 이것이 게스트 클러스터링이 장점입니다.

Workload Health 모니터링: Windows Failover Cluster는 클러스터와 연계된 자원 DLL을 호출할 수 있는 리소스 모니터를 가지고 있습니다. 각 리소스는 애플리케이션이나 서비스가 잘 동작하는지를 확인할 수 있는 모니터링 기능이 있습니다. isAlive/looksAlive 체크가 바로 그것이죠. 만약 호출중에 오류가 발생하면, 자원 자체가 오류가 되고, 설정된 정보에 따라 해당 서비스나 애플리케이션을 재시작하도록 하거나, Windows Failover Cluster 내의 다른 노드로 옮기도록 할 수 있습니다.

가상머신 유지보수: 가상머신, 운영체제, 소프트웨어의 설정을 변경해야 할 때 클러스터 상의 다른 노드로 워크로드가 옮겨질 수 있고, 최종 사용자의 작업에 최소한의 영향으로 가상머신이 셧다운 되거나 갱신될 수 있습니다.

호스트 머신 유지보수: 호스트 머신, 소프트웨어의 유지보수가 필요할 때 해당 머신에 존재하는 가상머신들은 클러스터 상의 다른 노드로 옮겨질 수 있고, 그 때 해당 호스트는 갱신되거나 리부트 될 수 있습니다.

가상 또는 호스트 머신의 장애: 물리적 Hyper-V 호스트, 가상머신의 게스트에 장애가 있을 때 Windows Failover Cluster 상의 다른 노드들이 장애를 탐지하고, 오류가 생긴 가상머신을 클러스터 상의 정상 작동하는 노드로 옮겨서 애플리케이션이나 서비스를 온라인 상태로 만들어 서비스를 진행합니다.

가상머신에 고가용성을 부여하는 방법
Failover Cluster 관리 도구의 고가용성 롤 마법사를 이용하면 간단하게 작업할 수 있습니다. Hyper-V 가상머신은 고가용성을 보장받기 위해 몇 가지 고려해야할 내용이 있습니다. 한 번 살펴보시죠

1. Failover Cluster 노드
   . Failover Cluster의 일부인 각 물리적 서버를 노드라고 합니다. 호스트 클러스터링을 위해, Failover Cluster 서
     비스는 Windows Server 2008 Hyper-V의 부모 파티션에서 구동됩니다. 이렇게 설정되면 동일한 물리적 서버에
     구동되는 자식 파티션들을 고가용성을 갖도록 설정할 수 있습니다. 고가용성이 설정된 가상머신들은 Failover 
     Cluster 관리 컨솔에 자원으로 보여집니다.

2. 고가용성(HA) 스토리지
   . 고가용성 가상머신은 VHD(Virtual Hard Disks), Passthrough Disks, Differencing Disks로 설정될 수 있습니
     다. Failover 클러스터 노드간에 가상머신을 이동할 수 있으려면, 가상머신을 호스트 할 수 있는 노드, Failover
     Cluster 서비스로 관리되는 노드들이 접근할 수 있는 스토리지 (디스크 관리에 디스크로 나타나는)가 있어야 
     합니다. Passthrough Disks는 failover cluster에 디스크 자원으로 추가되어야 하고, VHD 파일은 반드시
     failover 클러스터에 디스크 자원으로 추가되어야만 합니다.

이 정도로 마무리 하겠습니다. 감사합니다. 

본 글은 Technet, Steven Ekren의 "Virtualization: Achieving High Availability for Hyper-V"를 번역하였습니다.
Posted by 조이트리
아키텍트2008. 12. 3. 13:03
해당 행사에는 제가 준비 위원으로 참여 중 입니다.

오전에 기자간담회가 있는데, 기자 간담회 Q&A 세션에 저도 참가합니다. 후기는 공지하도록 하겠습니다.

이날 2건의 행사가 있습니다.
첫째, The Clouds 2008 행사 때 한국마이크로소프트에서는 NTO(National Technology Officer) 김명호 상무님이 "마이크로소프트와 클라우드컴퓨팅" 이라는 주제로 발표를 하십니다.

둘째, 마이크로소프트의 마케팅 매니저가 주관하는 Technet Secret Series가 또 있습니다.
일시: 2008년 12월 10일 1:30분 ~ 5:30분, 장소: 한국마이크로소프트 5층 세미나실
1:30분 부터 제가 "IT 트렌드 특강, 클라우드 컴퓨팅"으로 강의를 1시간 동안 진행합니다.

두 곳 중 한군데 와주세요. 감사합니다.
Posted by 조이트리
아키텍트2008. 11. 26. 15:26

서버의 아키텍처를 구성할 때 활용하는 방법, 바로 아키텍처 패턴 입니다.
패턴은 소프트웨어 시스템의 컴포넌트, 서브시스템 등을 작성할 때 활용하는 설계도 입니다. 즉, 일반적인 상황에 대한 시스템 구조를 그릴 때 반복적으로 나타나는 유형을 묶어서 패턴이라고 하며, 이후의 유사한 상황에 활용하는 것입니다.

서버 유형, CPU 갯수 등을 포함하여 서버의 아키텍처를 그릴 때 패턴은 계속 활용되고 상세하게 발전할 수 있습니다. 오늘은 서버 아키텍처의 기본적인 패턴을 몇 가지 살펴보겠습니다. 가상화를 사용하고 있다고 가정하여 설명해보겠습니다.

1. 단일 호스트 서버
    - Windows Server 2008, Hyper-V를 이용하여 작은 갯수의 가상머신을 운영하는 형태
       . 서버 통합됨, 그렇지만 고가용성은 구성되지 않음
       . 전원이 문제가 생기거나 호스트 Reboot 때 가상머신에 중단이 생김
       . 개발 및 테스트 서버 환경, 소규모 회사, 지사 환경에서 사용

2. 클러스터 환경 (이중 노드)
    - 2대의 Windows Server 2008, Hyper-V로 구성되고, iSCSI나 SAN을 이용한 공유 스토리지 사용
      . 서버가 통합되고, 고가용성이 구성되어 서버의 안정성 및 가용성이 높음

3. 서버 Farm (다중 노드)
    - 여러 대의 Windows Server 2008, Hyper-V로 구성되고, iSCSI나 SAN을 이용한 공유 스토리지 사용
    - 하나의 클러스터안에 16개의 노드까지 구성 가능함
       . 클라우드 컴퓨팅 등의 환경으로 발전할 수 있는 형태

즉, 고객의 현재 상황에 맞도록 가이드가 가능합니다. 
(소규모 기업, 중견 규모 기업,  대기업, 공공기관 / 데이터센터)

마이크로소프트에서는 각 규모에 맞도록 서버 아키텍처 구성에 패턴을 적용할 수 있도록 가이드를 제공합니다.
사이징 역시 가장 큰 골칫거리 중의 하나죠. 이 부분에 대한 가이드도 포함 되어 있습니다.

그중의 하나가 첫째, MAP(Microsoft Assessment & Planning) 둘째가, SVAM(Server Virtualization Advanced Management) 입니다.

Posted by 조이트리
호스팅2008. 11. 25. 11:38

웹 사이트 개발을 시작하려고 할 때 뭐가 필요할까요? 개발도구, 프레임웍, 데이터베이스, 웹서버 등이 있어야 합니다.
이런 다양한 도구들을 사용하려면, 해당 파일이 있는 곳을 찾아서 다운로드, 설치, 셋팅하는 과정을 거쳐야 합니다.
무척 번거롭고 시간이 소요되는 작업입니다. 라이선스까지 필요하다면 더욱 복잡해지죠.

여기서 잠깐! 마이크로소프트의 무료 개발도구, 데이터베이스가 있다는 사실, 설마 아직도 모르시는 건 아니겠죠?
Visual Web Developer 2008 Express SP1, SQL Server 2008 Express Edition이 바로 그 주인공이죠.
물론 Visual Web Developer 2005 Express, SQL Server 2005 Express Edition도 있습니다.
여기에 .NET Framework 3.5 SP1, IIS6.0 이나 IIS7.0이 있다면 웹 개발이 바로 가능해집니다.
ASP.NET만 쓸 수 있는 것 아니냐고요? 천만예요. IIS6.0에는 장착이 필요하지만, IIS7.0에는 이미 내장된 FastCGI 모듈을
사용하면 PHP를 최고의 성능과 안정성을 제공 받으며 개발할 수 있습니다.

그런데, 앞에서 언급했 듯 각각의 도구를 개별적으로 다운, 설치하려면 불편하다는 겁니다.
이런 개발자들의 고민을 단번에 해결해드리는 "마이크로소프트 무료 웹 플랫폼 설치기"가 나왔습니다.
이 설치기를 이용하시면 위에서 언급한 개발에 필요한 모든 도구들을 한 번에 다운받아, 설치할 수 있게 됩니다.

위의 링크에서 Install Now (지금 설치하기)를 누르시면 됩니다. (현재까지는 Release Candidate 버전입니다)
이후의 과정은 "Your Choice"를 선택하신 후 원하는 도구, 프레임웍, 기능들을 선택하신 후 진행하시면
원하는 도구가 다운로드, 설치되는 지 확인하시면 모든 준비가 완료됩니다.


Posted by 조이트리
아키텍트2008. 11. 18. 19:25

전체 글은 파일을 첨부합니다. 다운받아서 읽으시면 됩니다.

Cloud 기반 인프라의 등장

Cloud 기반 인프라가 새로운 핵심으로 등장하고 있습니다. 과연 Cloud 기반 인프라는 무엇일까요? 오늘 전통적인 방식의 인프라와 Cloud 기반 인프라를 접목한 새로운 모델을 제안해 보려고 합니다. 기업의 IT 인프라를 살펴보면 Cloud로 가면 좋을 것과 내부에서 운영하면 좋은 것을 구분할 수 있는데 두 가지 아키텍처상의 Trade Off을 살펴보는 것이 중요합니다. 구체적으로 들어가기 전에 한가지 예를 살펴보겠습니다.

 

서울에서 부산의 Hyatt 호텔까지 가는 방법

1.       승용차, 편리하지만 경제적으로 비효율적입니다.

2.       대중교통, 즉 기차, 비행기는 약간 불편하지만 가격이 저렴합니다.

 

그런데 왜 승용차를 이용하는 걸까요? 이유는 하고 싶은 대로 할 수 있기 때문입니다. (통제)

언제 출발 할지, 어디로 갈지(고속도로, 국도, 해안도로 등), 아파트 주차장에서 최종 목적지 Hyatt 호텔 주차장까지 직접 연결된다는 장점이 있죠. 기차의 경우는 정해진 시간표에 맞춰서 기차를 타야 하고, 정해진 경로, 즉 서울역에서 부산역까지 간 후 다시 대중교통을 이용해야 하며, 시끄러운 승객으로 인해 잠을 설칠 수도 있습니다. 장점은 가격이 싸고, 운전할 필요가 없다는 것이겠죠. (규모의 경제)

 

어떤 수단이 최선인가요? 이건 비용과 하고 싶은 대로 할 수 있는 것 어디에 우선순위를 둘 것이냐에 따라, 상황에 따라 다를 것 입니다. 약간의 비약 같지만, 기차를 클라우드라고 가정하도록 하겠습니다.

 

Lesson1. 클라우드는 직접 설치(On-Premise), 승용차에 비해 자유도가 떨어지지만, 규모의 경제를 얻을 수 있는 시스템입니다.

 

서울역에서 부산역까지 역과 역까지만 타고 갈 수 있다면 승용차에 비해 비용 효율적이겠지만 그렇게 매력적이지 않습니다. 원하는 목적지, Hyatt 호텔까지 가려면 버스, 택시, 오토바이, 자전거 등의 다른 운송수단이 필요합니다. 즉, 다양한 교통 수단이 혼합된 하이브리드 형태입니다. 높은 규모의 경제 (기차, 주요 도시간), 중간 정도의 규모의 경제로 (버스), 낮은 규모의 경제지만 최대의 유연성을 가진 택시, 오토바이, 자전거 등이 혼재되어 실 사회를 이루게 됩니다.

 

Lesson2. 하이브리드 형태를 통해 유연성과 신속성이 보장되면서 규모의 경제 또한 가능하게 됨

 

지금까지는 사람을 운송하는 이야기를 했지만, 화물에 대해 이야기를 해보면 효율적으로 짐을 싣고 내릴 수 있는 것이 굉장히 중요합니다. 특별한 장비, 및 프로세스가 사용되지 않는다면 싣고 내릴 때 엄청난 비용이 들 수 있습니다. 비용을 줄이는 방법이 바로 표준 컨테이너를 사용하는 방식이죠. 모든 화물을 컨테이너로 운반한다면 다양한 운송수단 간의 적재에 소요되는 비용을 최소화 할 수 있고 정제된 운송 네트웍을 사용할 수 있습니다.

Lesson3. 짐을 싣고 내리는 허브, 컨테이너화 기술을 통해 운송 시스템을 최적화하고, 정보 교환비용을 최소화 할 수 있음

 

이제 운송수단을 정보 시스템으로 바꾸어서 이야기를 진행해보도록 하겠습니다. 승용차는 On-Premise (직접 설치), 버스 및 택시는 호스팅 (운영 대행), 기차는 클라우드 및 SaaS로 이해를 하시면 됩니다.

 

앞의 3가지 Lesson을 통한 애플리케이션의 특징은 다음과 같습니다.

1.       전문화를 통한 최적화 (규모의 경제)

2.       유연성과 규모의 경제를 함께 이루는 하이브리드 전략

3.       데이터 교환을 쉽게 가능하도록 함

 

엔터프라이즈 적용 시나리오, Big Pharma (가상의 제약회사)

 

엔터프라이즈 기업에서 위와 같은 업무 특성에 맞는 최적화를 어떻게 적용하는지에 대한 글을 적어 보겠습니다.


첨부의 글을 참고하세요.
Posted by 조이트리
호스팅2008. 11. 17. 11:36

 웹에서 비디오를 서비스하는 것은 가장 일반적인 시나리오 중의 하나가 되었습니다. 상품에 대한 설명 비디오, 동영상 교육 비디오, 광고, UCC 동영상, 뮤지비디오 등 정말 다양합니다.

그런데 한가지 이슈가 있죠. 네트웍 대역폭은 IT에서 가장 비용이 많이 드는 항목 입니다. 또한, 고화질을 원한다면 그 비용은 훨씬 더 비싸지죠.

그렇다면, 위와 같은 동영상을 호스팅 하는 방법과 그 비용을 줄일 수 있는 방법에 관심이 갈 수 밖에 없을텐데요, 그 부분을 오늘 설명드리도록 하겠습니다.

1. 무료 미디어 호스팅 서비스를 사용하는 방법
    - YouTube, 마이크로소프트 Silverlight 스트리밍 서비스, NHN의 블로그에 연계하는 방법 등 다양하죠. 즉, 비디오 컨텐츠를 다른 회사의 네트웍을 이용해서, 그 회사가 대역폭 비용을 내도록 하는 방법이죠. 그 회사는 광고등으로 수익을 얻게 되는 방식 입니다. 마이크로소프트의 Silverlight 스트리밍 서비스는 10G의 컨텐츠까지 업로드할 수 있고, 한달에 5TB까지는 무료로 다운로드 가능하도록 제공 되는 서비스 입니다. (최대 1.4 Mbps Bit-rate 제공)

2. 자체 서버에서 미디어를 호스팅 하는 방법
  
- 미디어에 인증을 부여하고 싶거나, 큰 동영상을 서비스하는 경우, 또는 비디오에 광고를 넣고 싶은 경우에는 직접 호스팅을 하고 싶어질 겁니다. 컨트롤을 해야 하기 때문이죠.

이때는 두가지 옵션이 있습니다.
    1) 스트리밍 서버 시나리오
       . 스트리밍 시나리오에서는 클라이언트 (Silverlight, 윈도우 미디어 플레이어, 플래쉬 등)가 스트리밍 서버에 연결을 하게 됩니다. 스트리밍 서버가 비디오 스트림을 내려 보내고, 사용자는 앞으로 가거나 뒤로 돌려보기, 정지, 멈춤 등을 자유롭게 할 수 있습니다. 사용자가 브라우저를 닫거나, 다른 페이지로 이동하면 비디오 스트림이 자동적으로 데이터 보내는 것을 멈추게 되죠.
Windows Media Services (WMS)는 윈도우에서 무료로 다운받아 사용할 수 있는 스트리밍 서버이고, 윈도우 미디어 플레이어나 크로스 플랫폼 기능이 제공되는 Silverlight 등의 클라이언트를 사용할 수 있습니다. 웹에서 비디오 스트리밍을 제공할 때 가장 확장성이 뛰어나고 비용 효율적인 방식이며, 온디맨드 스트리밍, 또는 실시간 스트리밍 등의 방식으로도 사용될 수 있습니다. 또한, Windows Server 2008 Web Server 에디션에서도 구동 가능합니다.

   2) 프로그레시브 다운로드 시나리오
       . 프로그레시브 다운로드 시나리오에서 클라이언트 (플래쉬, Silverlight)는 웹서버에 직접 연결되어 비디오를 다운로드 받기 시작하며, 충분한 양이 다운로드 되면 바로 플레이가 가능합니다. 이 방식의 장점은 웹서버에 설정하는 것이 정말 쉽습니다. 웹서버에 해당 미디어를 복사한 후, URL 주소만 정해지면 클라이언트 비디오 플레이어가 플래이 합니다. 웹서버에 설정이 필요없고, 스트리밍 서버 셋업등의 과정이 불필요합니다.

프로그레시브 방식의 단점은 웹서버가 최대한 빨리 파일이 다운로드 한다는 것입니다. 사용자가 사이트에서 비디오 보기를 클릭하면 웹서버가 클라이언트로 해당 파일을 최대한 빠르게 보내기 시작합니다. 사용자가 처음부터 끝까지 비디오를 본다면 별 문제가 없지만, 비디오를 보다가 중간에 멈추거나, 다른 페이지로 옮겨 가면 보지도 않는 파일이 다운로드가 된다는 불합리한 부분이 있습니다. 보지도 않는데 다운로드 되는 내용이 수 메가바이트나 된다면, 그 만큼의 돈을 낭비하고 있는 셈이 되는거죠.

3. 그래서, IIS7.0 비트 레이트 Throttling 모듈 (Bit Rate Throttling Module)이 있습니다.
     - 해당 모듈은 미디어 유형에 관계없이 Bandwidth, 즉 대역폭의 낭비를 막아줍니다. 최초로 마임타입 확인 후, 파일에 대해 Bit-rate 인코딩을 한 후 최초 20초간 플레이 할 수 있는 양의 미디어를 최대한 빠르게 전송합니다. 일단 20초 만큼의 미디어가 다운된 이후 부터는 Bit Rate Throttling 모듈이 전송되는 양을 제어하기 시작합니다. 그러면서, 클라이언트가 플레이어를 멈추거나 다른 페이지로 옮겨가는 것을 모니터링 하다가 사용자가 시청을 멈추는 순간 자동적으로 파일 보내기를 멈추게 하는 역할을 합니다.

예를들면, 35MB짜리 비디오 파일이 500Kbps의 속도로 인코딩되어 상영되면, IIS는 20초에 해당하는 만큼의 파일을 즉시 내려보낸 후 (20초 * 500Kbps, 1.25MB), 이후에는 초당 500Kbps의 컨텐츠를 내려보냅니다. (20초 만큼의 버퍼만 갖도록 유지, 사용자가 보다가 버퍼링이 일어나지 않도록 하기 위함)

만약, 1분 후에 사용자가 비디오 보기를 멈추거나 다른 페이지로 옮겨 가면, IIS가 상황을 인지하고 컨텐츠 전송을 멈추게 됩니다. IIS는 단지 80초에 해당하는 비디오만 다운로드 했기 때문에 전체 35MB 중 (5M, 즉 80초 * 500kbps)의 대역폭만 사용한 셈이 되는 것이죠. 이 30MB가 수백번 반복 된다면 대역폭, 즉 비용을 엄청나게 절약할 수 있게 되는 것입니다.


  • Bit Rate Throttling Module Setup
  • Bit Rate Throttling Configuration Walkthrough
  • Bit Rate Throttling Extensibility
  • ScottGu's의 블로그를 참고하여 글을 정리하였습니다.

    Posted by 조이트리
    아키텍트2008. 11. 7. 14:55

    온실가스, 탄소배출량 절감 등의 그린 IT 개념이 등장한지 벌써 꽤 많은 시간이 지난 것 같습니다. 지금까지 그린 IT하면 서버, 네트웍 장비, 스토리지 등의 저전력 하드웨어를 통해서만 가능한 것처럼 인식되었습니다. 하지만, 마이크로소프트는 소프트웨어를 활용한 그린 IT가 가능한 전략을 가지고 있고, 내부적으로 적용하여 효과를 얻고 있습니다. 이름하여, 그린 컴퓨팅 전략 입니다.

    대한민국의 총 전기 생산량이 100이라고 가정하면, 화력발전을 통해 얻어지는 전기가 몇 정도 될까요? 놀랍게도 63.1 정도, 즉 63%에 육박합니다. 화력발전은 석탄, 석유, 천연가스를 태워서 물을 끊인 다음 터빈을 돌려서 전기를 생산합니다. 국내 보령화력발전소의 경우 하루 약 3만톤의 석탄을 사용하고, 24시간에 7만3천톤의 이산화탄소를 배출합니다. 이 정도의 이산화탄소를 분해하려면 하루에 잣나무 2,238만 9400그루를 심어야 한다고 하죠. 엄청나지 않습니까? 결국 나무로는 해결이 불가능 합니다. 우리가 할 수 있는 건 전기 사용을 줄이는 방법이 최선이라고 할 수 있죠. 마이크로소프트가 사용하는 전략은 크게 3가지 입니다.

    줄이고, 관리하고, 다시 생각하자

    1. 줄이고
        - Windows Server 2008은 Windows Server 2003에 비해 10% 에너지 효율성 ↑
        - 가상화를 통한 자원 최적화
           . 가상화 ROI 계산 도구 (무료)
        - 가이드 및 교육
           . Assessment & Planning Toolkit (무료) : 도구를 통해 전원관련 설정 가이드 제공
           . 데이터센터 베스트 프랙티스 제공

    2. 관리하고
        - 에너지 낭비요인 줄이기 "측정할 수 없으면 개선할 수 없다"
        - 10~30% 서버는 아무일도 하지 않고 전원을 공급받는 상태 (미국, Uptime Institute 조사) 
        - System Center Configuration Manager, Virtual Machine Manager, Operation Manager등

    3. 다시 생각
        - 환경 오염을 줄이고, 생산성 향상 시키는 방안을 늘 고민하고 적용하려고 해야 함

    마이크로소프트가 위의 전략에 의해 실제 운영환경의 물리적인 서버, 477대를 16대의 서버로 줄여 약 2백만불 (24억)의 비용 절감 효과, 19TB의 디스크 공간을 8TB로 줄여 11TB의 절감 효과, 30개의 Rack을 단 2개로 줄였으며, 525 암페어의 전력 사용량을 8 암페어로 줄이는 효과를 직접 체험하였음

    위와 같은 노력이 실제로 어느 정도의 탄소배출량을 절감하는지에 대한 수치를 산출하여 대외에 알리는 노력이 그린 활동의 중요한 실행, 집행 이라고 생각합니다.

    Posted by 조이트리
    아키텍트2008. 10. 31. 23:20
    "클라우드 컴퓨팅의 진화 및 이슈"라는 주제로 강의를 진행하였습니다. 

    클라우드 컴퓨팅의 비즈니스 모델은 크게 4가지 정도가 있습니다.
    1. Storage as a Service, 스토리지 서비스 사업자
    2. Infrastructure as a Service, 컴퓨팅/스토리지 서비스 사업자
    3. Platform as a Service (PaaS), 플랫폼 서비스 사업자
    4. Software as a Service, 애플리케이션 사업자

    PaaS를 통해 플랫폼을 장악하는 업체가 SaaS 영역의 주도권을 잡을 것이라고 보여지던 시기가 있었지만 지금 마이크로소프트의 Windows Azure 플랫폼, Azure Services 플랫폼이 발표되면서 클라우드 플랫폼을 통해 국내 애플리케이션 개발 업체가 얼마든지 글로벌 서비스를 개발할 수 있게 됨에 따라, PaaS가 아닌 클라우드 플랫폼 사업자가 훨씬 우위를 차지하는 시대가 도래했습니다. 앞으로 국내의 애플리케이션 개발자, 개발업체가 진행할 수 있는 다양한 비즈니스 모델에 대해 언급해 보도록 하겠습니다.

    해외의 업체가 한글을 지원하면서 국내에 서비스를 하듯, 국내 업체가 영어를 지원하면서 해외에 서비스를 하는 것도 어렵지 않게 가능해지는 시대가 왔습니다.
    Posted by 조이트리
    아키텍트2008. 10. 28. 19:53

    윈도우 애저는 굉장히 유연한 플랫폼으로 윈도우 런타임 환경에 전체 애플리케이션을 구동할 수도 있고, 개별 서비스만 활용할 수도 있습니다.

    PDC에서 발표된 버전에서는 마이크로소프트 .NET 프레임웍과 비쥬얼 스튜디오(Visual Studio)를 이용해 Windows Azure(애저) 애플리케이션을 개발할 수 있고, 가까운 시일에 PHP, Ruby 등의 언어를 이용해서도 애플리케이션 개발이 가능해집니다.


    1. 윈도우 애저에 애플리케이션 개발
      - 일단 애플리케이션을 개발한 후 윈도우 애저, 즉 클라우드 상에 배포합니다.
      - 컴퓨팅 파워 및 트래픽이 많든 적든 안정적인 애플리케이션을 최종 사용자가 사용 합니다.

    굉장히 간단하죠?
    How Does It work Diagram


    2. 구름에 있는 애플리케이션에 애저 서비스 추가 및 On-Premise 애플리케이션에 기능 추가

    지금 여러분이 개발한 클라우드 애플리케이션에 Windows Azure에서 제공하는 다른 서비스를 추가하고 싶습니다. Messenger 등의 Live Services (전 세계 4.6억명)이 쓰도록 할 수 있고, 워크플로우, 접근제어, 서비스 버스등을 이용하기 위해 .NET Services를 쓰거나 SQL Services를 사용할 수도 있겠죠. 물론 비즈니스 파트너 또는 업무용으로 사용될 어플리케이션을 개발할 수도 있습니다.

    How Does It work Diagram

    3. 모두 모아서

    또한, 가장 중요한 내용은 Azure (애저) 서비스 플랫폼은 클라우드 운영체제이며 서비스들의 집합이므로 웹, 모바일, 소프트웨어 및 서비스, 즉 하이브리드 하게 어느 유형에도 사용할 수 있다는 장점이 있습니다.

    현재 있는 소프트웨어에 클라우드 컴퓨팅이 가지고 있는 부가적인 기능을 추가할 수도 있고, 다른 어플리케이션에서 사용할 서비스를 만드는 것 등이 가능합니다.

    How Does It work Diagram
    Posted by 조이트리