호스팅2008. 6. 2. 16:59
지난 Windows Server 2008 Launch 이벤트 때 Windows Server 2008의 핵심 Pillar인 IIS7 웹서버에 대해 발표를 했었지요. 그 때 윈도우 호스팅 자동화 솔루션 (WHAS)이 개발 완료되면 공지하겠다고 말씀을 드렸었죠.
마침내, 개발 완료되었습니다. 마이크로소프트의 파트너인 MWorks가 개발하였습니다.

특징은, 윈도우 웹 호스팅 서비스를 바로 시작하실 수 있다는 것입니다. 고객이 웹을 통해 서비스를 신청하면, 프로비전닝 웹서비스를 통해 실제 DNS서버, 웹서버, DB서버에 설정이 자동으로 이루어지는 것이죠.
주요 특징은 AD(Active Directory)가 필요 없다는 것, 각 서버에 Agent 설치가 필요 없다는 것, 프로비저닝 엔진이 웹서비스로 개발되었기 때문에 커스토마이징이 자유롭다는 것, 설치가 쉽고 최소의 서버로 호스팅이 가능하다는 장점이 있습니다. 프로비저닝 서버 1대, 웹 서버 1대, DB서버 1대, 총 3대면 윈도우 웹 호스팅 서비스를 시작할 수 있다는 것이죠. 아 참, 제일 중요한 해당 솔루션의 라이선스 비용은 무료 라는 것, 빼먹을 수없겠죠?
매력적이죠?

사용자 삽입 이미지
Posted by 조이트리
IT Pro2008. 5. 19. 17:14
오픈소스 개발 및 기술을 생각해보면, 몇 가지 장점이 있죠.

1. 모둘화 아키텍처
Apache HTTP 서버 등이 좋은 예 입니다. 모듈화의 장점으로 인해 참여하는 개발자의 수가 굉장히 많은 것이 특징입니다.

2. 다양한 프로그래밍 언어 활용
언어에 대한 제약이 적습니다. 이로 인해 많은 개발자들이 참여를 하게 되고, PHP/Perl/Python/Java 등의 다양한 언어로 인해 Linux 같은 많은 프로젝트가 생겨나고 있습니다.

3. 피드백에 의한 개발
소프트웨어를 개발하고, 튜닝하는데 프로젝트 매니저는 큰 영향을 주게 됩니다. 비록 코드를 수정하지는 않더라도 여러 결점들에 대해서는 피드백을 주고, 결과적으로 최종 사용자는 보다 높은 품질의 제품을 사용하게 됩니다.

4. 필요한 부분이 개발되는 시스템
리눅스에서 가장 자주 보여지는 어플리케이션들은 특정한 역할이 필요하기에 개발된 것입니다.
(Gentoo, BusyBox 등)

5. 시스템 어드민이 직접 코드를 작성
숙련된 시스템 어드민이 최종 코드를 작성하는 능력이 있다는 것은 기술이 특정 환경에 효과적으로 작동하고, 개발자들에게 좋은 피드백을 제공할 수 있다는 것을 의미합니다. 대부분의 Linux, Unix 환경에서 대부분의 시스템 어드민은 유능한 프로그래머 이기도 합니다. (Shell)

6. 표준 기반의 통신
표준이 IETF, W3C 이든 아니면 코드 구현 자체이든지, 표준에 기반한 통신을 하기에 성공할 가능성이 크고, 더 규모가 큰 소프트웨어 생태계를 만드는 경향이 있습니다.

위와 같은 6가지의 아이디어가 Windows Server 2008에 적용되었습니다.

1. 모둘화 아키텍처
IIS7
이 가장 대표적입니다. IIS7은 40개의 개별 모듈로 아키텍처가 구성되었고, 커뮤니티 개발자에 의해 재작성거나 추가될 수 있도록 설계되었습니다. 결과적으로 성능이 향상되었고, 개별적인 추가로 인해 지속적인 기능 향상이 이루어지고 있습니다.

2. 다양한 프로그래밍 언어 활용
PHP를 IIS7
에 지원하고 있고, FastCGI로 인해 성능 및 안정성이 대폭 향상되었습니다. PHP는 WS2008에서의 구동이 인증되었습니다. 또한, .NET 언어 이외의 다른 언어에 대한 런타임, 보안, 관리를 지속적으로 추가 및 확대하고 있습니다. 기존에 PHP 기반의 모든 어플리케이션이 윈도우 서버, IIS, SQL Server에서 구동될 수 있도록 테스트를 계속하고 있습니다. 제로보드가 IIS7에 최적화 되어 구동될 수 있는 방안을 고려중에 있습니다.

3. 피드백에 의한 개발
개발자, 고객 피드백에 의해 특정 기능을 개발하는 것이 지속적으로 이루어지고 있습니다. RODC(Read Only Domain Controller) 등이 대표적인 예입니다.

4. 필요한 부분이 개발되는 시스템
Windows Server Core
같은 경우는 보안 공격 영역을 최소화하고, 하드웨어 상의 메모리 FootPrint를 적게 사용하도록 만들어져 있습니다. 또한, 윈도우 어드민들이 운영체제의 Low Level 구조에 대해 훨씬 더 많이 알 수 있는 기회를 제공하고 있습니다.

5. 시스템 어드민이 직접 코드를 작성
파워쉘
을 통해 WMI의 완전한 영역을 마스터할 수 있고, 재사용 가능한 Low Level 스크립트를 사용할 수 있게 되었습니다.

6. 표준 기반의 통신
카드스페이스 (X.509, SAML, Kerberos 토큰), 웹 서비스 스택 (Open Specification Promise의 38개 웹 서비스 뿐 아니라, Apache의 Axis 웹 서비스 스택과 상호운영 가능한 구현 포함), Xen 가상화 같은 신규 표준과도 베타로 지원을 하고 있습니다.

지속적으로 오픈소스 개발 원칙들로부터 배우고 있습니다. 마이크로소프트가 오픈소스로부터 배우는 것과 동일하게 오픈소스 진영 역시 마이크로소프트로 배우고 있다고 밝혔습니다. "What Open Source can learn from Microsoft"라는 Linux Foundation의 Jim Zemlin의 글을 참고하세요. (OSBC, 3/25) 서로 다른 환경의 IT를 사용하는 조직들이 진화하면서, 서로의 베스트프랙티스를 배워나가고, 더 좋은 소프트웨어를 만들고 있는 것입니다. 결과적으로 우리 모두가 앞서 나가게 하는 계기가 되는 것이지요.

(Sam Ramji의 글을 인용합니다)
Posted by 조이트리
호스팅2008. 5. 7. 13:20
Windows Server 2008의 중요 기능 중 하나인 IIS7 서버에 대한 정보가 궁금하세요?
모든 설치 방법, 기능, 데모 등이 www.iis.net 에 가면 있습니다.

바로 이 iis.net 사이트의 중요한 부분을 차지하고 있는 호스팅 Guidance가 정식 공개됩니다.
호스팅 업체들에게 Windows Server 2008 환경을 구축, 설정, 프로비저닝 및 관리할 수 있는 정보를 제공해드리는 것이 주요 목적입니다. Windows 호스팅 플랫폼의 주요 컴포넌트인 IIS, ASP.NET, 실버라이트, WCF, SQL Server, Windows Sharepoint Services, FastCGI/PHP, Active Directory, DHCP, DNS 등을 모두 다루고 있습니다.

Windows Server 2008 호스팅 시나리오에 기초하여 작성되었고, 웹 호스팅 환경에서 웹, 어플리케이션을 최초 어떻게 시작할 것인지를 제공하고 있습니다. 추가로 서버호스팅, 가상호스팅에 대한 정보가 제공될 예정입니다.

웹 호스팅 시나리오의 베스트 프랙티스를 다양한 MS 관련 커뮤니티로부터의 피드백을 통해 검증 및 수정하였습니다.

 - 샘플 매니지드 코드, 파워쉘 스크립트
 - Wiki 퍼블리싱 기술 
 - IIS 프로덕트팀이 직접 주기적인 정보 제공
 - 테크넷, IIS.NET, 기타 MS Library 정보 활용
 - 분기별로 호스팅 컨텐츠 갱신, 호스팅 시나리오 추가 등


많은 활용 바랍니다. 감사합니다.

Posted by 조이트리
마이크로소프트2008. 5. 7. 13:15

2008년 3월 20일, 신제품 Launch 때 Windows Server 2008의 핵심 Pillar 중 하나인 웹, 즉 IIS7에 대한 발표를 하게되었습니다. "호스팅 업체를 위한 윈도우 호스팅 자동화 솔루션과 IIS7"

윈도우 웹 호스팅을 위해서는 고객이 사이트를 신청하고, 결제를 완료하면 웹서버에 자동으로 웹사이틀 생성해주는 작업이 필요하게 됩니다. 이 부분을 자동으로 진행하지 않는다면 IT 관리자들이 수작업으로 진행을 해야하고, 이 숫자가 하루에 10~20개라면 큰 무리가 없을 수도 있지만 100개 이상이라고 한다면 수작업을 진행하는 것은 거의 불가능한 이야기가 되겠죠. 업무 생산성 향상을 위한 솔루션이 컨트롤 패널이라는 이름으로 존재하고 있었지만, 비용이 만만치 않았습니다.

호스팅 자동화 솔루션을 무상으로 제공하기 위해 마이크로소프트 SPLA 총판인 MWorks가 개발을 진행하고 있고, 이번 Launch 때는 데모를 발표하게 되었습니다. 배포할 수 있는 단계가 되면 이 블로그를 통해 공개하도록 하겠습니다.

IIS7의 특징은 모듈화 구조를 가지고 있다는 것이죠. 자동차로 비유를 해보겠습니다. 차를 구입하고 나면 오디오를 교체하거나, 네비게이션을 달고, 마후라를 새로 교체하는 등의 튜닝을 하시는 분들이 계시지요. 그거 직접 하시나요? 카센터에 가시죠?

이런 경우는 어떨까요? 오디오가 아예 필요 없어요. 현대 자동차에 오디오 빼주세요, 이렇게 이야기하면 들어주나요?

IIS6.0의 경우는 위와 같은 튜닝, 특정 기능 넣고 빼고가 자유롭지 않았습니다. 바꾸려면 네이티브 코드, 즉 C++같은 로우레벨 언어로 개발해야 했는데, 쉽지 않았죠. IIS7.0은 튜닝, 넣고 빼기가 자유로워 졌다는 특징이 있습니다. 매니지드 코드, .NET 언어로도 웹서버의 모듈을 추가할 수 있게 되었고, 이 모듈을 모든 유형의 컨텐츠가 공유할 수 있게 된거죠. CGI 같은 기능이 불필요하다면 설치 단계에서 아예 선택하지 않으면 설치도 되지 않고, 결과적으로 메모리에 로딩 되지도 않습니다. 6.0에서는 Disable시키는 것이라, 메모리에 올라갔던 것에 비하면 메모리 Footprint를 줄일 수 있고, Attack의 위험을 줄일 수 있게 된거죠.

현재 웹서버 버전 어떤걸 사용하시나요? IIS6.0? IIS7.0이 좋은걸 아시고 업그레이드 하려고 합니다. 호환성이 보장될까요? 정답은 YES 입니다. 이럴 때는 Classic Mode를 선택하시면 이전 버전과 호환이 됩니다. IIS7.0의 기본 모드는 통합 모드긴 하지만요. 
Posted by 조이트리
마이크로소프트2008. 5. 7. 13:06


"호스팅 업체를 위한 Windows Server 2008: 호스팅 자동화 솔루션과 IIS7"
지난 3월 20일 발표했던 세션을 3월 25일 부산 상공회의소에서 발표를 합니다.

IIS7의 확 달라진 모습을 확인하시기 바랍니다.
향후 본 블로그를 통해 호스팅 자동화 솔루션에 대한 정보를 지속적으로 올리도록 하겠습니다.

감사합니다.
Posted by 조이트리
IT Pro2008. 5. 7. 13:03

1. IIS7을 Windows Server 2003에 설치 가능한가요?
   - 아니오, IIS7은 Windows Server 2008에서만 구동됩니다. 물론, Windows Vista SP1 버전에서 IIS7의 개발
     자 버전이 구동되긴 합니다. 개발은 Vista의 IIS7에서 하고, 실제 운영은 Windows Server 2008의 운영서버에서 진행하는 형태가 가장 추천되는 시나리오 입니다.

2. IIS7을 커맨드를 이용해서 관리할 수 있나요?
   - 물론 입니다. Appcmd.exe 라고 하는 "맥가이버 칼" 같은 도구로 IIS 관리자에서 수행 가능한 모든 작업을
   커맨드라인으로도 수행할 수 있습니다.

3. IIS6에서 사용하던 ADSI, WMI를 IIS7에서도 사용할 수 있나요?
   - 물론입니다. IIS6.0 관리 호환성을 설치하면 사용 가능합니다.

4. IIS7을 설치하기 위해 모든 기능 서비스, 모듈, 종속성(Dependency)에 대해 알아야만 하나요?
    - 아는 것이 좋습니다. IIS 관리자(GUI) 방식을 사용하면 몰라도 설정이 일부 가능하긴 하지만, pkgmgr를 사용하여 설치하는 경우라면 정확히 알고 있어야, 혹시 발생할 지 모를 오류를 방지할 수 있습니다.

5. 모든 Feature를 인스톨하면 무슨 문제가 있습니까?
    - 사실 문제가 있는 건 아니지만, IIS7.0의 사용하지 않는 기능을 메모리에 올라가게 하므로 메모리 Footprint가 증가되어 성능에 지장이 있고, 해킹 및 보안 위협에 대한 가능성을 높이며, 불필요한 패치 빈도를 높이는 결과를 초래할 수 있습니다.

6. 메타베이스가 사라졌다고 하는데, 왜 FTP 배포 서비스는 메타베이스를 찾는지 궁금합니다.
   - 더 이상 메타베이스가 중심 저장소는 아니지만, FTP 배포 서비스는 IIS6.0과 달라지지 않았으므로 메타베이스가 존재하고 있다고 생각을 합니다. 하지만 IIS7은 모든 요청을 Applicationhost.config로 번역을 해주게 됩니다. 결국 메타베이스는 사용되지 않는 것이고, 리거시 어플리케이션과 Feature는 있다고 생각만 하는 것입니다.

7. 매니지드코드와 네이티브코드가 요청 파이프라인에 동일한 접근 권한을 가지는데, 왜 네이티브 코드를 사용하는 거죠?
   - 성능 이슈 때문에 그렇습니다. 네이티브 코드(C++)는 오버헤드가 적습니다. 매니지드 모듈은 특정 어플리케이션에 맞도록 사용하는 목적, 네이티브 모듈은 글로벌하게 사용하는데 적절합니다.

8. ApplicationHost.config 파일은 서버 정보, Web.config 파일은 어플리케이션 정보를 담고 있습니다.

9. ApplicationHost.config 파일은 아무나 수정 가능합니까?
    - 아닙니다. 윈도우 관리자만 수정 가능합니다.

10. Section Group이 뭐죠?
    - 관련 섹션의 모음 입니다. 계층 구조로 이루어져 있습니다.

11. Location tag은 어떨 때 사용하는 것입니까?
    - Locking 과 Unlocking 용도로 사용합니다. 관리 위임할 때

12. Appcmd.exe가 클라이언트에서 리모트 IIS7을 관리할 수 있습니까?
    - 안됩니다. 리모트 관리(원격)를 위해서는 WMI를 사용하셔야 합니다.

13. 호스팅 업체에서 고객이 Trace 셋팅을 사용하고 싶습니다. 가능한가요?
    - 네, 가능합니다. 하지만, 서버 내의 모든 고객이 Trace가 가능하도록 설정하는 것과 동일함을 고려해야 합니다.

14. Error 모듈을 교체 가능한가요?
   - 네. 가능합니다. 사이트 레벨로 Error 모듈을 교체할 수 있고 IIS7의 확장성이 갖는 장점중의 하나입니다.

Posted by 조이트리