#DevOps

SRE 업무에 AI 녹여내기 — 1편: Smart RI Calc로 인프라 비용 산정 자동화

SRE 업무에 AI 녹여내기 — 1편: Smart RI Calc로 인프라 비용 산정 자동화
01

Summary

SRE의 고질적인 수작업 탈출기! AI와 코드로 인프라 비용 산정 90% 단축하는 법

지루한 엑셀 계산과 Karpenter 노드 예측의 늪에서 벗어난 여기어때 SRE팀의 Smart RI Calc 개발기

여기어때 SRE팀이 반복되던 20분짜리 수작업 인프라 비용 산정과 골치 아픈 EKS 노드 증설 예측을 자동화한 과정을 다룹니다. AI는 회의록을 읽고 파싱하는 비정형 영역에만 활용하고, 정확한 계산과 노드 시뮬레이션은 정밀한 백엔드 규칙 기반 코드로 분리해 하이브리드 아키텍처를 설계했습니다. Karpenter의 실제 동작을 세밀하게 관찰하고 도출해낸 네 가지 보정 로직을 통해 시뮬레이터의 예측 정확도를 획기적으로 끌어올렸습니다.

  • 01비정형 회의록에서 리소스 스펙을 안전하게 추출하는 3단계 Multi-step AI 파이프라인 설계
  • 02Karpenter 동작을 완벽히 복제하는 대신 사내 인프라 제약과 HA 환경을 반영한 Heuristic 예측 알고리즘 구현
  • 03오차 0을 달성하기 위한 AI(비정형 파싱)와 코드(수치 연산)의 명확한 역할 분담 및 Human-in-the-loop 도입
  • 04Karpenter의 TopologySpreadConstraints 제약(과반수 점유 금지) 및 실가용량(95% 오버헤드) 보정으로 시뮬레이션 싱크율 극대화
  • 05매일 새벽 Consolidation 종료 직후인 아침 7시로 스냅샷 갱신 시간을 고정하여 결과의 일관성 보장

RECOMMENDATION

EKS 및 Karpenter 환경을 도입해 운영 중이지만 노드 스케일링 예측이나 신규 아키텍처 비용 산정에 리소스가 낭비되는 플랫폼/DevOps 엔지니어들에게 적극 추천합니다.

The Problem

기존 아키텍처 리뷰 시 진행되는 인프라 비용 산정 및 EKS 노드 증설 예측은 엔지니어가 직접 엑셀과 수동 조회에 의존해 프로젝트당 약 20분이 소요되었습니다. 또한 Karpenter의 예측 불가능한 스케줄링 특성상 담당 엔지니어에 따라 산정 결과가 일관되지 않고 편차가 발생하는 문제가 있었습니다.

The Solution

회의록 같은 비정형 텍스트 분석은 3단계 LLM 파이프라인(구조 분석-정규화-자가 검증)에 맡기고, 정밀한 비용 매칭과 EKS 노드 증설 예측은 백엔드 규칙 기반 코드로 처리하는 하이브리드 자동화 도구인 Smart RI Calc를 구축하였습니다. Karpenter 예측을 위해 최소 가용분 기준 보정, topologySpreadConstraints 제약 반영, 노드 실가용량 95% 보정 및 스냅샷 갱신 시각 고정 등의 규칙을 시뮬레이터에 적용하고 최종 계산 전 인간 검증(Human-in-the-loop) 단계를 두었습니다.

The Result

비용 산정 및 노드 증설 예측 작업 시간이 프로젝트당 기존 20분에서 2분으로 약 90% 단축되었습니다. 또한 담당자나 조회 시점과 무관하게 고정된 로직에 의해 동일한 시뮬레이션 결과를 도출할 수 있게 되어 계산의 신뢰성과 일관성을 확보하였습니다.

Trade-off

예측 결과의 일관성을 유지하기 위해 노드 스냅샷을 매일 아침 7시에 단 한 번 고정 갱신하므로 낮 시간대의 실시간 노드 변동 사항이 즉각 반영되지 못합니다. 또한 AI 파싱 결과와 시뮬레이션 과정의 정확도를 위해 사용자가 최종 연산 전에 직접 검토하고 수정해야 하는 수동 검증 단계(Human-in-the-loop)를 유지해야 합니다.

03

Key Concepts

Concept · 01

Karpenter

AWS EKS 환경에서 동작하는 유연하고 빠른 노드 오토스케일러로, 자원 요청량과 배포 제약 조건에 맞춰 최적의 인스턴스 타입을 동적으로 판단하여 노드를 프로비저닝합니다.

  • 사내 아키텍처 리뷰 시 Karpenter가 어떤 사양의 노드를 몇 대 증설할지 예측하기 위한 시뮬레이션 대상이 되었습니다.
  • Bin-packing 규칙뿐만 아니라 topologySpreadConstraints 같은 실제 파드 배치 제약 조건을 고려하여 시뮬레이터 로직을 설계했습니다.
Concept · 02

Human-in-the-loop (인간 참여형 루프)

인공지능 모델의 완전 자동화 대신, 의사결정 프로세스 중간에 인간이 직접 개입하여 검증하고 피드백을 주는 상호작용 설계 방식입니다.

  • AI가 컨플루언스 회의록에서 파싱해 온 리소스 데이터를 백엔드 연산으로 넘기기 전, 사용자가 화면에서 직접 수정할 수 있게 단계를 분리했습니다.
  • 이를 통해 AI의 허루시네이션(환각)으로 인한 잘못된 단가 계산 및 비용 과다 청구를 원천 방지했습니다.
Concept · 03

Consolidation (노드 통합)

Karpenter 등의 스케일러가 리소스 사용률이 낮은 노드의 파드를 다른 노드로 효율적으로 재배치하고 빈 노드를 축소하여 비용을 최적화하는 과정입니다.

  • 사내 Consolidation 작업이 집중 수행되는 매일 새벽 4시~6시 시간대를 포착했습니다.
  • 조회 시점마다 결과가 달라지는 문제를 막고자, Consolidation이 모두 종료되는 아침 7시 시점의 스냅샷을 예측 기준값으로 고정했습니다.