WEBBOOK CHAPTER

코드로 운영하는 클라우드 인프라: 3장. Repository와 module 책임을 정한다

3장. Repository와 module 책임을 정한다

module은 재사용 개수보다 안정된 capability와 owner를 기준으로 만든다. root module은 환경 조합, child module은 network·cluster·data 같은 계약을 가진다. provider constraint와 upgrade test를 명시한다.

손쉽게 따라 하기

network module 입력·출력·금지 입력을 정의한다. 입력에는 실제 고객·계정·도메인 대신 tenant-demo, example.invalid와 저장소 fixture만 사용한다. 시작 전 기대 결과와 바꾸지 않을 불변식을 한 줄로 적는다.

같은 화면에서 확인할 증거

lab/public/index.html의 공통 FieldPass Evidence Board에서 책 slug cloud-infrastructure-as-code, 장 번호 3, run ID를 선택한다. 입력, 판정, 관측값, rollback을 채우고 명령 결과와 같은지 확인한다. 성공 화면만 캡처하지 않고 의도한 실패 하나와 다음 안전 행동을 함께 남긴다.

막혔을 때

거대한 shared module이 모든 팀을 막으면 작은 capability로 분리한다. 원인을 확정하기 전 최근 변경, 환경, 권한, 시간 범위와 실제 오류를 고정한다. 외부 서비스를 반복 호출하지 않고 로컬 fixture로 최소 재현한 뒤 한 변수만 바꾼다. 복구는 process 상태가 아니라 FieldPass 예약·결제·정산의 업무 결과로 선언한다.