Skip to main content

Windows 7 응용 프로그램 준비의 5단계

이 기사의 내용:


응용 프로그램 분석과 프로젝트 테스트 간소화

이제 다음 프로젝트가 뭐지? Windows 7에서 응용 프로그램을 테스트할 차례인가?  걱정 마세요, 사장님.  950개 정도만 확인하면 됩니다…

마이그레이션 프로젝트에서 응용 프로그램 호환성을 얼마나 철저하게 확인하는가에 따라 OS 배포가 비교적 부드럽게 수행될 수도 있고, IT 팀을 지원 센터 문의 전화의 폭풍에 휩싸이도록 할 수도 있으며, 따가운 질책과 지루한 야근을 불러올 수도 있습니다.

몇 년 전 Windows Vista 평가를 시작했을 당시 기업들이 움직이지 못하도록 붙잡은 문제는 응용 프로그램 호환성이었습니다.  조직에서 중요 비즈니스 기능을 위해 사용했던 핵심 응용 프로그램을 Windows Vista에서 사용할 수 없는 경우가 많았습니다. 일부는 Windows Vista에 맞는 새 버전으로 바꿀 예산도, 그럴 의지도 없었습니다. 마지막으로, 중요 응용 프로그램이 사용자 지정 또는 내부 개발 작업의 결과물인데 이 응용 프로그램을 개발한 사람들이 자리를 떠났거나 코드 기반으로 리엔지니어링하는 데 이들을 투입할 수 없는 경우가 있었습니다.

Windows 7로의 마이그레이션을 계획하고 있다면 몇 년 전에 비해 상황이 많이 좋아졌다는 것을 알 수 있습니다. Windows Vista에서 작동하도록 디자인된 대부분의 응용 프로그램은 Windows 7에서도 문제 없이 작동하며, 대부분의 ISV에서 차세대 Windows 운영 체제에 맞게 자체 응용 프로그램을 업데이트하는 작업을 진행했습니다. 따라서 마이그레이션 시작 지점이 Windows XP든 Windows Vista든 상황은 예전만큼 나쁘지 않습니다.

OS 마이그레이션을 위한 응용 프로그램 포트폴리오를 준비하는 일은 중대한 작업이지만 올바른 단계 순서를 따르고 테스트 범위를 축소할 수 있는 몇 가지 까다로운 선택을 한다면 반복적인 작업의 지루함을 조금이나마 덜 수 있습니다.

맨 위로 이동


Windows Vista와 Windows 7에서 응용 프로그램이 실행되지 않는 이유?

그렇다면 Windows 7(및 Windows Vista)의 어떤 변경 내용 때문에 Windows XP용으로 디자인된 응용 프로그램이 실행되지 않는 것일까요? 확실한 것은 Windows Vista 및 Windows 7을 담당하는 엔지니어링 팀에서는 문제를 가볍게 여기지 않았다는 것입니다.

Windows에 대한 변경은 보안, 신뢰성, 성능 및 유용성을 높이기 위해 이루어졌으며, 일부는 단순히 수명이 다한 구식 구성 요소를 제거하기 위한 것이었습니다. 이 기사에서 모든 변경 내용을 나열하기에는 지면이 부족하므로 응용 프로그램 호환성과 가장 관련성이 높은 다음과 같은 항목만 확인해 보겠습니다.

UAC(사용자 계정 컨트롤)/표준 사용자 계정.  엔지니어링 팀은 Windows Vista를 개발하면서 대부분의 조직에서 표준 사용자로 사용자를 배포하고, 관리자 권한은 이를 필요로 하는 IT 전문가에게만 할당할 수 있도록 했습니다.  '최소 권한 사용자 계정'이라고 칭했던 원칙을 클라이언트 PC에 도입하면 악성 맬웨어를 방지하고, 최종 사용자의 구성 오류를 줄이고, 시스템에 무단 응용 프로그램이 로드되는 것을 방지하는 데 도움이 됩니다. 이전에는 응용 프로그램이 레지스트리를 작성하거나 커널을 수정하거나 기타 이와 유사한 위험한 작업을 수행하도록 허용되었습니다. 이러한 자유에는 보안 측면에서 대가가 따랐습니다. 이제 Windows에서는 응용 프로그램이 변경할 수 있는 OS의 매개 변수를 제한하여 맬웨어의 영향을 제한하고 있습니다. 따라서 이러한 동작을 수행하도록 작성된 응용 프로그램은 수정하거나 Shim을 준비해야 Windows 7에서 작동합니다.

Windows XP 운영 체제에 대한 버전 검사를 수행하는 응용 프로그램도 영향을 받습니다. 개발자가 테스트하는 데 사용한 운영 체제 버전으로 응용 프로그램에 대한 지원과 작동을 한정하는 것에도 일리가 있지만, 이것은 사용자가 새 운영 체제에서 응용 프로그램을 설치하지 않거나 동일한 OS에서 새 서비스 팩을 설치하지 않는다고 가정하는 것이기도 합니다. 호환성 모드나 픽스를 통해 비교적 수월하게 해결할 수 있는 문제지만 Windows XP에서 Windows 7로 전환할 때 비교적 자주 드러나는 문제입니다.

맨 위로 이동


Windows 7 응용 프로그램 준비를 관리하는 5단계

다른 큰 작업과 마찬가지로 문제를 논리적이고 관리 가능한 작업으로 분리하는 데 시간을 투자한다면 해결할 수 없는 과제란 없습니다.

응용 프로그램 준비 프로젝트는 수집, 분석, 해결의 세 가지 주요 섹션으로 구분됩니다. 그리고 테스트 프로세스를 간소화하고 데스크톱 인프라를 개선하여 향후 마이그레이션의 관리 용이성을 향상시키는 데 도움이 되도록 테스트 계획을 시작하기 전에 가상화 기술을 고려하고, 롤아웃 전략을 조절하기 위해 테스트 단계의 순서를 지정하는 두 가지 추가적인 단계를 소개하겠습니다.

이제 시작해 보겠습니다.

1단계: 응용 프로그램 인벤토리 수집

첫 번째 단계는 현재 상황을 정확하게 이해하기 위해 응용 프로그램 인벤토리를 만드는 것이며, 이 시점이 되면 문제가 생각한 것보다 크다는 것을 알 수 있을 것입니다.  그러나 더 중요한 사실은 몰랐던 부분을 알게 되었다는 점, 그리고 프로그램 테스트와 준비의 범위를 결정하고 앞으로 해결해야 하는 과제를 파악할 수 있게 되었다는 점입니다. 

다행히 프로세스를 자동화하는 데 사용할 수 있는 다양한 도구가 있습니다.  현재 사용 중인 클라이언트 관리 소프트웨어에 이 기능이 제공될 수도 있고, 무료로 다운로드할 수 있는 Application Compatibility Toolkit를 사용할 수도 있습니다. System Center Configuration Manager, Asset Inventory Service 또는 다른 인벤토리 메커니즘을 이미 보유한 경우에는 이를 시작점으로 사용해도 됩니다.

상세하고 유용한 인벤토리를 만들고 단순한 응용 프로그램 목록 이상을 캡처하려면 응용 프로그램을 사용하는 사람, 이들의 역할, 그리고 이러한 응용 프로그램이 사용자에게 얼마나 중요한지에 대한 세부 정보가 필요합니다.  이 정보를 사용하여 업무 수행에 핵심적인 응용 프로그램의 우선 순위를 선정하고 사용되지 않거나 중복된 응용 프로그램을 제거할 수 있습니다(자세한 내용은 다음 단계에서 설명).

또한 많이 사용되지만 현재 관리되고 있지 않은 응용 프로그램을 식별하는 부수적인 효과도 얻게 됩니다.  이러한 응용 프로그램을 관리 목록에 추가하여 올바르게 관리하고 적절한 버전과 필요한 소프트웨어 업데이트를 적용할 수 있습니다.

2단계: 응용 프로그램 분석

현재 지원하는 응용 프로그램 중에서 대체되었거나 비즈니스 사용자의 선호도에서 밀려난 응용 프로그램의 수는 얼마나 됩니까?  대부분의 조직에서는 많은 수가 해당되고 일부 조직에서는 거의 대부분의 응용 프로그램이 여기에 해당될 것입니다. 따라서 평가를 완료하고 환경을 올바르게 이해할 수 있게 된 다음에는 많은 시간과 비용이 소비되는 회귀 테스트에 들어가기 전에 지원되는 응용 프로그램 목록을 줄이고 필터링하는 과정이 필요합니다.

응용 프로그램 포트폴리오에 대한 적절한 목표를 설정합니다.  지원 가능한 응용 프로그램의 수는 총 몇 개입니까? 응용 프로그램이 “관리되는” 상태로 분류되려면 어떤 수준에 이르러야 합니까?

목표를 설정한 다음에는 달성하기 쉬운 목표를 찾고 테스트가 필요한 응용 프로그램으로 대상을 좁혀야 합니다.

  • 중복되는 응용 프로그램과 사용되지 않는 응용 프로그램을 제거합니다. 동일한 기능을 수행하는 응용 프로그램을 많이 발견할 수 있을 것입니다. 이제 한 기능당 한 응용 프로그램으로 표준화하고 구식 응용 프로그램을 제거할 시점입니다. 한 가지 팁은 응용 프로그램 종속성 맵을 만드는 것입니다. ISV에서 지원하는 특정 응용 프로그램을 사용하기 위해 다른 응용 프로그램의 레거시 버전을 지원해야 하는 경우가 있기 때문입니다. 이렇게 하면 테스트가 수월해지는 것은 물론 라이선스 비용도 절감할 수 있습니다.
  • 동일한 응용 프로그램의 여러 버전을 제거하고 최신으로 표준화하십시오. 대부분의 경우 최신 버전이 가장 우수한 성능을 보여주며 가장 안전하고 안정적입니다. 이 경우에도 응용 프로그램 간 종속성에 유의해야 합니다.

비즈니스 사용자에게서 정보를 수집하여 업무 수행에 필수적인 응용 프로그램의 우선 순위를 선정하고 어떤 부서에서 어떤 응용 프로그램을 사용하는지 확인합니다.  이 정보는 테스트 프로세스의 순서를 지정할 때 도움이 됩니다. 테스트 시점을 새 데스크톱 이미지의 준비된 롤아웃에 맞추는 것이 좋기 때문입니다.

3단계. 비호환성 및 완화 방법 평가

일부 응용 프로그램은 Windows 7에서 사용하도록 준비하려면 약간의 작업이 필요합니다. 이 시점에 몇 가지 선택 사항이 있습니다.

  1. 호환되지 않는 응용 프로그램은 새 버전으로 대체할 수 있습니다. 가장 안정적인 방법이지만 비용이 가장 많이 드는 방법이기도 합니다. 업무 수행에 필수적인 응용 프로그램이거나 운영 전략에 필요하다면 이 방법이 가장 적합합니다.
  2. 기존 응용 프로그램에 대한 Shim을 만듭니다. Shim은 기본 OS에 대한 호출을 수정하기 위해 응용 프로그램과 Windows 간에 삽입되는 작은 코드 조각입니다. 예를 들어 Shim을 사용하면 표준 사용자 모드를 유지하면서도 관리자 모드로 실행되는 것처럼 응용 프로그램을 속일 수 있습니다. Shim 데이터베이스를 유지 관리해야 하므로 약간의 관리 부담이 있지만 이 방법으로 많은 응용 프로그램 문제를 해결할 수 있습니다. 가장 비용 효율적인 방법이며, 응용 프로그램 공급업체가 사라진 경우 유일한 선택 사항일 수 있습니다. 주의할 점은 Shim을 적용한 응용 프로그램은 공급업체에서 지원하지 않는 경우가 많다는 것입니다.
  3. 그룹 정책을 사용하여 응용 프로그램에서 문제가 되는 동작을 변경할 수 있습니다. 보통은 Shim과 마찬가지로 호환성 문제를 해결할 수 있지만 약간의 단점도 있습니다. 기본적으로 이 방법은 응용 프로그램과 문제를 일으키는 특정한 특성이나 기능을 비활성화하는 것입니다. 아쉽게도 많은 경우 이러한 기능은 보안과 관련된 것이므로 이를 비활성화할 때의 단점이 작지 않다는 것이 문제입니다. 마찬가지로 응용 프로그램에 이 관리 효율성을 활성화하는 그룹 정책 설정이 있어야 합니다.

사용자 지정 개발 또는 내부 개발된 응용 프로그램의 경우 물론 코드를 수정하는 방법이 있습니다.  이 방법을 사용할 수 없는 경우도 있지만 가능한 경우 도움을 받을 수 있는 리소스가 많이 있습니다. 예를 들어 응용 프로그램 호환성 설명서에는 Windows Vista에서 Windows 7로 가면서 변경된 부분이 정리되어 있으며, 기본 호환성을 제공하도록 응용 프로그램을 다시 코딩하는 개발자를 위해 무료 가이드로 제공됩니다.

4단계: OS 배포 준비 및 새 응용 프로그램 전달 옵션

OS 마이그레이션 프로젝트를 시작하는 시점은 응용 프로그램을 패키징하고 최종 사용자에게 전달하는 방법을 다시 생각할 수 있는 좋은 시간입니다.  가상화 기술이 등장하면서 이전 주요 OS 마이그레이션에는 없었던 새로운 선택 사항이 생겼습니다. 테스트 프로세스를 시작하기 전에 데스크톱 이미지와 응용 프로그램 전달에 대한 다른 모델도 고려해야 합니다.  경우에 따라 가상 환경을 구현하면 응용 프로그램 테스트와 준비에 드는 비용보다 낮은 비용으로 향후 작업을 위한 더 유연하고 관리하기 편리한 환경을 만들 수 있습니다.

응용 프로그램 호환성 문제를 해결할 수 있는 가상화 유형에는 응용 프로그램 가상화와 OS 가상화의 두 가지 유형이 있습니다.  응용 프로그램 가상화는 응용 프로그램 파일 및 레지스트리 설정을 포함한 응용 프로그램 계층을 OS에서 분리하고 스트리밍을 위해 응용 프로그램을 패키징합니다.  OS 가상화는 몇 가지 다른 형식이 있지만 근본적으로 시스템의 기본 이미지에 대해 독립적인 OS 이미지를 생성합니다.

응용 프로그램 포트폴리오를 가상화하면 관리 효율성 및 유연성과 관련된 다양한 장점이 있지만 핵심적인 장점은 응용 프로그램 간 충돌을 최소화할 수 있다는 것입니다.  이러한 유형의 충돌은 예를 들어 동일한 응용 프로그램의 두 가지 버전을 동시에 실행해야 하는 경우에 발생할 수 있습니다. 교육 과정에서 특정한 작업을 수행할 때 이전 버전과 새 버전 응용 프로그램의 처리 과정을 비교하여 보여 주려는 경우나, 재무 부서에서 회계 소프트웨어를 새 버전으로 마이그레이션하는 중에 회계 연도를 마감하기 위해 이전 버전에 액세스해야 하는 경우가 있습니다.

가상화로 응용 프로그램 호환성을 극복하는 더 일반적인 방법은 중요한 응용 프로그램과 원래의 대상 운영 체제를 포함하는 가상 이미지를 만드는 것입니다. OS 가상화를 위한 도구는 Windows 7 Professional 이상 SKU의 Windows XP 모드와 Virtual PC(Windows 7과 호환되지 않는 Windows XP용 응용 프로그램을 실행하기 위한 관리되지 않는 가상 이미지)부터 정책을 사용하여 가상 시스템을 손쉽게 공급, 구성 및 관리하여 실제 및 가상 환경이 상호 작용하는 방법을 확인할 수 있는 MDOP(Microsoft Desktop Optimization Pack)의 MED-V(Microsoft Enterprise Desktop Virtualization)에 이르기까지 다양합니다.

물론 클라이언트 PC에 다른 컴퓨팅 모델을 도입하는 것은 중대한 작업입니다. 그러나 이제는 PC 공급에 이 모델을 도입함으로써 얻을 수 있는 유연성과 관리 효율성이 조직에 충분한 가치가 있는지 평가해 볼 시간입니다.

5단계: 테스트, 파일럿 및 배포 작업의 순서 지정

준비된 롤아웃을 시작하고 동시에 후속 테스트를 수행할 수 있도록 2단계에서 얻은 우선 순위를 사용하여 테스트 작업의 순서를 지정합니다.

테스트 프로세스를 시작할 때 정적 및 동적 분석의 두 가지 접근 방법을 사용할 수 있습니다. 정적 분석은 비교적 새로운 방법이지만 철저한 테스트 단계에서는 두 가지를 모두 사용합니다.

  • 정적 분석에서는 응용 프로그램의 구조를 조사하고 설치 또는 런타임에 확실히 발생할 문제를 식별합니다. 이 프로세스를 자동화하는 데 도움이 되는 다양한 도구와 서비스가 있으며 명확한 문제를 신속하게 알아낼 수 있습니다.
  • 동적 분석은 기존에 회귀 테스트에서 수행되던 작업이며 런타임에 응용 프로그램의 동작을 조사합니다. 이 분석 방식에서는 다양한 사용자의 하드웨어와 다른 핵심 응용 프로그램 및 드라이버를 포함한 환경을 복제하고 특정한 환경에서 응용 프로그램에 대한 "스모크 테스트"를 수행합니다.
  • 마지막으로 소수의 실제 사용자를 대상으로 응용 프로그램을 실행하고 구조적인 테스트에서 발견하지 못한 이상 현상을 보고하도록 의뢰할 수 있습니다. 테스트용 새 PC를 테스트가 끝난 후에도 계속 사용할 수 있도록 해 준다면 적극적인 테스트 참여를 유도할 수 있을 것입니다!

프로덕션으로 롤아웃을 시작할 준비가 되면 사용자에게 필요한 기능을 바탕으로 또는 업무 중단이 최소화되도록 가장 먼저 마이그레이션이 필요한 사용자를 식별합니다.  익숙하지 않은 화면에서 무엇을 해야 하는지 모르는 일반 직원들의 문의 전화를 처리하는 것보다 전문 사용자 그룹을 마이그레이션하는 편이 쉬울 것입니다. 다음은 이러한 그룹의 업무에 필요한 응용 프로그램을 식별합니다. 사용하는 응용 프로그램의 호환성에 대한 영향이 최소한이거나 영향을 받지 않는 그룹부터 시작하십시오. 이렇게 하면 배포 프로세스와 운영 체제의 유효성을 검사할 수 있습니다. 응용 프로그램 포트폴리오를 완성하면서 더 많은 그룹의 비호환 응용 프로그램을 해결하게 되면 이러한 그룹을 대상으로 배포하십시오.

마지막 조언은 과욕을 피하라는 것입니다.  응용 프로그램 호환성에서 시작해서 범위를 점점 더 넓혀 완전한 응용 프로그램 품질 프로젝트까지 확장한다면 작업을 마칠 수 없을 것입니다. 모든 버그를 제거하려고 하지 말고, 작업 수행을 막는 버그를 제거하는 것을 목표로 하십시오. 그 이상은 시간 낭비일 수 있습니다.

맨 위로 이동


추가 리소스

Windows 7로의 마이그레이션을 위해 응용 프로그램 포트폴리오를 준비하는 일은 큰 작업이지만 프로세스를 간소화하고 더 쉽게 관리할 수 있게 지원하는 다양한 도구와 풍부한 가이드가 있습니다.  이 기사에서는 기본적인 내용만 소개했으므로 더 자세한 내용을 알아보고 실제로 과정을 진행해 보려면 TechNet의 Windows 클라이언트 응용 프로그램 호환성 주요 작업 페이지를 방문하여 Application Compatibility Toolkit를 다운로드하고 프로젝트 계획을 작성해 보십시오.

Chris Jackson의 블로그 응용 프로그램 호환성 이해 환경의 응용 프로그램 호환성 이해를 다루는 Windows 7 응용 프로그램 호환성 백서에서도 유용한 정보 및 지침을 볼 수 있습니다. MDOP Resource Zone에서는 위에 언급한 가상화 기술에 대해 자세히 알아볼 수 있습니다.

Windows 7 및 기타 Windows 클라이언트 기술에 대해 자세히 알아보려면 Windows 7 TechCenter를 방문하여 최신 정보와 지침을 확인하고 커뮤니티에 참여하십시오.

맨 위로 이동

관련 리소스

Microsoft는 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?