System Compleat.

'Microsoft Web Farm Framework 2.0 Beta for IIS 7'에 해당되는 글 1건

  1. Microsoft Web Farm Framework 2.0 Beta for IIS 7

Microsoft Web Farm Framework 2.0 Beta for IIS 7

Techs
( younjin.jeong@gmail.com , 정윤진 )


최근의 클라우드와 같은 대규모 분산처리가 점점 더 이슈화 되고, 발전하고 있다.  이는 각종 SnS 서비스 및 모바일 통신 환경의 발달로 인한 더 많은 사용자 층의 서비스 유입으로 인하여 자연스럽게 나타나는 시대의 플랫폼에 대한 요구가 아닌가 하는 생각이 든다.

서비스는 보다 더 복잡해 지고, 각 진영의 개발은 그 어느때 보다 활발하며, 치열하다.  기업간 경쟁은 Apple 을 필두로 Adobe 와의 분쟁,  HTML5/CSS3 , 각종 확장된 Javascript 등은  플랫폼, 클라이언트 브라우저 등 모든 환경이 급변함으로 고인 물은 더욱 빨리 썩게 되고, 흐르는 빠른 물줄기를 쫒아 가자니 가랭이가 터질 지경이 아닌가.
더구나 그 물에 몸담그고 있다면, 또 그 물이 opensource 라면 각종 개발에 스크립트에 정신줄 놓는건 일도 아니다. ( 물론 학구열에 불타면 관계 없지만 매번 똑같은 일을 하지 않기 위해 짜는 스크립트는 항상 고뇌의 시간을 요구한다. )

뭐 서론의 헛소리가 길었지만, 어쨌든 제목과 같은 Framework는 예전 부터 있어왔나 보다.
다만 각종 Cloud 의 발전에 의해 좀 묻히지 않았나 하는 생각 과 함께,  기존 클라우드의 VM 으로서 Windows 서버를 굴리게 되더라도 IIS 의 성능 자체에는 MS 의 지원없이 할 수 없는 것들이 많이 있다.
그런 측면에서 이와같은 Framework 의 지원은 매우 반가운 일이며, 어떠한 형태로든 효율적인 IIS 의 Server Farm 을 구성 할 수 있다면 전단 웹 서버를 탄력적이고 확장가능하게 (MS에서 그렇다고 한다) 만들 수 있기에 서비스 구성에 고려할 만한 옵션이나 전략이 추가 되는 것이 아닌가 하는 생각이다.

물론, 요새 OpenNebula 2.0 이나 OpenStack 과 같이 마루타 할 것들이 많아져서 실제 구현을 한다거나 해 보지는 않았기에, 간단히 소개하는 정도로 하고 관계 되신 분들은 링크로 추가된 자료들을 검토해 보시면 될 듯 하다.
버전이 2.0 이니 1.0 부터 사용하신 분들도 많지 않겠나 하는 생각.

이와 같은 서버팜은 아마도 hosting 업체들에 유리하지 않겠나 하는 생각을 테스트없이 남발해 본다. 음;;;

원문을 보실 분들은 여기 ( http://learn.iis.net/page.aspx/905/microsoft-web-farm-framework-20-beta-for-iis-7/ ) 를 참고 하시면 되겠다.


서문.

오늘날, 웹서버 세팅과 각종 컨텐츠의 배포는 매우 고된 작업중 하나이다.  수많은 절차와 검증이 필요하며,플랫폼 관리를 위한 스크립트나 코드를 제작하여 힘겹게 운용하고 있다.

마이크로소프트 웹 팜 프레임웍 ( WFF ) 2.0 for IIS 7 은 호스팅 업체와 같이 수많은 서버를 관리해야 하는 사업체의 관리자에게  공급/확장/관리를 단순화 시켜줄 수 있는 도구이다.  관리자는 손쉽게 여러 서버를 확인할 수 있고, 컨텐츠의 배포 및 필요한 순간에 확장도 손쉽게 된다.  WFF의 사용으로,  서버군에 대한 단일화된 업데이트 및 헬스체크등의 기능을 쉽게 사용 할 수 있다.  이러한 도구의 사용 잇점은 역시, 보다 적은 비용 및 리스크로 서비스를 동일하게 구현 할 수 있다는 것이다.


주요 기능.

WFF 2.0 에 포함된 주요 기능은 다음과 같다.

* Server Farm 에 서버를 한방에 추가 할 수 있다.
* Web PI ( Web Platform Installer ) 를 사용해 Platform Provisioning 을 구현 할 수 있다.
* Web Deploy 를 사용해 Application Provisioning 을 구현 할 수 있다.
* 정책기반 Provisioning
* 추가적인 Platform components 및 contents 의 설치
* ARR ( Application Request Routing ) 을 사용한 부하 분산을 통해 서비스 업타임 증가.
* Farm 에 속한 서버들의 update 상태 및 Log 추적
* 확장 가능한 모델을 통해 추가적인 Provider 들의 write 허용.  ( 뭐 그냥 확장 가능하다는 말인듯 )


Key terms and concepts

간단한 개념 설명.

Server Farm
 - Web Farm 으로 불리우는  관리/공급/배포의 단순화를 위해 묶인 서버의 그룹

Controller Server
 - Server Farm 에 속한 서버들의 공급을 관리

Primary Server
 - 플랫폼에 설치된 어플리케이션 및 컴포넌트를 정의하기 위해 설정된 서버. 여기에 설치된 것들은 Server Farm 의 다른 서버( Secondary Servers ) 로 동기화 됨.

Secondary Server
 - Primary Server 로 부터  platform application / components / configuration settings / content / application 을 받아 동기화 되는 서버들.  ( Primary 를 제외한 나머지 모든 서비스 서버를 말함 )


Platform Requirements

Server Farm 에 구성되는 서버들은 다음의 사항을 충족 해야 한다.

* Windows Server 2008 or Windows Server 2008 R2
* .NET 2.0 또는 그 이상버전의 설치
* 다음중 하나의 계정
  - Server Farm 의 전체 서버들이 동일한 로컬 Administrator ID 와 Password 을 가지고 있거나,
  - Domain Account 에 Administrator 로 등록된 계정이 각 로컬에 동일하게 존재할 것 ( 쉽게 말해서 AD 하거나 )
* Server Farm 의 전체 서버들이 Access 가능한 네트워크에 위치하고 있어야 할 것.

방화벽 설정

다음의 두가지를 방화벽에서 허용 해 주어야 한다.

* Core Networking
* Remote Administration


Controller Server Requirements
컨트롤러 서버는 다음의 요구사항을 충족 해야 한다.

* 다음중 하나의 OS 사용 :  Windows Vista with SP1 / Windows 7 / Windows Server 2008 with SP1 / Windows Server R2
* Microsoft Web Platform Installer ( WEB PI ) 가 설치 되어 있을 것
* IIS 7 이 설치 되어 있을 것
* Microsoft Web Deploy module for IIS 가 설치 되어 있을 것
  note :  Web Deploy 모듈이 설치 되어 있지 않다면,  Web PI 설치 시에 dependency 에 따라 자동으로 설치가 진행 될 것이다.


Provisioning requirements

시스템 종류에 따른 요구사항.
Secondary / Primary 32-bit (x86) 64-bit (x64)
32-bit (x86) Supported Not supported
64-bit (x64) Supported Supported


간단하게 정리하면,  Primary 서버가 32bit 이면, Secondary 서버는 반드시 32bit 여야 한다.
Primary 서버가 64bit 이면 Secondary 서버는 32bit 나 64bit 모두 관계 없다.


OS 요구사항.
Secondary / Primary Windows Server 2008 Windows Server 2008 R2
Windows Server 2008 Supported Not Supported
Windows Server 2008 R2 Supported Supported


동일한 관계.



WFF 2.0 for IIS 7  cmdlets for Windows Powershell


WFF 2.0 역시  파워쉘로 관리가 가능하다.
파워쉘을 사용 하기 위해선,

1. Controller 서버에서 cmd 실행
2. 파워쉘을 실행하기 위해 다음의 커맨드를 실행 ( PowerShell )
3. 파워쉘 프롬프트에서 다음의 커맨드 실행
   Add-PSSnapin WebFarmSnapin
4. 다음과 같은 쉘 프롬프트가 보이면 성공
   Get-Command WebFarmSnapin\*

커맨드의 리스트는 아래와 같음.


 

서버 관리를 위한 cmdlets
cmdlet Name Description
Get-ActiveOperation Returns the operations currently running on the server or server farm.
Get-AvailableOperation Returns the operations available on the server or server farm.
Get-Server Returns a list of servers in the farm, or the server specified.
Get-ServerProcess Returns a list of the processes currently running on the server or server farm.
Get-ServerRequest Returns a list of the requests currently being processed on the server or server farm.
Get-TraceMessage Returns a list of the Trace messages from the server or server farm.
Get-WebFarm Returns the name of the server farm or farms available.
Install-ServerProduct Installs the specified product on the server or server farm.
New-MiniDump Returns the dump information from the server.
New-Server Add a server to an existing server farm.
New-WebFarm Creates a new server farm.
Remove-Server Removes a server from the server farm.
Remove-WebFarm Removes a server farm.
Run-Operation Executes the specified operation on the server or server farm.
Start-Server Starts the specified server.
Stop-Server Stops the specified server.



서버 팜 생성을 위한 예제.

파워쉘에서 다음의 커맨드 수행
New-WebFarm

다음과 같은 내용이 나옴




WebFarm 의 생성을 확인 하기 위해서는 다음의 커맨드 실행
Get-WebFarm





Server Farm 에 서버 추가를 위한 예제

파워쉘의 WFF cmdlets 에서 다음을 수행
New-Server

서버의 추가를 확인하기 위해서는 다음의 커맨드를 수행
Get-Server





날로 먹는 번역은 여기까지.



윈도우가 제공하는 많은 서버/시스템/플랫폼 관리 도구들은 그 최초 접근 및 구성/사용이 매우 쉬운것이 장점이다.
다만, 세부적인 문제가 발생했을때의 운용은 역시 실제 서비스에 도입 후 운용해 보아야만 알 수 있는 부분이 많으며,
장애가 발생한다 하더라도 MS 의 도움을 받아야 하는 경우가 많기 때문에 문제 처리에 지연이 발생 할 수 있다.
이러한 문제는 오히려 오픈소스 측면에서는 상당한 기술자가 존재하지 않으면 클라우드를 구성조차 ( 현시점에서 ) 하기 힘들다는 사실과 견주어 볼때 대단한 잇점이 될 수 있다.  물론 WFF 의 존재 가치가 클라우드와는 다르지만.

어쨌든, 사용하기 쉽고 장기적 관리가 용이한 신뢰할 만한 툴이 나온다는건 언제나 즐거운 일이다.
다만, 이를 사용한 서비스의 벤치마크 또는 성능 측정 및 배포시의 동기화 시간 등은 서비스 도입 전 반드시 체크해야 할 항목으로 두고 고려 해 보도록 하자.



다시 한번 본 포스팅의 링크는 모두 다음에 속한 링크에서 가져왔음을 미리 말해 둔다.

출처 : http://learn.iis.net/page.aspx/905/microsoft-web-farm-framework-20-beta-for-iis-7/


( younjin.jeong@gmail.com , 정윤진 )