
코드처럼 관리하는 설정과 사이드카 아키텍처로 완성한 에어비앤비의 차세대 동적 설정 플랫폼 Sitar
이 아티클은 에어비앤비가 수천 개의 마이크로서비스 환경에서 동적 설정을 어떻게 안전하게 관리하는지 다룹니다. 단순한 값 변경을 넘어, GitOps 기반의 검증 프로세스와 회복 탄력성을 극대화하는 아키텍처 설계를 통해 대규모 인프라 운영의 핵심 인사이트를 제공합니다.
대규모 MSA 환경에서 설정 변경으로 인한 잦은 장애를 겪고 있거나, 인프라 운영의 자동화와 안정성을 동시에 잡고 싶은 데브옵스 엔지니어에게 추천합니다.
대규모 시스템에서 동적 설정 변경은 서비스 재시작 없이 런타임 동작을 수정할 수 있는 강력한 도구이지만, 검증되지 않은 변경이 발생할 경우 광범위한 서비스 장애나 성능 저하를 초래할 위험이 큽니다. 따라서 개발자의 유연성을 유지하면서도 시스템의 안정성을 보장할 수 있는 체계적인 관리 체계가 필요합니다.
에어비앤비는 'Sitar'라는 내부 플랫폼을 구축하여 설정을 코드처럼 관리(Config as Code)하는 Git 기반 워크플로우를 도입하고, 제어 평면(Control Plane)과 데이터 평면(Data Plane)을 분리했습니다. 또한, 각 서비스 옆에 사이드카 에이전트를 배치하여 설정을 로컬에 캐싱함으로써 중앙 시스템 장애 시에도 서비스가 중단되지 않도록 설계했습니다.
이를 통해 단계적 배포(Staged Rollout)와 신속한 롤백이 가능해져 설정 변경에 따른 장애 반경을 최소화했으며, 각 팀은 자신의 리스크 프로필에 맞는 맞춤형 배포 전략을 사용할 수 있게 되었습니다. 사고 대응 시에도 관찰성 도구와 긴급 배포 포털을 통해 원인을 빠르게 파악하고 조치할 수 있는 환경이 조성되었습니다.
Trade-off
다중 레이어 아키텍처와 사이드카 패턴 도입으로 인해 인프라 복잡도와 리소스 오버헤드가 증가할 수 있으며, Git 기반의 엄격한 프로세스는 매우 긴급한 수정 시 병목이 될 수 있어 이를 우회하는 별도의 긴급 포털 운영이 병행되어야 합니다.
설정을 소스 코드와 동일하게 취급하여 버전 관리 시스템(Git)에서 관리하고 협업하는 방식입니다.
새로운 변경 사항을 전체 시스템에 한 번에 적용하지 않고, 작은 단위부터 점진적으로 확대 배포하는 전략입니다.
메인 서비스 컨테이너와 함께 실행되며 특정 기능을 보조하는 독립적인 프로세스입니다.




