마이크로소프트 인터넷 인포메이션 서비스(IIS)는 오랜 시간 동안 간단한 웹 서버에서 강력한 기능을 가진 응용프로그램 호스팅 플랫폼으로 발전해왔다. 초기 버전들은 심각한 보안 문제들이 있었지만, IIS6부터 엄격한 기본 설정을 제공하며, 응용프로그램 호스팅 환경으로 기업들에 제공되어 왔으며, 가장 안전한 웹 서버라는 인지도를 얻게 되었다. 곧 등장하게될 윈도우 비스타와 롱혼 서버와 함께 IIS7이 발표될 것이다. 이미 운영중인 IIS6와 비교해서 IIS7의 장점이 무엇인가? 마이크로소프트는 IIS7을 통해 현재 아파치가 지배하고 있는 웹 호스팅 시장에서 영향력을 넓히는 데 도움이 될 것인가? 이런 물음들에 대해 답을 구하기 위해 마이크로소프트에서 IIS 기술전도사(Evangelist)로 일하고 있으며, 유명한 IIS 트레이너인 브렛 힐(Brett Hill)을 만났다.
튜러크(Tulloch): 브렛, IIS7에서 가장 기대하는 것이 무엇입니까? IIS7에서 제공하는 새로운 기능들과 개선된 점들에 대해 짧게 설명해 주시겠습니까?
힐(Hill): 현재 IIS7은 마이크로소프트에서 가장 많은 기대를 하고 있는 웹 서버입니다. 가장 잘 알려진 기능은 모듈로 새로 설계된 것입니다. IIS6에서 대부분의 기능은 .dll 파일 하나로 제공되었고, 마이크로소프트가 DLL을 제공하지 않거나 사람들의 비즈니스 요구사항에서 원하는 방식대로 동작하지 않는다면 제한된 선택만 할 수 있었습니다. IIS7은 완벽하게 모듈로 설계되었습니다. 기본 인증, 압축, 디렉터리 탐색 등과 같은 기능들이 모두 각각의 모듈로 구현되었습니다. 필요없는 모듈은 제거할 수 있고, 원하는 기능이 있는 모듈을 추가할 수 있습니다. 모듈은 네이티브 언어(C/C++ 등)와 관리형 언어(C#/VB.NET 등)를 사용해서 작성할 수 있습니다. 이런 방법을 통해서 자신의 고유한 시나리오에 맞춰서 서버를 설계하고, 필요한 기능만 제공하도록 특화된, 개선된 서버를 만들 수 있습니다.
튜러크: 아파치와 거의 비슷하다고 생각되는데요. 모듈에 대해 좀 더 자세히 설명해 주십시오. 새로운 아키텍처를 두게 된 배경은 무엇입니까?
힐: 새로운 아키텍처를 도입하게 된 몇 가지 이유가 있습니다. 첫번째는 서버 동작에 대한 권한을 사람들에게 주는 겁니다. 모듈 방식의 디자인을 통해서 사람들은 어떤 모듈을 사용할지, 모듈을 읽어들이는 순서, 누가 어떤 모듈을 읽어들일 수있는지를 제거할 수 있습니다. 사용자가 만든 모듈들은 IIS7의 요청처리 파이프라인(request-handling pipeline)을 통해서 로드되기 때문에 인증 같은 내부 이벤트를 가로채는(hook up) 모듈을 네이티브 언어나 관리형 언어로 작성할 수 있습니다. 이를 통해 개발자들은 보다 쉽게 IIS7의 기능을 수정하거나 확장할 수 있습니다. 따라서, 사람들은 새로운 기능을 발표하기 위해 IIS 팀에 의존할 필요가 없으며, IIS7에 직접 추가할 수 있는 모듈을 작성하기만 하면 됩니다. 확장성은 모듈에만 한정된 것은 아닙니다. 예를 들어, 스키마, 사용자 인터페이스, 응용프로그램이 보고하는 추적 이벤트(tracing events)를 포함한 IIS7의 거의 모든 부분이 모듈로 되어 있으며 확장할 수 있습니다.
튜러크: 보안은 어떻습니까? IIS6는 기본값으로 엄격하게 설정된 보안을 제공하면서 이전 버전에 비해 큰 향상이 있었습니다. IIS7에서도 보안이 향상되었습니까? 향상되었으면 어떻게 되었습니까?
힐: 실제로, IIS6은 매우 뛰어난 보안 기록을 갖고 있으며, 우리는 그 기록위에서 작업을 하고 있습니다. IIS7은 IIS6보다 훨씬 더 강력하게 닷넷과 통합되어 있습니다. 이는 보안에 있어서도 몇 가지 장점을 갖습니다. IIS6에서 ASP.NET은 ISAPI 확장으로 실행되었습니다. 결과적으로, 서버가 받은 요청은 IIS6 파이프라인을 통해서 받았습니다. 요청이 닷넷을 위한 것이면 ASP.NET ISAPI가 요청을 받아서 닷넷 파이프라인을 통해 요청을 처리했습니다. 특정 경우에 보안 동작은 닷넷인 경우와 비닷넷인 경우에 다르게 동작했습니다.
그러나, IIS7에서는 "통합(Integrated)" 모드에서 응용프로그램을 실행할 수 있습니다. 즉, 닷넷 기능이 코어 파이프라인의 일부가 되었습니다. 닷넷 콘텐트에만 적용할 수 있었던 폼 인증은 이제 모든 종류의 콘텐트에 사용할 수 있습니다. 이 말은 이제 웹 서버에 있는 모든 콘텐트에 대해서 닷넷 폼 인증, 역할, 권한 관리와 같은 닷넷의 장점들을 갖게 되었다는 것을 의미합니다. 이는 많은 사람들에게 매우 중요한 일입니다. .php, 정적 콘텐트, 데이터베이스에서 가져오는 모든 종류의 동적 콘텐트, 로컬 또는 원격 프로바이더에서 제공되는 모든 것들에 대해서 인증할 수 있음을 의미합니다. 닷넷이 있기 때문에 사용하고 싶은 로컬 또는 원격 저장소와 통합된 자신만의 프로바이더를 작성할 수 있습니다. 이런 작업을 하기 위해 응용프로그램을 수정할 필요도 없습니다! 뿐만 아니라, URLScan과 비슷한 요청 필터링(Request Filtering)이 내장되어 있습니다. 물론, 비스타와 롱혼에는 IIS 보안에 도움이 되는 많은 보안 관련 기능개선이 포함되어 있습니다.
튜러크: 수행성능은 어떻습니까? 이전 버전과 비교했을 때 얼마나 향상되었으며, 누가 성능개선을 통한 이익의 혜택을 가장 크게 받을까요?
힐: 롱혼/비스타의 네트워킹, 파일 시스템 개선, IIS7 파이프라인을 개선할 수 있는 기능과 같은 http.sys의 개선사항들로 인해 성능향상이 있을 거라고 예상하고 있습니다. 솔직히 말해서, 우리는 클라이언트 운영체제인 비스타에 주로 집중하고 있습니다. 베타2가 발표될 때 까지는 엔터프라이즈 수준의 성능 테스트를 IIS7에서 하지 않을 겁니다.
튜러크: 이런 개선사항을 통해 마이크로소프트는 실제로 어디를 목표로 하고 있습니까? - 기업 인터넷 환경입니까? 웹 호스팅 회사입니까? 아니면 양쪽 모두입니까?
힐: 양쪽 모두이며, 그 이상입니다. IIS7의 기능을 확장할 수 있는 개발자들이 우리가 상상하지도 못했던 것들을 할 수 있도록 흥미를 갖기를 바랍니다. 이게 바로 설계의 아름다움입니다. 오픈 디자인, 문서화된 API, 확장 기능을 제공하고, 디자이너, 호스팅을 제공하는 사람, 기업 조직, 취미를 가진 사람들이 창의적인 것들을 만들기를 바랍니다.
튜러크: 관리 UI는 어떻습니까? 이 부분에 대해서도 변화가 많은 것처럼 보입니다. 이런 변경사항들을 통해 많은 사이트를 관리하는 것을 보다 쉽게 할 수 있습니까? 아니면 더 어려워졌습니까?
힐: 새로운 IIS 관리자는 완전히 새롭게 재설계되었습니다. 내가 마이크로소프트에 합류하기 전에는 IIS6를 구형 자동차에 신형 고속 엔진을 달아놓은 것 같다고 IIS 팀에게 농담하곤 했습니다. 실제로, IIS6 UI는 IIS4 설계를 수정한 것입니다. 새로운 IIS7 아키텍처로 인해 UI 설계에 대해서도 완전히 다시 생각하는 게 필요했습니다. 개발자들이 UI를 확장할 수 있으면서, 관리자가 제어를 위임하는 것도 가능하게 해야 했습니다. 그리고, 이 모든 작업들을 같은 콘솔에서 수천 개의 사이트를 관리해야 하는 호스팅 제공 업체들도 가능하게 해야 했습니다. 또한, 넷 설정, 새 사용자 생성, 사용자 인터페이스나 IIS에서 접근할 수 없는 다른 설정들도 보여줄 필요가 있었습니다. 여러분이 상상할 수 있는 것처럼 올바른 방향을 찾기 위해 1-2 이터레이션이 걸렸습니다.
IIS6을 사용한 경험이 있는 사용자라면 UI 창의 작업창(Tasks Pane)에 나열된 것을 보고 핵심 기능을 수행할 수 있습니다. 예를 들어, 사이트와 폴더로 구성되는 표준 트리 뷰에서 웹 사이트 노드를 클릭하면 작업창은 새로운 가상 디렉터리를 생성하고, 기본 설정들을 편집할 수 있습니다. 이들 선택사항은 여러분이 UI에서 어디에 있느냐에 따라 변화합니다.
새 기능을 통해 구체적인 설정에 대한 설정 정보를 웹 사이트 오퍼레이터에게 위임할 수 있습니다. 이런 방식을 사용해서 특정 개인이 웹 루트에 있는 web.config 파일에서 IIS 설정을 수정하게 할 수 있습니다. 예를 들어, IIS 관리자는 사이트에 사용되는 인증 유형 또는 기본 페이지를 변경하기 위해 사이트의 web.config 파일을 사용할 수 있습니다. 이런 방법을 사용해서 웹 사이트 설정을 신뢰할 수 있는 다른 사용자에게 권한을 위임할 수 있으며, 또는 IIS7 서버에서 중앙집중방식으로 관리할 수 있습니다.
튜러크: IIS7은 비스타와 롱혼 서버 플랫폼에서만 이용할 수 있습니까? 아니면 기존 플랫폼에도 적용됩니까?
힐: IIS7은 비스타와 롱혼 서버와 함께 배포됩니다. 현재로서는 다른 마이크로소프트 운영체제에 대한 계획은 없습니다.
튜러크: IIS7은 비스타와 롱혼 서버 버전에 따라 어떻게 다릅니까?
힐: 가장 기대되는 뉴스 중에 하나는 누락되는 것은 하나도 없으며, IIS 5.1에서 변경된 것만 있다는 점입니다. 많은 사람들이 알고 있는 것처럼 XP 프로페셔널에 IIS 5.1은 오직 하나의 웹 사이트만 사용할 수 있었습니다. 비스타에 포함된 IIS7은 웹 사이트를 여러 개 만들 수 있습니다. 이는 개발자들에게 큰 이익입니다. 뿐만 아니라, 클라이언트 운영체제에서는 10개의 연결만 가능한 제약이 있었는데, 이제는 원하는 만큼 요청을 처리할 수 있습니다. 그러나, 현재로서는 동시에 10개만 처리되고 나머지는 요청 큐에 들어갑니다.
튜러크: IIS는 여전히 개선될 여지가 있습니까? 다음 버전에 포함되었으면 하는 기능들은 무엇입니까?
힐: 물론, 여기에는 항상 개선의 여지가 있습니다. 개선사항들을 보기 위해 롱혼 서버가 나올 때 까지 기다려야 한다고 생각하지 않습니다. 지금 여러 대의 서버를 관리하는 IIS 사용자들에게도 도움이 될만한 몇가지 프로젝트가 있지만, 지금 당장은 얘기할 수 없습니다.
튜러크: 공개적으로 이용할 수 있는 IIS7 리소스들이 있습니까? IIS7에 대해 알고 싶은 기업들을 위해 추천할 수 있는 곳이 있습니까?
힐: 베타2 단계가 되면, 새 IIS7 리소스에 대한 소식을 듣게 될 겁니다. 그 때 까지는 IIS7의 세부 사항을 알기가 어려울 겁니다.
채널9에서 웹캐스트와 팟캐스트를 볼 수 있습니다. MSN에서 IIS7을 검색하면 새로운 웹 관리 API를 담당하고 있는
카를로스와 대단한 재능을 가진 개발자
데이비드의 블로그를 볼 수 있습니다.
튜러크: 마지막으로 시장은 어떻게 반응할거라 추측합니까? IIS7은 마이크로소프트가 아파치에 대응해서 시장을 확대하는 데 도움이 될까요? 아니면 아파치가 여전히 주도권을 쥐고 있을까요?
힐: 나는 IIS 팀과 깊이 연관되어 작업을 했으며, 가능한 한 가장 좋은 제품을 내놓기 위해 그들이 한 노력을 지켜봤습니다. 고객들이 필요한 것, 개선할 점, 가장 신뢰성 있고, 안전한 제품을 만들기 위해 노력했습니다. 나는 이런 노력을 옆에서 지켜본 사람으로, 시장 관점에서 얘기할 수 없습니다. 모든 노력은 좋은 제품으로 나올 것이며, IIS와 윈도우의 채용과 구현으로 이어질 것입니다. 우리가 좋은 제품을 만들었다면 보다 많은 사람들이 이를 사용하고 싶어할 것입니다.
미치 튜러크는 Windows 2003 Administration in a Nutshell, Windows Server 2003 in a Nutshell, Windows Server Hacks의 저자이다.