구성 관리 계획에 대한 종합 가이드
프로젝트의 다양한 구성 요소 변화를 효율적으로 관리, 기록, 통제, 지시, 실행 및 운영하기 위해서는 견고한 구성 관리 계획이 필수적입니다.
조직 전체의 IT 서비스와 자원을 관리하고 추적하는 데는 시스템 및 거버넌스 엔지니어링 절차가 필요합니다.
구성 관리 계획의 핵심은 모든 요소의 기능적 상호 의존성과 역할을 상세히 문서화하는 것입니다.
최상의 IT 서비스를 제공하기 위해서는 ITIL(IT Infrastructure Library) 지침을 따르는 것이 중요합니다.
ITIL 프레임워크는 백업, 클라우드 서비스, 네트워크 보안, 관리형 인쇄 서비스, 헬프 데스크 지원, IT 컨설팅 등 광범위한 IT 서비스를 포괄하며, 위험 관리, 비용 효율적인 운영, 고객 관계 강화를 위한 체계적이고 구조적인 접근 방식을 제공합니다.
이제 구성 관리 계획의 정의, 장점, 목표, 구성 요소 및 모범 사례에 대해 자세히 알아보겠습니다.
구성 관리란 무엇인가?
구성 관리란 제품의 기능, 성능, 물리적 속성이 수명 주기 전반에 걸쳐 일관성을 유지하도록 설계, 운영 정보 및 요구 사항을 통합적으로 관리하는 것을 의미합니다.
구성 관리 프로세스는 다음의 5단계로 구성됩니다.
- 구성 관리 계획 수립: 프로젝트의 구성을 기록, 관리 및 테스트하는 과정을 기술하는 계획을 수립합니다. 계획에는 각 항목에 대한 소개, 프로젝트 개요 및 관리 전략이 포함됩니다.
- 구성 요구 사항 식별: 이해 관계자들과 회의를 진행하고 결과물을 검토하여 필요한 요구 사항을 명확히 정의합니다.
- 문서화: 모든 구성 요구 사항을 상세히 기록하여 변경 사항을 기준 구성과 비교하고 진행 상황을 측정할 수 있도록 합니다.
- 구성 추적: 상태 계정을 통해 구성의 이전 및 현재 버전을 파악함으로써 효과적인 변경 관리를 수행합니다.
- 준수 테스트: 프로젝트 또는 소프트웨어가 구성 요구 사항을 만족하는지 감사 과정을 통해 검증합니다.
구성 관리 계획이란 무엇을 의미하는가?
모든 규모의 기업은 프로젝트 시작 시 특정 절차를 정의해야 합니다. 각 단계를 세분화하여 계획을 수립하면 전체 과정을 쉽게 관리할 수 있습니다.
구성 관리 계획은 프로젝트의 각 구성 요소에 대한 변경 사항을 제어, 문서화, 정의, 관리 및 감사하는 데 핵심적인 역할을 합니다. 이 계획에는 구성 관리 활동에 필요한 모든 절차와 요구 사항이 명시되어 있으며, 고객의 요구에 따라 프로젝트를 효과적으로 관리할 수 있게 합니다.
적절한 구성 계획은 변경이 필요한 프로젝트 항목들을 명확히 정의합니다. 이러한 항목은 색상, 크기, 형태, 무게, 재료 등 물리적 특성뿐만 아니라 기능적인 사양도 포함할 수 있습니다. 기능 사양은 제품의 성능을 결정하며, 이를 통해 특정 결과물을 얻을 수 있습니다.
예를 들어 자동차의 물리적 사양은 색상, 문 개수 등이며, 기능 사양은 가속 능력, 자동 잠금 장치 등을 포함합니다.
구성 관리에는 계획, 식별, 제어, 상태 기록 및 감사라는 5단계가 포함됩니다. 이러한 시스템 엔지니어링 절차는 군용 차량, 정보 시스템, 무기 시스템과 같은 복잡한 시스템의 수명 주기 전반에 걸쳐 변경 사항을 통제하고 관리하는 데 광범위하게 사용됩니다.
구성 관리 계획의 목표
기업에서 구성 관리 계획을 도입하는 것은 프로젝트 전체를 아우르는 중요한 역할을 합니다. 새로운 제품이나 소프트웨어를 버전별로 관리하고 추적하며, 수명 주기 전반에 걸쳐 소프트웨어, 도구, 하드웨어의 식별된 구성을 효과적으로 제어합니다.
기술 변화에 빠르게 대응하며 시장에서 경쟁력을 유지하기 위해서는 자산에 손해를 입힐 수 있는 잠재적 위험과 원치 않는 상황을 예방해야 합니다. 구성 관리 계획의 주요 목표는 다음과 같습니다.
- 구성 가능한 각 항목에 대한 계획 수립
- 원격 시스템 관리
- 사용자 다운타임 감소
- 안정적인 백업 시스템 구축
- 워크스테이션 설정 간소화
- 다중 사용자 지원 환경 제공
왜 구성 관리 계획이 필요한가?
구성 관리는 데이터를 저장하고 운영하는 메커니즘을 필요로 합니다. ITIL은 CMDB(Configuration Management Database)를 대체하기 위해 새로운 개념인 CMS(Configuration Management System)를 도입했습니다.
이는 CMDB가 단일 모놀리식 저장소의 개념을 제공하는 반면, CMS는 CMDB를 시스템화하여 거버넌스 프로세스 요구 사항을 지원하기 위함입니다.
저장소, CMS 또는 CMDB와 함께 구성 관리 프로세스는 데이터의 모순과 중복이라는 문제에 직면합니다. 이러한 문제 해결을 위해 단일 정보 소스만 표시하도록 CI를 조정하고 통합하는 방법을 제공하는 구성 관리 계획이 도입되었습니다.
구성 관리 계획은 서비스 제공, 보안, 규정 준수 및 일관성이라는 네 가지 주요 목적을 제공합니다. 수십 개의 네트워크 스위치, 물리적 서버, 스토리지 장치 등이 있는 데이터 센터 환경에서 모든 애플리케이션, OS, 장치가 일관된 방식으로 구성되도록 하려면 환경에 대한 정확한 이해가 필수적입니다.
이는 복잡하게 보일 수 있지만, IT 환경에 일관성을 제공하기 위해서는 구성 관리 계획이 반드시 필요합니다. 장치 또는 애플리케이션에 교체 또는 서비스가 필요할 때마다 강력한 계획은 문제 해결에 대한 명확한 기준을 제공하며, 결과적으로 더 빠른 해결이 가능합니다.
구성 관리 계획은 기술 기반 세계에서 중대한 역할을 하며, 다양한 분야에서 수많은 이점을 제공합니다.
- 변경 사항을 추적하여 보안 위반 및 중단 위험을 감소시킵니다.
- 자산의 불필요한 중복을 방지하고 구성 요소에 대한 자세한 정보를 제공하여 비용을 절감합니다.
- 잘못된 구성을 신속하게 식별하고 수정하여 고객 및 직원 경험을 향상시킵니다.
- 상태 모니터링, 감사, 자산 식별을 관리하는 공식적인 정책을 정의하여 프로세스를 엄격하게 통제합니다.
- 상태 기록을 체계화하고 더 나은 릴리스 관리를 지원합니다.
- 장치, OS 또는 애플리케이션을 신속하게 복구할 수 있습니다.
- 더 빠른 문제 해결과 뛰어난 민첩성을 제공합니다.
- 고품질의 서비스 제공을 가능하게 합니다.
- 조직 내 모든 구성 요소에 대한 유연성, 확장성, 가시성을 증진합니다.
구성 관리 계획의 주요 구성 요소 및 단계
IT 서비스 및 인프라 서비스는 프로젝트 관리자 또는 이해 관계자가 전체 프로세스를 쉽게 식별, 문서화 및 감사할 수 있도록 미리 계획된 구조를 가져야 합니다. 개선이 필요한 영역을 파악하고 더 나은 계획을 수립하는 것도 중요합니다.
구성 관리 계획에는 다음 요소들이 포함됩니다.
- 정책, 역할, 책임, 표준, 범위 및 목표
- 적절하게 처리되지 않을 경우 IT 및 인프라 서비스에 영향을 줄 수 있는 구성 항목
- 모든 구성에 대한 변경 관리 절차
- 모든 구성 가능한 항목의 상태를 기록하고 보고하는 방법
- 추적성, 감사성, 책임성 요구 사항에 따른 모든 항목의 정확성 및 완전성 검증 프로세스
- 접근 권한, 버전 관리, 빌드 관리, 보호 및 릴리스 관리를 포함한 구성 제어
- 최소한 두 조직의 공통 경계(예: 시스템 릴리스 및 인터페이스)에서 정보를 기록, 식별 및 관리하기 위한 인터페이스 제어
- 모든 자산의 구성을 통제하기 위해 적절한 계획으로 리소스를 설정하고 구성 관리 시스템을 완전하게 유지 관리
- 관리 프로세스를 수행하는 하청업체 및 공급업체 관리
구성 관리자와 도구 관리자는 전체 계획 과정에서 다음 단계를 따라야 합니다.
- 구성 관리 계획 유지 관리
- 구성 모델 업데이트 요구 사항 식별
- 구성 관리 시스템 변경 작업 검토
- 구성 관리 시스템 데이터 모델 업데이트
- 새로운 CI 유형의 필요성 추적
- CI 수정 요구 사항 확인
- 새로운 CI 유형 생성
- 새로운 CI 구성
- 정책 업데이트 필요성 검토
- 구성 관리 정책 유지 관리
- 구성 관리 정책 구성
- 구성 관리 시스템 업데이트
구성 관리 계획의 다양한 단계
구성 관리 계획은 프로젝트에 참여하는 모든 사람이 프로젝트에 필요한 각 항목의 구성을 정확히 이해하는 데 도움을 줄 수 있습니다. 이를 통해 프로젝트 관리자는 팀이 목표를 달성하기 위한 실행 전략을 수립할 수 있습니다.
또한 이해 관계자들이 프로젝트의 진행 상황과 결과물을 효과적으로 추적할 수 있도록 지원합니다. 이러한 전략을 실행하기 위해 관리자는 다음 4단계를 따라 구성 계획을 수립하고 구현해야 합니다.
#1. 구성 가능한 항목의 식별
먼저 프로젝트와 관련된 모든 구성 가능 항목을 식별해야 합니다. 이를 통해 각 CI에 대한 고유한 관리 방법을 개발할 수 있습니다. 이 단계를 통해 관리 프로세스에 포함된 항목, 제품의 구성 요소, 구성 요소의 구조 및 항목의 버전 정보를 정확히 파악할 수 있습니다.
#2. 구성 제어
이 단계에서는 프로젝트 수명 주기 전반에 걸쳐 제품, 제품의 결과물 및 관련 문서를 관리하는 활동을 제어합니다. 제어 가능한 항목, 제어해야 하는 변경 사항 및 변경을 처리하는 담당자를 명확하게 파악합니다.
#3. 상태 기록
이 단계는 항목의 변경 사항을 기록하고 보고하는 과정을 포함합니다. 상태, 변경 사항, 변경 시간 및 위치, 영향을 받는 구성 요소에 대한 정보를 정확하게 파악합니다.
#4. 감사 및 검증
마지막 단계는 제품, 구성 요소 및 적용된 구성이 요구 사항을 충족하는지 확인하고 정확성을 검증하는 데 필수적입니다. 또한 상태 기록 정보가 정확한지 확인합니다. 구성 항목의 정확성을 보장하는 것 외에도 다음과 같은 이점을 제공합니다.
- 등록, 승인, 추적, 구현 및 평가된 변경 사항을 검증합니다.
- 프로젝트의 효율성을 정확하게 측정합니다.
구성 관리 계획의 적용 분야
구성 관리는 IT 및 인프라 서비스에 필수적입니다. 구성 관리가 중요한 역할을 하는 몇 가지 분야를 살펴보겠습니다.
소스 코드 관리(SCM)
SCM은 많은 조직에서 소스 코드 저장소에 대한 수정 사항을 추적하는 방법입니다. SCM이 도입되기 전에는 개발자들이 자신의 작업을 저장하는 데 어려움을 겪었고, 다른 개발자의 작업을 실수로 덮어쓰는 경우가 많았습니다.
적절한 구성 관리 계획은 과업 충돌이나 데이터 손실을 방지하고, 조직 내 가시성과 통찰력을 향상하는 데 기여합니다.
빌드 엔지니어링
빌드 엔지니어링은 종종 재현성 부족, 추가 기술 부채, 보안 문제 및 종속성 문제를 야기합니다. 이러한 문제점을 해결하기 위해서는 정기적인 워크플로를 생성하기 위한 체계적이고 통합된 표준화 접근 방식이 필요합니다.
환경 구성
동일한 프로젝트 팀 내에서도 여러 개발자는 다양한 아이디어와 결과물을 제시할 수 있습니다. 조직은 개발자들에게 변경 제어, 릴리스 엔지니어링, 배포와 같은 승인된 설계 요소에 따라 작업하도록 요구하여 불일치를 줄이고, 효율적인 개발 환경을 구축합니다.
몇 가지 중요한 구성 관리 용어
구성 관리 데이터베이스
CMDB(Configuration Management Database)는 IT 환경에 대한 정보를 저장하는 중앙 데이터 저장소입니다. 구성 관리에 필수적인 데이터베이스로, 구성 가능한 항목의 데이터를 한 곳에 모아 관리합니다.
여기서 구성 항목은 서버, 가상 머신, 애플리케이션, 컨테이너와 같은 논리적 구성 요소와 라우터를 포함한 물리적 구성 요소를 모두 의미할 수 있습니다. 완전한 기능을 갖춘 CMDB를 위해서는 정확하고 지속적인 업데이트가 필수적입니다.
CMDB는 IT 팀이 정전 시간을 줄이고, 보안 벌금을 방지하고, 보고 및 추적 작업을 효과적으로 관리할 수 있도록 다양한 방식으로 지원합니다. 기술 관리자는 엔터프라이즈 아키텍처 및 자산 관리를 통해 전체 구성 관리 프로세스를 계획하는 데 CMDB를 활용할 수 있습니다.
구성 감사
구성 감사는 승인된 제품에 실제로 적용된 변경 사항을 추적하는 데 도움을 줍니다. 구성 항목이 기능 요구 사항을 충족하고 산업 표준, 정부 법률 및 회사 정책을 준수하는지 확인하는 데 필수적입니다.
구성 관리 계획은 구성 관리의 효율성과 정확성을 보장하기 위해 구성 감사 전략을 수행합니다. 구성 항목과 관련된 작업 및 운영 활동을 결정하는 데에도 중요한 역할을 합니다.
구성 관리 계획의 모범 사례
조직의 자산을 항상 사용 가능하게 하고, 모든 요소가 원활하게 작동하도록 하려면 다음 모범 사례를 구현하여 각 항목을 체계적으로 구성해야 합니다.
- 프로세스, 인력, 기술 통합: 효과적인 구성 관리 계획은 단순히 관리 도구를 시작하고 사용하는 것 이상을 포함합니다. 프로세스, 인력 및 기술을 통합하는 것이 중요합니다.
- 변경 사항 추적: 구성 관리와 관련된 변경 사항을 추적할 때 단일 파일 대신 변경 세트를 사용하는 것이 좋습니다. 변경 세트는 디렉토리 구조, 파일, 단위 테스트 주석, 환경 변경, 변경 이유 등을 그룹으로 묶어 추적합니다.
- 조기 식별 및 테스트: 구성 관리 계획에서 버그와 회귀 오류를 조기에 발견하고 제거하기 위한 테스트 접근 방식을 채택합니다.
- 모든 엔드포인트 관리: 보안 위험과 성능 저하를 방지하기 위해 관리자는 모든 엔드포인트에 대한 변경 사항을 효과적으로 관리할 수 있도록 모든 도구와 프로세스를 통합해야 합니다.
- 성능 테스트: 변경 사항을 신속하게 파악하려면 성능을 지속적으로 모니터링해야 합니다. 성능 테스트를 통해 시스템 기능의 최신 변경 사항에 대한 통찰력을 얻을 수 있습니다.
- 코드 관련 문제 해결: 구성 관리 저장소에 정의되지 않은 코드는 사용하지 않아야 합니다. 이렇게 하면 향후 검토자가 미묘한 버그와 코드 충돌로 이어질 수 있는 문제에 직면하지 않게 됩니다.
결론
효과적인 구성 관리 계획은 조직의 운영 효율성을 높이는 데 매우 중요합니다. 적절한 리소스, 고도로 구성된 데스크톱 및 기타 필수 요소가 필요하며, 이를 통해 모든 시스템이 최적의 상태로 유지되고 리소스에 언제든지 접근할 수 있습니다.
표준 수립, 문서 유지 관리, 구성 무결성 확인, 절차 개선, 버전 관리 등을 통해 접근 방식을 향상시킬 수 있습니다. 결과적으로 생산성 향상, 탄력성 증가, 직원 만족도 증진 및 구조화된 데이터베이스 구축을 달성할 수 있습니다.