구성 관리란?
구성 관리는 컴퓨터 하드웨어 및 소프트웨어와 같은 시스템을 원하는 상태로 유지 관리하는 프로세스입니다. 구성 관리(CM)는 시간이 지남에 따라 시스템이 기대치에 부합하는 방식으로 작동하도록 보장하는 방법이기도 합니다.
처음에 미군에서 개발되어 현재는 다양한 종류의 시스템에서 널리 사용되는 CM은 원하는 상태에 맞게 패치를 적용, 업데이트 또는 재구성해야 하는 시스템을 식별하는 데 도움이 됩니다. CM이 IT 인프라 라이브러리(ITIL)에서 정의된 IT 서비스 관리와 함께 사용되는 경우도 있습니다. CM은 VMware vCenter에 통합된 툴과 같은 구성 관리 툴을 사용하여 구현되는 경우가 많습니다.

VMware vRealize Automation SaltStack Config 개요

VMware vRealize Automation SaltStack Config - 데이터 시트
구성 관리가 중요한 이유는 무엇입니까?
구성 관리는 문서화되지 않은 변경 사항이 환경에 적용되지 못하도록 하는 데 도움이 됩니다. 이를 통해 CM은 성능 문제, 시스템 불일치 또는 위약금 및 벌금을 초래할 수 있는 규정 준수 문제를 방지하는 데 도움을 줄 수 있습니다. 시간이 지나면서 이러한 문서화되지 않은 변경 사항은 시스템 다운타임, 불안정성 또는 장애로 이어질 수 있습니다.
대규모 시스템에서 이러한 작업을 수동으로 수행하기란 너무 복잡합니다. 소프트웨어 구성 관리에는 각 애플리케이션에 대한 수백 또는 수천 개의 구성 요소가 포함될 수 있습니다. 아울러 IT 조직의 경우 적절한 문서가 없으면 주의가 필요한 시스템, 문제를 해결하기 위해 필요한 단계, 우선 순위를 지정해야 하는 작업, 변경 사항이 시스템 전체에서 검증되고 전파되었는지 여부 등을 쉽게 파악할 수 없습니다.
구성 관리 시스템을 통해 기업은 일관된 방식으로 설정을 정의한 후 설정된 기준선에 따라 이러한 설정을 구축하고 유지할 수 있습니다. 구성 관리 계획에는 다음과 같은 다양한 툴이 포함되어야 합니다.
- 시스템을 그룹으로 분류 및 관리하도록 지원하는 툴
- 기준선 구성에 대해 중앙 집중식 수정을 적용하는 툴
- 영향을 받는 모든 시스템에 변경 사항을 자동으로 적용하여 업데이트 및 패치 적용을 자동화하는 툴
- 성능이 저하되거나 규정을 준수하지 않는 문제 구성을 파악하는 툴
- 문제 해결에 필요한 조치의 우선 순위 지정을 자동화하는 툴•
- 필요한 경우 문제 해결을 적용하는 툴
조직이 API로 연결된 다양한 크기의 많은 코드 세그먼트로 구성된 마이크로 서비스 아키텍처를 점차 채택함에 따라, 등록 및 초기화를 위해 다른 서비스에 대한 연결을 정의하는 각 서비스가 리소스 할당, 암호와 같은 비밀 및 엔드포인트에 대한 규격을 인코딩하는 메타데이터를 활용하는 일관된 구성 관리 프로세스의 필요성이 더욱 분명해지고 있습니다.
이러한 툴을 사용하여 구성 관리 계획은 모든 구성 수정 사항에 대한 가시성을 제공하고, 감사 추적을 지원하고, 시스템에 적용된 모든 변경 사항을 추적함으로써 조직 전반에서 원하는 시스템 상태에 대한 '단일 버전의 정보'를 제공합니다.
구성 관리 작동 방식
구성 관리 프로세스는 각 애플리케이션 및 네트워크 토폴로지에서 구성 데이터를 비롯한 정보를 수집하는 것으로 시작됩니다. 암호화 키 및 암호와 같은 비밀이 안전하게 암호화되고 보관될 수 있도록 식별되어야 합니다. 구성 데이터가 수집된 후에는 원하는 상태의 중앙 저장소가 되는 파일로 로드되어 단일 버전의 정보를 제공합니다.
데이터가 수집되면 조직은 기준선 구성을 설정할 수 있으며, 이는 버그나 오류 없이 의도된 작업을 수행할 수 있는 것으로 알려진 양호한 구성이어야 합니다. 일반적으로 이 기준선은 작동 중인 운영 환경의 구성을 기록하고 해당 구성 설정을 기준선으로 저장하여 설정됩니다.
기준선이 설정되면 조직은 버전 제어 시스템을 채택해야 합니다. 많은 조직이 이를 위해 Git을 활용하여 구성 데이터 저장소를 생성합니다.
감사 및 회계를 통해 이해관계자가 구성에 적용된 모든 변경 사항을 검토하고 수용할 수 있으므로 구성 변경 사항에 대한 책임과 가시성을 확보할 수 있습니다.
구성 관리의 이점
구성 관리 시스템을 활용하면 하드웨어 및 소프트웨어 시스템이 잘못 구성될 때 발생하는 문제를 방지할 수 있습니다. 변경 사항을 추적하기만 하면 향후 비용이 많이 드는 치료/교정 프로젝트를 방지할 수 있습니다. CM은 미래의 문제를 방지할 수 있도록 현재 비용을 지불하는 보험입니다. 예를 들어 구성 관리는 배포된 애플리케이션이 예상대로 작동하도록 개발, 테스트 및 운영 환경을 동일하게 유지하는 데 도움이 됩니다.
문제가 발생하면 CM은 오류가 발생한 환경을 다시 생성하거나, 환경을 복제하여 온프레미스 또는 클라우드 간에 워크로드를 쉽게 확장하고 마이그레이션할 수 있습니다.
구성 관리 툴은 스크립팅을 사용하여 이러한 관리 작업을 자동화합니다. 또한 서버, 가상 머신 및 컨테이너를 며칠 또는 몇 주가 아닌 몇 분 만에 신속하게 원하는 상태로 프로비저닝할 수 있습니다.
구성 관리를 사용하지 않을 경우 어떤 리스크가 발생합니까?
부적절하게 사용하거나 간과할 경우, 조직은 부적절하게 구성된 하드웨어 및 소프트웨어로 인해 다운타임 및 오류가 발생할 수 있는 리스크에 처하게 됩니다. 이로 인해 계획되지 않은 다운타임, 추가 비용, 오류 해결에 낭비되는 수많은 시간, 품질 문제는 물론 다운타임으로 인한 기한 불이행이라는 측면에서 수익에 영향을 미칠 수 있습니다. 대부분의 IT 자동화와 마찬가지로, CM을 통해 조직은 문제 해결에 지속적인 노력을 쏟고 IT는 보다 생산적인 업무에 집중할 수 있습니다.
CM이 없다면 조직은 환경에 발생한 아주 사소한 변화가 개발, 테스트 및 생산을 위한 운영에 미치는 영향을 이해하는 데 크게 어려움을 겪을 것입니다. 이로 인해 시스템의 모든 구성 요소를 이해하지 못해 각 서비스, 구성 매개 변수 및 하드웨어가 시스템에 기여하는 방식을 파악할 수 없게 됩니다.
CM 솔루션을 배포하지 않으면 근본 원인 분석, 문제 해결 및 SLA(서비스 수준 계약) 유지가 점점 더 어려워지고, CM 솔루션이 없으면 조직은 다음과 같은 작업을 수행하는 데 당면 과제에 직면하게 됩니다.
- 구성 변경이 승인되었는지 또는 독자적으로 활동하는지 확인
- 변경 사항이 조직 전반에 미치는 영향 파악
- 무단 구성 변경으로 인한 보안 허점을 신속하게 파악