💡 핵심 인사이트
GitOps(깃옵스)는 IaC(인프라 코드화)에서 한 단계 더 진화하여, **"서버 인프라 설정이나 쿠버네티스(K8s) 배포 상태 같은 모든 운영 시스템의 통제권을 오직 개발자들의 성지인 'Git(깃허브)' 하나로만 묶어서 관리하자!"**는 현대 클라우드 운영의 절대 철학입니다.
Git 저장소가 서버의 상태를 지배하는 유일한 '진실의 원천(SSOT, Single Source of Truth)'이 됩니다.
Ⅰ. 기존 인프라 운영의 끔찍한 파편화
과거에는 개발 소스 코드는 깃허브(Git)에 예쁘게 저장되어 버전 관리가 되었습니다. 하지만 그 코드가 돌아가는 인프라(서버) 환경은 개판이었습니다.
- 엔지니어 A가 AWS 콘솔에 마우스로 로그인해서 메모리를 4GB로 올립니다.
- 엔지니어 B가 터미널로
kubectl명령어를 쳐서 쿠버네티스 파드를 3개로 늘립니다. 서버는 팽팽 돌아가는데, "대체 누가, 언제, 왜 서버 스펙을 바꿨는지" 기록(히스토리)이 그 어디에도 남아있지 않습니다. 다음 날 서버가 터지면 원인을 못 찾아 밤을 샙니다.
Ⅱ. GitOps의 2대 철학 (선언적 인프라와 Git의 지배)
GitOps 창시 회사인 위브웍스(Weaveworks)는 이 개판을 끝내기 위해 룰을 정했습니다.
"이제부터 터미널 열고 kubectl 같은 수동 명령어 절대 치지 마! 마우스 클릭도 금지야!"
- 선언적(Declarative) 명세서 작성: 서버를 3대 띄우고 싶으면 터미널에 명령어를 치는 게 아니라,
server_count: 3이라는 **yaml 텍스트 파일(코드)**을 작성합니다. - Git이 유일한 신(SSOT): 그 yaml 파일을 깃허브(Git Repository)에 커밋(Push)합니다. Git에 적혀있는 저 텍스트 문서만이 이 우주에서 유일하게 믿을 수 있는 **'진실(정답)'**입니다.
- 자동 동기화 (ArgoCD 봇의 활약):
- 서버 쪽에 심어둔 깐깐한 감시 로봇(ArgoCD 등)이 1분마다 Git 저장소의 텍스트 파일을 몰래 훔쳐봅니다.
- "어라? 깃허브에는 서버 3대(정답)로 적혀있는데, 지금 실제 돌아가는 서버는 2대(현실)밖에 없네?"
- 봇은 인간에게 묻지 않고, Git(정답)에 적힌 대로 실제 서버의 상태를 강제로 똑같이 찍어 눌러 맞춰버립니다(Sync). 서버 1대가 뿅 하고 켜집니다.
Ⅲ. GitOps가 주는 엄청난 축복 (비즈니스 임팩트)
- 감사 추적(Audit)과 보안의 끝판왕
- 누가 서버 포트를 열어서 해킹을 당했어?! 이제 고민할 필요 없습니다. Git의
Commit History(커밋 기록)창을 열어보면, "어제 오후 3시, 김대리가 포트 오픈 코드를 올렸네"라고 증거가 100% 영구 박제되어 있습니다. - 운영 서버에 SSH(터미널)로 뚫고 들어갈 필요가 없으므로 서버 해킹의 문 자체가 아예 막힙니다.
- 누가 서버 포트를 열어서 해킹을 당했어?! 이제 고민할 필요 없습니다. Git의
- 1초 롤백 (재앙 복구)
- 김대리의 코드 때문에 서버가 다운됐습니다. 옛날엔 100대의 서버를 일일이 들어가 고쳤지만, 이제는 깃허브에서
git revert(되돌리기) 버튼 하나만 딸깍 누르면 끝납니다. - 깃허브의 텍스트 코드가 어제 버전으로 돌아가면, 감시 봇(ArgoCD)이 그걸 보고 "어? 정답지가 바뀌었네" 라며 실제 서버 100대를 1분 만에 어제 상태로 싹 다 엎어버립니다.
- 김대리의 코드 때문에 서버가 다운됐습니다. 옛날엔 100대의 서버를 일일이 들어가 고쳤지만, 이제는 깃허브에서
📢 섹션 요약 비유: 옛날 운영 방식이 오케스트라 단원들이 지휘자 없이 **자기 기분대로 악기를 연주(수동 조작)**하여 삑사리가 나면 누가 틀렸는지 모르는 개판이었다면, GitOps는 무대 중앙에 올려진 **'단 하나의 공식 악보(Git)'**입니다. 깐깐한 기계 지휘자(ArgoCD)는 무조건 이 악보에 적힌 대로만 연주하도록 연주자들의 멱살을 잡고 통제하며, 누군가 삑사리를 내도 1초 만에 악보의 원래 음정(Sync)으로 강제로 돌려버리는 완벽한 독재 통제 시스템입니다.