그러나 이미
1
.
6
절에서 재사용성, 일관성, 투명성을 포함하여 코드로 시스템을 구축해야 하는
이유에 대해 설명했다.
시스템 구현과 관리를 코드로 옮기면서 빨라진 속도를 지렛대 삼아 품질을 향상시킬 수 있으며
네 가지 주요 지표로 측정한 성능을 높일 수 있다 (
1
.
5
절 참고).
4.1
코드로 정의할 수 있는 것
각 인프라 도구가 사용하는 소스 코드의 이름은 다르다. 예를 들면 플레이북
playbook
, 쿡북
cookbook
, 매니페스트
manifest
, 템플릿
template
이 있다. 이것을 일반적인 의미에서 인프라 코드 또는
인프라 정의라고 부른다.
인프라 코드는 원하는 인프라 구성 요소와 구성 방법을 모두 정의한다. 그리고 나서 인프라 도
구를 실행하여 인프라 인스턴스에 코드를 적용한다. 이 도구는 신규 인프라를 만들거나 코드로
작성된 정의와 일치하도록 기존의 인프라를 수정한다.
코드로 정의해야 하는 몇 가지 항목은 다음과 같다.
●
인프라 스택 : 인프라 클라우드 플랫폼에서 프로비저닝된 구성 요소 모음이다. 인프라 플랫폼에 관한 자
세한 설명은
3
장을, 인프라 스택의 개념은
5
장을 참고하자.
●
서버 구성 요소 : 패키지, 파일, 사용자 계정, 서비스를 말한다 (
11
장).
●
서버 역할: 단일 서버 인스턴스에 함께 적용되는 서버 구성 요소를 뜻한다 (
11
.
3
절).
●
서버 이미지 정의 : 여러 서버 인스턴스를 빌드할 수 있는 이미지를 생성한다 (
13
.
1
절).
●
애플리케이션 패키지 : 컨테이너를 포함해 배포 가능한 애플리케이션 아티팩트
artifact ...