
인프라 코드 구조화하기
CHAPTER
18
인프라 코드베이스에는 스택 정의, 서버 구성, 모듈, 라이브러리, 테스트, 구성, 유틸리티를 비
롯한 다양한 유형의 코드가 포함된다.
프로젝트 전체 그리고 프로젝트 내에서 이 코드를 어떻게 구성해야 할까?
저장소에서 프로젝트를 어떻게 구성해야 할까?
인프라와 애플리케이션 코드는 함께 있어야 할까 아니면 분리되어야 할까?
여러 부분을 가진 시스템 코드는 어떻게 구성해야 할까?
18.1
프로젝트와 저장소 구성
여기서 프로젝트는 시스템의 개별 컴포넌트를 빌드하는 데 사용되는 코드 모음이다. 단일 프
로젝트 또는 해당 컴포넌트가 얼마나 많은 양을 포함할 수 있는지에 대한 엄격한 규칙은 없다.
5
.
2
절에서는 예를 들어 인프라 스택에 대한 다양한 범위의 레벨을 설명한다.
프로젝트는 코드베이스의 다른 프로젝트에 의존할 수 있다. 이상적으로는 이러한 의존성과 프
로젝트 간의 경계가 잘 정의되어 있으며 프로젝트 코드가 구성되는 방식을 명확하게 반영한다.
콘웨이의 법칙(
15
.
3
절 참고)에 따르면 조직의 구조와 조직이 구축하는 시스템 사이에는 직접
적인 관계가 있다. 팀 구조와 시스템 소유권 그리고 이러한 시스템을 정의하는 코드가 제대로
369
18
장
인프라 코드 구조화하기