
토스페이먼츠가 복사-붙여넣기 지옥을 탈출해 구축한 계층형 오버레이 및 템플릿 설정 아키텍처
대규모 결제 시스템을 운영하는 토스페이먼츠가 수만 줄의 YAML 설정 지옥을 어떻게 해결했는지 상세히 다룹니다. 단순 관리를 넘어 오버레이 구조와 동적 템플릿을 결합하여 하이브리드 클라우드 환경에서도 일관성을 유지하는 '진화하는 설정 체계'의 구축 과정을 공유합니다.
인프라 규모가 확장됨에 따라 설정 관리에 한계를 느끼는 DevOps 엔지니어에게 추천하며, 단순한 IaC 도구 활용을 넘어 엔지니어링 관점에서 설정을 어떻게 설계해야 하는지에 대한 실전 인사이트를 제공합니다.
수천 개의 API 및 배치 서버 설정이 수동 복사-붙여넣기 방식으로 관리되어 오타로 인한 정산 오류나 인프라 장애 위험이 높았으며, 하이브리드 클라우드 환경의 복잡성으로 인해 일관된 설정 유지가 어려웠습니다.
설정값을 계층화하여 우선순위에 따라 조합하는 '오버레이 아키텍처'와 특정 값만 동적으로 치환하는 '템플릿 패턴'을 도입하고, 파이썬 스크립트 주입 등 설정에 로직을 포함할 수 있는 동적 인프라를 구축했습니다.
단일 설정 체계를 통해 AWS와 IDC를 아우르는 하이브리드 환경의 수천 개 서버를 효율적으로 제어하게 되었으며, 설정 중복 제거와 선언적 구조 도입을 통해 장애 발생 가능성을 낮추고 개발 생산성을 높였습니다.
Trade-off
오버레이 아키텍처는 YAML의 Key-Value 단위 구분에 의존하기 때문에 긴 문자열이나 배열 내부의 일부 값만 수정하기 어렵다는 한계가 있으며, 이를 해결하기 위해 템플릿 패턴을 추가 도입하면서 설정 시스템의 전체적인 복잡도가 증가하는 트레이드오프가 발생했습니다.
여러 설정 계층을 겹쳐서 하나의 결과물을 만드는 방식으로, 상위 계층의 기본값을 하위 계층에서 덮어쓰는 구조입니다.
설정 파일 내부에 변수를 삽입하고 실행 시점에 동적으로 값을 치환하여 설정의 재사용성을 높이는 방식입니다.
인프라 및 애플리케이션 설정을 코드와 동일하게 취급하여 버전 관리, 테스트, 자동화 배포를 수행하는 패러다임입니다.





