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의 사용으로, 서버군에 대한 단일화된 업데이트 및 헬스체크등의 기능을 쉽게 사용 할 수 있다. 이러한 도구의 사용 잇점은 역시, 보다 적은 비용 및 리스크로 서비스를 동일하게 구현 할 수 있다는 것이다.
주요 기능.
Key terms and concepts
Platform Requirements
Provisioning requirements
시스템 종류에 따른 요구사항.
간단하게 정리하면, Primary 서버가 32bit 이면, Secondary 서버는 반드시 32bit 여야 한다.
Primary 서버가 64bit 이면 Secondary 서버는 32bit 나 64bit 모두 관계 없다.
OS 요구사항.
동일한 관계.
WFF 2.0 for IIS 7 cmdlets for Windows Powershell
WFF 2.0 역시 파워쉘로 관리가 가능하다.
파워쉘을 사용 하기 위해선,
커맨드의 리스트는 아래와 같음.
서버 관리를 위한 cmdlets
서버 팜 생성을 위한 예제.
파워쉘에서 다음의 커맨드 수행
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 , 정윤진 )
최근의 클라우드와 같은 대규모 분산처리가 점점 더 이슈화 되고, 발전하고 있다. 이는 각종 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 허용. ( 뭐 그냥 확장 가능하다는 말인듯 )
* 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 를 제외한 나머지 모든 서비스 서버를 말함 )
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 에 따라 자동으로 설치가 진행 될 것이다.
* 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\*
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 , 정윤진 )