![[코드가 환경을 모르는 구조 1/7] 코드는 무엇을, 환경은 어디서 - 다시 더 깊이](https://flex.team/blog/og/main.jpg)
0
AI 요약
이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.
이 게시물은 코드가 환경을 모르는 구조의 원리를 다섯 레이어(배포·인프라·디버깅·테스트 포함)에 걸쳐 반복되는 경계 개념으로 설명합니다.
경계는 “무엇을”에는 의도와 계약을 남기고 “어디서”에는 외부에서 주입되는 값을 두어 설정합니다.
Port/Adapter 단면을 기준으로, 배포·클라우드·시간·공간·테스트 축에서 교체 가능한 지점을 설계해 고통을 줄입니다.
배포에서는 Helm values 3단 오버라이드와 ArgoCD App-of-Apps로 환경별 값만 층층이 쌓아 교체되는 것은 클러스터·네임스페이스로 만듭니다.
클라우드는 flex-terraform처럼 리소스 생성 대상을 모듈(Adapter)로 분리해 교체되는 것은 클라우드·리전으로 만듭니다.
시간·공간·테스트에서는 Clock 인터페이스, 디버그 헤더 기반 라우팅, Testcontainer/싱글턴 전략을 통해 교체되는 축(지금, 주소, 스키마)을 정의합니다.
경계는 선언이 아니라 빌드·타입·파이프라인 구조에 “깎아” 넣어 diff나 빌드 실패로 즉시 드러나게 해야 안정성과 속도를 동시에 확보합니다.
![[코드가 환경을 모르는 구조 1/7] 코드는 무엇을, 환경은 어디서 - 다시 더 깊이](https://cdn.sanity.io/images/v31psllp/production/d7669e80f5e28954ae4a8e30b97d6d297e7f7c35-1684x1030.png)
![[미래를 담아낸 뼈대 5/7] 코드가 환경을 모르는 구조](https://cdn.sanity.io/images/v31psllp/production/626db41a03292c4b57863b75c7bc5e755e395184-1684x1030.png)