목록 보기
[코드가 환경을 모르는 구조 3/7] IaC에도 헥사고날이 관통한다
아키텍처

[코드가 환경을 모르는 구조 3/7] IaC에도 헥사고날이 관통한다

flex
flex
2026년 4월 29일

두줄요약

IaC에서도 헥사고날 구조를 적용해 `spec`를 Port, 클라우드 모듈을 Adapter로 분리했습니다. 컴파일 타임 검증과 스택 분리로 경계 오류와 블라스트 반경을 줄였습니다.

핵심 내용

  • IaC 코드에서 무엇을과 어디서를 분리하는 헥사고날 구조 제안
  • spec 모듈을 Port, 클라우드 모듈을 Adapter로 두는 멀티모듈 설계
  • Kotlin 인터페이스와 컴파일 타임 검증으로 경계 오류를 조기 차단
  • 라이프사이클이 다른 인프라를 네트워크·클러스터·아이덴티티 스택으로 분리

구조와 흐름

  • 제품 모듈은 spec에만 의존하고 구체 클라우드는 주입받는 구조
  • 환경 스택이 dev·qa·prod별 클라우드 조합과 파라미터를 결정
  • StackReference로 스택 간 출력 연결, 단방향 흐름과 얇은 공통 아웃풋 스택 정리

주의할 점

  • 스택 간 양방향 참조로 인한 순환참조 위험
  • 출력 계약 변경 시 타입 버전 불일치와 런타임 캐스팅 실패 가능성
  • 클라우드별 이름 길이 제한 같은 특수 제약은 Adapter 내부 검증 필요

적용해볼 점

  • 클라우드별 추상화를 한 인터페이스로 모으는 방식 검토
  • 변경 주기가 다른 리소스를 스택 단위로 분리해 블라스트 반경 축소
  • 새 클라우드 추가 시 기존 제품 모듈을 건드리지 않는 경계 설계

다음 읽기

#IaC 주제를 이어서 읽기

[코드가 환경을 모르는 구조 3/7] IaC에도 헥사고날이 관통한다

IaC를 헥사고날 구조로 재해석해 spec과 클라우드 구현을 분리하는 방식을 소개했습니다. Kotlin 타입 검증과 스택 분리로 오류를 줄이고 멀티클라우드 확장성을 높였습니다.

flex
flex
아키텍처

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...