응용 프로그램 요청 라우팅 2.0을 이용한 공유 호스팅의 배포 개요
마이크로소프트 응용 프로그램 요청 라우팅(ARR, Application Request Routing)은 HTTP 헤더, 서버 변수 및 로드 밸런스 알고리즘을 기반으로 HTTP 요청을 콘텐츠 서버로 전송해주는 프록시 기반 라우팅 모듈입니다. 보다 자세한 설명은 응용 프로그램 요청 라우팅 모듈 사용하기 문서를 참고하시기 바랍니다.
응용 프로그램 요청 라우팅에서는 공유 호스팅 서비스 제공자들을 위해서 특별히 설계된 호스트 이름 친화성이라는 기능이 제공됩니다. 본문에서는 호스트 이름 친화성 기능에 관해서 간략하게 살펴보고, 배포 환경의 고가용성과 고확장성, 관리 용이성 등을 위해서 어떻게 활용될 수 있는지, 그리고 잠재적인 비즈니스 기회를 창출하기 위해서 어떻게 사용될 수 있는지 살펴보겠습니다.
일반적인 공유 호스팅 배포
다음은 전형적인 공유 호스팅 배포 환경의 구성도입니다:
- 사용자가 www.site2.com을 요청합니다.
- DNS가 www.site2.com을 요청받습니다.
- www.site2.com의 IP 주소가 반환됩니다.
- 브라우저가 해당 IP 주소로 요청을 전송합니다.
- 호스트 이름에 따라, 그에 대응하는 사이트로 요청이 전달됩니다.
- www.site2.com의 응답이 반환됩니다.
그러나, 이 배포 과정에는 다음과 같은 단점들이 존재합니다:
- 사이트에 여분(Redundancy)이 존재하지 않습니다.
- 관리자가 직접 각각의 서버마다 존재하는 사이트의 갯수를 제한하는 방법으로 서버들 간의 통신량을 로드 밸런스해야만 합니다.
- 상황에 따라서 각각의 서버의 자원들이 균등하게 사용되지 않을 수 있습니다.
- 관리자는 여러 개의 구성 파일들을 관리해야만 합니다.
응용 프로그램 요청 라우팅이 적용된 공유 호스팅
응용 프로그램 요청 라우팅이 제공해주는 호스트 이름 친화성 기능은 공유 호스터들로 하여금 사이트들을 배포하는 방식에 대해서 다시 한 번 생각할 수 있는 여지를 제공해줍니다. 응용 프로그램 요청 라우팅은 요청이 하나의 클라이언트로부터 전달됐는지 아니면 다수의 클라이언트로부터 전달됐는지와 관계 없이 요청과 ARR 배후의 특정 서버에 친화성을 부여해서 해당 사이트가 서버들 가운데 한 특정 서버의 리소스만을 소비할 수 있게 해줍니다. 다음의 구성도는 이런 배포 환경을 보여줍니다:
- 사용자가 www.site2.com을 요청합니다.
- DNS가 www.site2.com을 요청받습니다.
- www.site2.com의 IP 주소가 반환됩니다.
- 브라우저가 해당 IP 주소로 요청을 전송합니다.
- 호스트 이름에 따라, 그에 대응하는 사이트로 요청이 전달됩니다.
- 응용 프로그램 요청 라우팅이 요청들을 하나의 서버로 로드 밸런스하고, 해당 작업자 프로세스가 유지되는 동안 www.site2.com에 대한 모든 요청들에 대해 동일한 서버에 대해 친화성이 부여됩니다.
- 요청이 서버들 중 하나의 서버로 전달됩니다.
- www.site2.com의 컨텐츠가 파일 공유로부터 반환됩니다.
- www.site2.com의 콘텐츠가 반환됩니다.
- www.site2.com의 응답이 반환됩니다.
이런 응용 프로그램 요청 라우팅이 적용된 배포 환경은 일반적인 공유 호스팅 배포에 있어 다음과 같은 이점들을 제공해줍니다:
- 응용 프로그램 요청 라우팅에 의해 요청들이 동적으로 로드 밸런스됩니다.
- 관리자는 사이트가 미리 설치되어 있는 서버를 준비할 필요 없이, 단순히 새로운 서버를 추가하는 것만으로도 수평적으로 환경을 확장할 수 있습니다.
- 서버들의 자원들이 보다 균등하게 분배됩니다.
- 사이트들의 가용성이 보다 높게 확보됩니다.
- 단 하나의 공유 구성만 관리하면 됩니다.
응용 프로그램 요청 라우팅 버전 1 릴리즈를 사용하면, 특정 호스트 이름에 대해 사이트가 사용할 수 있는 서버의 갯수를 공유 호스팅 서비스 제공자가 지정할 수 있습니다. 이 기능을 이용하면 공유 호스팅 서비스 제공자는 각각의 응용 프로그램 서버를 사이트 소유자들이 구입 가능한 용량 단위에 따라 위치시킬 수 있습니다.
응용 프로그램 요청 라우팅을 활용해서 호스트 이름 친화성을 구성하는 보다 구체적인 방법을 살펴보려면 응용 프로그램 요청 라우팅을 이용한 공유 호스팅 문서를 참고하시기 바랍니다.
관련 자료
- 문서
- 응용 프로그램 요청 라우팅 설치하기 2011-05-13 18:43
- 응용 프로그램 요청 라우팅 모듈 사용하기 2011-05-17 15:27
- 응용 프로그램 요청 라우팅 모듈 서버 팜 정의 및 구성하기 2011-05-19 18:56
- 응용 프로그램 요청 라우팅을 이용한 HTTP 로드 밸런싱 2011-05-23 13:33
- 응용 프로그램 요청 라우팅을 이용한 3-티어 배포 아키텍처 구성하기 2011-05-30 14:34
- 응용 프로그램 요청 라우팅을 이용한 파일럿 프로그램 관리 2011-06-08 16:27
- 응용 프로그램 요청 라우팅 2.0을 이용한 공유 호스팅의 배포 개요 2011-07-03 15:12
- 응용 프로그램 요청 라우팅을 이용한 공유 호스팅 2011-07-10 13:34
- 응용 프로그램 요청 라우팅 서버들의 다중 인스턴스 이용하기 2011-07-14 14:18