CDM 데이터 모델

  • 릴리스 버전: Australia
  • 업데이트 날짜 2026년 03월 12일
  • 소요 시간: 9분
  • CDM 데이터 모델은 자동화, 품질 확인 등 CSDM소프트웨어 제공의 광범위한 수명주기를 지원하는 표준화된 데이터 구조입니다. 기존 구성 데이터를 임포트하고, 사용자가 정의한 정책을 사용하여 유효성을 검사하고, 유효한 구성 데이터를 조직의 기존 DevOps 파이프라인으로 익스포트하여 애플리케이션, 서비스 및 인프라를 구현합니다. CDM

    중요사항:
    DevOps 구성 은 이제 더 이상 지원되지 않으며 새로운 활성화에 사용할 수 없습니다.

    CDM 데이터 모델 개요

    CDM 데이터 모델은 구성에 대한 사용자의 생각을 바꾸지 않습니다. 대신 REST API 및 사용자 인터페이스를 사용하여 CDM 기존 JSON, YAML, INI, XML 및 기타 구성 데이터를 다음과 같은 이점을 제공하는 직관적인 데이터 구조에 매핑합니다.
    • 엄격하고 투명한 버전 및 변경 통제를 구현합니다.
    • 중요한 데이터를 암호화하고 데이터에 대한 적절한 액세스 제어를 보장합니다.
    • 구성 데이터의 자동 확인을 활성화합니다.
    • 값과 오버레이 값을 포함한 변수를 사용하여 구성 데이터 구조를 재사용할 수 있습니다.

    데이터 모델의 CDM 구조

    CDM애플리케이션은 에 있는 애플리케이션 서비스, 애플리케이션 모델 또는 동적 CI 그룹 [인프라]에 대한 구성 데이터의 전체 컬렉션입니다.CMDBCDM 사용자는 표준 계층 구조에서 다음과 같은 빈 폴더를 포함하는 애플리케이션 기록을 생성합니다. 시스템에서 기존 구성 데이터를 수집한 후 데이터를 적절한 폴더의 구성요소로 구조화합니다. 구성요소 컬렉션을 생성한 다음 컬렉션을 배포 가능 항목 , 즉 제공 프로세스에서 배포할 수 있는 구성 데이터 세트(개발, 테스트 또는 프로덕션 환경용)로 결합합니다. 각 구성요소, 컬렉션, 변수 및 배포 가능 항목은 구조의 노드 입니다.

    새 CDM 애플리케이션의 폴더 구조

    구성 요소
    구성요소는 일반적으로 애플리케이션의 논리적 요소 또는 인프라 서비스의 일부에 대한 구성 데이터를 나타내는 구성요소입니다. 예를 들어 모놀리식 앱, 마이크로 서비스, 물리적 서버 또는 Docker 템플릿이 있습니다.

    구성요소에는 직계이거나 포함된 하위 구성요소가 포함될 수 있습니다. 구성요소에는 컬렉션 및 배포 가능 항목에서 다른 값을 가질 수 있는 변수가 포함될 수 있습니다.

    구성요소를 공유 구성요소 라이브러리로 그룹화할 수 있습니다.

    팁:
    구성요소나 컬렉션에서 변수의 기본값을 정의하는 것이 유용한 경우가 많습니다. 작은 구성요소 및 컬렉션 집합에서 다양한 배포 가능 항목을 만들 수 있기 때문에 이는 강력한 전략입니다. 구성요소 또는 컬렉션을 상속하는 배포 가능 항목은 재정의, 오버레이 및 변수 설정을 사용하여 환경 유형의 요구 사항을 충족할 수 있습니다. 예를 들어 개발 배치 가능테스트 배치 가능와 동일한 구성요소와 컬렉션을 사용할 수 있습니다. 개발 에서는 기본 데이터베이스 변수 값을 사용합니다. 반면 Test는 테스트 환경에 적합한 다른 값을 사용합니다.
    구성요소 변수 폴더
    구성요소 Vars 폴더에는 구성요소 폴더의 모든 CDI에서 사용할 수 있는 변수가 포함될 수 있습니다. 구성요소 Vars 폴더가 하나만 있습니다.
    컬렉션

    컬렉션은 함께 릴리스를 정의하는 구성요소 집합입니다. 컬렉션은 릴리스 컴퍼지션이라고 생각할 수 있습니다.

    컬렉션에는 특정 버전과 관련된 변수 또는 무효화 설정이 포함될 수 있습니다. 예를 들어 릴리스 1에 사용된 VM 구성 데이터는 릴리스 2에 사용된 데이터와 다릅니다. release-1은 메모리 설정("memory": "2Gb")에 값 2Gb를 사용할 수 있으며 release-2는 다른 값("memory": "4Gb")을 지정할 수 있습니다. 또한 컬렉션에는 구성요소에 나타나지 않는 구성 설정이 포함될 수 있습니다. 이러한 값을 오버레이라고 합니다.

    컬렉션은 애플리케이션, 현지화 또는 기능 세트의 특정 버전을 나타낼 수 있습니다. 예를 들어 collection-2 라는 컬렉션에는 애플리케이션의 릴리스 2.0 기능을 나타내는 구성요소 집합 또는 구성요소 버전이 포함될 수 있습니다. 반면, 릴리스 3.0 기능을 나타내는 collection-3이라는 컬렉션에는 동일한 구성요소 또는 구성요소 버전, 추가 구성요소 또는 구성요소 버전, 기타 변수, 재정의 및 오버레이 설정이 포함될 수 있습니다.

    컬렉션 변수 폴더
    컬렉션 Vars 폴더에는 컬렉션 폴더의 모든 CDI에서 사용할 수 있는 변수가 포함될 수 있습니다. 각 컬렉션에는 하나의 컬렉션 Vars 폴더가 있습니다. 컬렉션 변수는 구성요소 변수보다 우선순위가 높습니다.
    배치 가능

    데이터 구조에서 배포 가능 항목을 추가하고 구성합니다. A 배치 가능 는 제공 프로세스에서 배포할 수 있는 구성 데이터 세트(개발, 테스트 또는 프로덕션 환경용)입니다. 애플리케이션의 각 배치 가능 구성은 의 서비스 구성을 나타냅니다.CMDB

    배포 가능 항목은 특정 환경에 대한 릴리스를 정의하는 컬렉션 또는 컬렉션 집합으로 구성됩니다. 컬렉션+환경의 조합으로, 인프라 서비스의 CMDB 애플리케이션 서비스로 연결됩니다.

    환경 배치 가능 별 변수 또는 무효화 설정을 포함할 수 있습니다. 예를 들어 데이터베이스 변수의 값은 개발 환경에서는 하나이고 프로덕션 환경에서는 다른 값을 가집니다. 프로덕션 배치 가능 의 재정의 값은 개발 환경에서 필요하지 않은 필수 컨테이너 매개변수를 지정할 수 있습니다.

    DEV-2라는 예제 배치 가능collection-2 컬렉션을 포함하고 릴리스 2.0의 개발 환경과 관련된 변수, 재정의 및 오버레이 설정을 지정합니다. 반대로 명명된 PROD-2에는 배치 가능collection-2 컬렉션도 포함되지만 대신 릴리스 2.0의 프로덕션 환경과 관련된 설정을 지정합니다.

    변경 세트가 만족스러우면 변경 내용을 저장하고 커밋할 수 있습니다. 시스템은 다른 사용자의 커밋된 변경 세트와의 충돌을 확인합니다. 상충이 없는 경우 시스템은 변경 내용을 유지한 다음 변경의 영향을 받는 모든 배치 가능 항목의 스냅샷을 생성합니다. 스냅샷은 잠재적인 익스포트 가능한 구성 데이터 세트를 나타냅니다. 시스템은 각 스냅샷에 대해 정책을 실행하고 확인 결과를 반환하여 구성 데이터의 유효성을 검사합니다.

    배포 가능 변수 폴더
    배포 가능 항목 Vars 폴더에는 배포 가능 항목 폴더의 모든 CDI에서 사용할 수 있는 변수가 포함될 수 있습니다. 각 배포 가능 항목에는 하나의 배포 가능한 Vars 폴더가 있습니다. 배포 가능 변수는 컬렉션 변수보다 우선순위가 높습니다.

    예제

    예제 BookStore 애플리케이션의 다음 다이어그램에서 숫자는 구성요소, 컬렉션 및 배포 가능 항목.
    1. 구성요소는 환경 또는 환경 버전을 나타내는 컬렉션을 형성하기 위해 그룹화됩니다. FS2(기능 집합 2) 컬렉션에는 현재 개발 및 테스트 중인 애플리케이션의 Core 버전 2에 대한 구성 데이터가 있습니다. 반면 FS1에는 철저하게 테스트되었으며 현재 프로덕션 환경에서 응용 프로그램을 실행 중인 이전 Core 버전 1이 있습니다.
    2. 이 예에서 FS2(테스트 환경에서 사용되는 컬렉션)와 FS1(프로덕션 환경에서 사용되는 컬렉션)은 모두 S3 특정 VM template. 따라서 FS1 및 FS2 컬렉션은 모두 이 두 구성 요소를 상속합니다. 컬렉션은 서로 다른 기능 집합을 나타내기 때문에 FS1과 FS2는 변수 또는 재정의를 사용하여 구성 요소에 대한 몇 가지 다른 설정을 지정하는 경우가 있을 수 있습니다.
    3. 각 배포 가능 항목에는 환경(개발, 테스트 또는 프로덕션)에 적합한 컬렉션이 포함되어 있습니다. 이 예에서 TEST 배포 가능 항목은 FS2 컬렉션, 최신 버전의 기능 세트 및 테스트 환경에서 사용되는 기타 구성 설정을 사용합니다. 반면 PROD 배포 가능 항목은 프로덕션 환경에서 FS1을 사용합니다. FS1은 프로덕션에 대해 유효성이 확인된 구성 데이터 컬렉션의 이전 버전입니다.

      각 배포 가능 항목에서 변수는 환경에 적합한 값으로 설정됩니다. 예를 들어, PROD에서 데이터베이스 변수는 prod1 (프로덕션 데이터베이스)으로 설정됩니다. 그러나 TEST 배포 가능 항목은 테스트 팀에서 사용하는 데이터베이스 중 하나인 test3을 지정합니다.

    이 다이어그램은 단순화되었습니다. 구현 배포 가능 항목 에는 여러 컬렉션, 변수 및 재정의 설정, 오버레이 설정(배포 가능 항목을 구성하는 구성요소 및 컬렉션에 나타나지 않는 설정)이 포함될 수 있습니다. 또한 각 환경 유형에 대해 여러 개의 배포 가능 항목이 있을 수 있습니다.

    구성요소와 컬렉션이 다양한 환경을 위한 배포 가능 항목으로 빌드할 수 있는 콘텐츠를 제공하는 방법

    정의

    CDI
    구성 데이터 항목(CDI)은 단순한 키-값 노드입니다.
    변수
    변수는 CDI 내에서 참조할 수 있는 키-값 항목입니다.
    상위 노드 및 하위(리프) 노드
    • CDI와 변수는 키-값 항목입니다. CDI와 변수는 하위 노드만 될 수 있습니다.
    • 구성요소, 컬렉션, 배포 가능 항목 및 폴더 노드는 상위 노드, 즉 키-값 항목 또는 기타 상위 노드를 가질 수 있는 노드일 수 있습니다.
    주:

    버전 4.2부터 구성 데이터 관리 는 슬래시(/)를 포함한 모든 UTF-8 문자를 사용하여 노드를 정의할 수 있습니다.

    이름 경로
    이름 경로는 목록에서 선택한 노드의 전체 폴더 경로입니다. REST API에서는 다음 형식으로 배열에 이름 경로를 제공할 수 있습니다.
    • 백슬래시 형식: 예 - testApp/deployables/Development1/cdi1
      주:
      노드 이름에 백슬래시("/")가 포함된 경우 이 형식을 사용할 수 없습니다.
    • 대체 문자가 있는 백엔드 이름 경로: 예 - testApp 배포 가능 항목 Development1 cdi1
    • 배열: 예 - ['testApp','배포 가능 항목','Development1','cdi1']
    구성 요소
    구성요소는 일반적으로 애플리케이션의 논리적 요소 또는 인프라 서비스의 일부에 대한 구성 데이터를 나타내는 구성요소입니다. 예를 들어 모놀리식 앱, 마이크로 서비스, 물리적 서버 또는 Docker 템플릿이 있습니다.

    구성요소에는 컬렉션 및 배포 가능 항목에서 다른 값을 취할 수 있는 변수가 포함될 수 있습니다. 자세한 지침은 에 나와 있습니다 구성요소 정의 또는 업데이트.

    컬렉션

    컬렉션은 함께 릴리스를 정의하는 구성요소 집합입니다. 컬렉션은 릴리스 컴퍼지션이라고 생각할 수 있습니다.

    컬렉션에는 특정 버전과 관련된 변수 또는 무효화 설정이 포함될 수 있습니다. 예를 들어 릴리스 1에 사용된 VM 구성 데이터는 릴리스 2에 사용된 데이터와 다릅니다. release-1은 메모리 설정("memory": "2Gb")에 값 2Gb를 사용할 수 있으며 release-2는 다른 값("memory": "4Gb")을 지정할 수 있습니다. 또한 컬렉션에는 구성요소에 나타나지 않는 구성 설정이 포함될 수 있습니다. 이러한 값을 "오버레이"로 생각할 수 있습니다.

    배치 가능

    A 배치 가능 는 CI/CD 파이프라인에 서비스로 배포할 수 있는 구성 데이터 세트(개발, 테스트 또는 프로덕션 환경용)입니다. 애플리케이션의 각 배치 가능 애플리케이션은 에서 서비스를 구성합니다.CMDB 예를 들어 각 환경 유형(개발, 테스트 및 프로덕션)에 대해 하나씩 세 개의 배포 가능 항목을 만들 수 있습니다.

    A 배치 가능 는 특정 환경에 대한 릴리스를 정의하는 컬렉션 또는 컬렉션 집합으로 구성됩니다. 내 애플리케이션 서비스 CMDB 또는 인프라 서비스에 대한 컬렉션+환경의 조합입니다.

    A 배치 가능 는 환경에 따라 변수를 포함하거나 설정을 무효화할 수 있습니다. 예를 들어 데이터베이스 변수의 값은 개발 환경에서는 하나이고 프로덕션 환경에서는 다른 값을 가집니다. 프로덕션 배치 가능 의 재정의 값은 개발 환경에서 필요하지 않은 필수 컨테이너 매개변수를 지정할 수 있습니다.

    변경 세트 및 스냅샷
    애플리케이션에 대한 CDM 변경 내용을 커밋하면 시스템은 변경 내용을 애플리케이션의 변경 세트 로 유지합니다. 그런 다음 시스템은 변경의 영향을 받는 모든 배치 가능 항목의 스냅샷도 생성합니다. 스냅샷은 잠재적인 익스포트 가능한 구성 데이터 세트를 나타냅니다. 시스템은 각 스냅샷에 대해 정책을 실행하고 확인 결과를 반환하여 구성 데이터의 유효성을 검사합니다. 확인을 통과하고 게시된 스냅샷은 구성 데이터로 릴리스 파이프라인에 익스포트할 수 있습니다.
    공유 구성요소 및 구성요소 라이브러리
    구성 데이터 관리 공유 구성요소를 사용하면 여러 애플리케이션에서 구성요소를 사용할 수 있습니다.

    더 나은 구성을 위해 이러한 공유 구성요소는 구성요소 라이브러리에서 관리됩니다. 이러한 구성요소 라이브러리는 애플리케이션 전체에서 구성요소의 구성 데이터에 대한 단일 진실 소스를 보장하여 일관성과 유지 관리 가능성을 개선합니다.

    파일 노드
    파일 노드는 앱 또는 구성요소 라이브러리의 CDM 구성 데이터 모델에 파일을 첨부할 때 생성됩니다. 첨부된 파일에 대한 링크가 포함되어 있습니다. 파일 노드를 사용하여 에서 지원되는 ServiceNow AI Platform모든 MIME 유형의 파일을 첨부할 수 있습니다.