CDM 데이터 모델

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 9분
  • CDM 데이터 모델은 자동화, 품질 검증 및 CSDM. CDM 는 기존 구성 데이터를 임포트하고, 사용자가 정의한 정책을 사용하여 유효성을 검사하고, 유효한 구성 데이터를 조직의 기존 DevOps 파이프라인으로 익스포트하여 애플리케이션, 서비스 및 인프라를 구현합니다.

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

    CDM 데이터 모델 개요

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

    데이터 모델 구조 CDM

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

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

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

    구성요소에는 직접 또는 포함된 하위 구성요소가 포함될 수 있습니다. 구성 요소에는 컬렉션 및 에서 다른 값을 가질 수 있는 변수가 포함될 수 있습니다 배치 가능.

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

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

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

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

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

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

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

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

    A 배치 가능 는 환경과 관련된 변수 또는 재정의 설정을 포함할 수 있습니다. 예를 들어 데이터베이스 변수에는 개발 환경의 값과 프로덕션 환경의 다른 값이 있습니다. 프로덕션 배치 가능 의 재정의 값은 개발 환경에 필요하지 않은 필수 컨테이너 매개변수를 지정할 수 있습니다.

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

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

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

    예제

    예제 BookStore 응용 프로그램의 다음 다이어그램에서 숫자는 구성 요소, 컬렉션 및 배치 가능.
    1. 구성요소는 환경 또는 환경 버전을 나타내는 컬렉션을 형성하도록 그룹화됩니다. FS2(기능 집합 2) 컬렉션에는 현재 개발 및 테스트 중인 애플리케이션의 코어 버전 2에 대한 구성 데이터가 있습니다. 반면 FS1에는 철저한 테스트를 거쳐 현재 프로덕션 환경에서 애플리케이션을 실행 중인 이전 코어 버전 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 배포 가능 항목 개발1 cdi1
    • 배열: 예: ['testApp','deployables','Development1','cdi1']
    구성 요소
    구성요소는 일반적으로 애플리케이션의 논리적 요소 또는 인프라 서비스의 일부에 대한 구성 데이터를 나타내는 구성요소입니다. 예를 들어 모놀리식 앱, 마이크로 서비스, 물리적 서버 또는 Docker 템플릿이 있습니다.

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

    컬렉션

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

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

    배치 가능

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

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

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

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

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

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