DevLog

엔지니어링 블로그를 한 곳에서 탐색하고, 최근 발행 흐름을 빠르게 파악할 수 있는 서비스 입니다.

Quick Links

  • Latest Feed
  • Engineering Directory

Support

  • 소개
  • 개인정보처리방침

Contribute

  • 원하는 블로그 추가 (준비 중)
  • Feedback

© 2026 DevLog Inc. All rights reserved.

본 사이트는 공개 RSS 피드를 통해 콘텐츠를 수집하며, 모든 콘텐츠의 저작권은 원저작자에게 있습니다.

Back to Feed
Read Original

Contents

Continue Reading

  • More from 토스
  • Related reads#Kubernetes
#DevOps

수천 개의 API/BATCH 서버를 하나의 설정 체계로 관리하기

수천 개의 API/BATCH 서버를 하나의 설정 체계로 관리하기
01

Summary

"오타 하나에 50억 정산이 위험해?" 수천 대 서버 설정을 '코드'로 다스리는 법

토스페이먼츠가 복사-붙여넣기 지옥을 탈출해 구축한 계층형 오버레이 및 템플릿 설정 아키텍처

대규모 결제 시스템을 운영하는 토스페이먼츠가 수만 줄의 YAML 설정 지옥을 어떻게 해결했는지 상세히 다룹니다. 단순 관리를 넘어 오버레이 구조와 동적 템플릿을 결합하여 하이브리드 클라우드 환경에서도 일관성을 유지하는 '진화하는 설정 체계'의 구축 과정을 공유합니다.

  • 01설정 오타로 인한 대규모 금융 장애 리스크를 방지하기 위한 Configuration as Code 전략
  • 02Global부터 App까지 계층별 우선순위를 부여해 중복을 제거하는 '오버레이 아키텍처'
  • 03JVM 옵션 등 복잡한 설정 내 특정 수치만 동적으로 치환하는 '템플릿 패턴' 활용
  • 04설정 내부에 파이썬 스크립트 및 조건부 로직을 주입하여 유연성 극대화
  • 05Jenkins Job-DSL과 선언형 구조를 통한 배치 작업 관리의 표준화

+RECOMMENDATION

인프라 규모가 확장됨에 따라 설정 관리에 한계를 느끼는 DevOps 엔지니어에게 추천하며, 단순한 IaC 도구 활용을 넘어 엔지니어링 관점에서 설정을 어떻게 설계해야 하는지에 대한 실전 인사이트를 제공합니다.

The Problem

수천 개의 API 및 배치 서버 설정이 수동 복사-붙여넣기 방식으로 관리되어 오타로 인한 정산 오류나 인프라 장애 위험이 높았으며, 하이브리드 클라우드 환경의 복잡성으로 인해 일관된 설정 유지가 어려웠습니다.

The Solution

설정값을 계층화하여 우선순위에 따라 조합하는 '오버레이 아키텍처'와 특정 값만 동적으로 치환하는 '템플릿 패턴'을 도입하고, 파이썬 스크립트 주입 등 설정에 로직을 포함할 수 있는 동적 인프라를 구축했습니다.

The Result

단일 설정 체계를 통해 AWS와 IDC를 아우르는 하이브리드 환경의 수천 개 서버를 효율적으로 제어하게 되었으며, 설정 중복 제거와 선언적 구조 도입을 통해 장애 발생 가능성을 낮추고 개발 생산성을 높였습니다.

Trade-off

오버레이 아키텍처는 YAML의 Key-Value 단위 구분에 의존하기 때문에 긴 문자열이나 배열 내부의 일부 값만 수정하기 어렵다는 한계가 있으며, 이를 해결하기 위해 템플릿 패턴을 추가 도입하면서 설정 시스템의 전체적인 복잡도가 증가하는 트레이드오프가 발생했습니다.

03

Key Concepts

Concept · 01

Overlay Architecture

여러 설정 계층을 겹쳐서 하나의 결과물을 만드는 방식으로, 상위 계층의 기본값을 하위 계층에서 덮어쓰는 구조입니다.

  • Global, Cluster, Phase, App 순으로 계층을 정의하여 관리
  • 서버가 자신의 위치와 가장 가까운 계층의 설정값을 우선 인식하도록 설계
Concept · 02

Template Pattern

설정 파일 내부에 변수를 삽입하고 실행 시점에 동적으로 값을 치환하여 설정의 재사용성을 높이는 방식입니다.

  • JVM_OPTION과 같이 긴 문자열 전체를 다시 쓰지 않고 특정 값만 변경 가능
  • 오버레이 아키텍처 위에서 동작하며 계층별로 다른 변수 값 주입 가능
Concept · 03

Config as Code

인프라 및 애플리케이션 설정을 코드와 동일하게 취급하여 버전 관리, 테스트, 자동화 배포를 수행하는 패러다임입니다.

  • 설정 파일에 파이썬 스크립트를 주입하여 동적인 값 생성 가능
  • CI/CD 과정에서 환경에 맞는 설정을 자동으로 선택하여 배포 전략 제어
Continue reading · same source

토스More from 토스

View all posts from 토스
  • 누군가는 토스를 테스트하는 동안, 우리는 테스트하는 법을 만듭니다.

    QA EngineeringTest AutomationAI in Testing
    2주 전
  • es-toolkit: How a Small Internal Library Became a Global Project

    JavaScriptTypeScriptTree-shaking
    2주 전
  • 6. 도구를 넘어, 기준과 책임으로

    Technical WritingAI AutomationKnowledge Governance
    2주 전
  • 5. Technical Writer, 사라질 결심

    LLMGitHub ActionsGenerative AI
    2주 전
  • es-toolkit, 사내 작은 라이브러리가 전세계적인 라이브러리가 되기까지

    JavaScriptTypeScriptTree-shaking
    3주 전

Related reads#Kubernetes

Explore #Kubernetes
채널 톡·Istio

Istio 3-4편: 507 status code와 istiod disconnected 탐지

#Kubernetes8시간 전
Flex·Platform Engineering

[인프라를 소프트웨어처럼 5/5] 다섯 축의 운영 총합, 그리고 AI 시대의 플랫폼팀

#Kubernetes5일 전
Flex·IaC

[인프라를 소프트웨어처럼 4/5] plan은 동작을 모른다: 인프라를 테스트·재현한다는 것

#Kubernetes1주 전
채널 톡·Istio

Istio 3-2편: Partially Enrolled Pod와 Untaint Controller

#Kubernetes1주 전
Flex·ArgoCD

[인프라를 소프트웨어처럼 3/5] 환경은 브랜치에서 태어난다: Environment Variant

#Kubernetes1주 전

Source

토스
토스
Engineering Blog

Published · January 9, 2026

Topics

KubernetesGitOpsJenkinsIaCHybrid CloudAutomationConfig Management