KEDA를 활용한 로그 시스템 오토스케일링 경험담

우아한형제들은 KEDA를 활용하여 100만 TPS의 로그 시스템에 오토스케일링을 성공적으로 적용하였습니다. 이 경험을 통해 로그 처리의 변동성을 관리하며 비용 효율성을 높이는데 기여하게 되었습니다. 본 문서에서는 KEDA 도입 과정과 실제 운영 사례를 통한 운영 환경 개선 방안에 대해 설명합니다. KEDA 적용을 통한 로그 시스템 아키텍처 변화 KEDA를 도입하기 전, 우아한형제들은 기존 HPA를 이용하여 로그 시스템의 오토스케일링을 시도했습니다. 하지만 평균 CPU 및 메모리 사용량을 기준으로 스케일링이 진행되면서 한계에 봉착하게 되었습니다. KEDA의 도입 이후, 이벤트 기반으로 스케일링을 설정함으로써, 로그 시스템의 아키텍처를 유연하게 설계할 수 있었습니다. KEDA는 다양한 이벤트 소스를 지원하여 로그 시스템의 특성에 맞는 스케일링 기준을 설정할 수 있게 해줍니다. 예를 들어, Fluentd의 버퍼 사용률을 기준으로 스케일링 트리거를 설정함으로써, 시스템이 실제로 부하를 받기 시작하기 전에 프로세스를 조정할 수 있었습니다. 이는 로그 처리의 안정성을 크게 향상시켰고, 유연한 리소스 관리로 비용을 줄일 수 있는 기반을 마련하였습니다. 이러한 변화는 로그 시스템 아키텍처의 효율성을 높이고, 운영 환경을 개선하는 데에 결정적인 역할을 했습니다. 다양한 메트릭을 조합하여 스케일링 미세 조정이 가능해짐으로써, 시스템 부하가 예상되는 피크 시간대에도 원활하게 처리할 수 있는 역량을 갖추게 되었습니다. KEDA 도입을 통한 메트릭 기반 스케일링 효과 KEDA의 도입은 로그 시스템의 메트릭 기반 스케일링을 가능하게 하였습니다. 기존 HPA와 달리, KEDA는 프로메테우스를 이용해 다양한 지표를 직접적으로 활용할 수 있게 해줍니다. 이를 통해 CPU 및 메모리 사용량 외에도 Fluentd 버퍼와 같은 중요한 메트릭을 스케일링 기준으로 설정할 수 있었습니다. Fluentd의 버퍼가 일정 사용률을 초과할 경우 이를 위기 상황으로 간주하여 스케일 아웃을...

AI 시스템의 확장성과 안정성, 그 균형의 기술



1. 폭발적으로 성장하는 AI 인프라의 현실

최근 몇 년간 AI 모델의 크기와 처리량은 기하급수적으로 증가했습니다. 기업들은 경쟁적으로 대규모 모델을 도입하고 있지만, 문제는 ‘빠른 성장’이 곧 ‘안정적 운영’을 보장하지 않는다는 점입니다. AI 인프라는 복잡할수록 예기치 못한 병목과 리스크를 동반합니다. 특히 실시간 예측이나 데이터 파이프라인에서의 지연은 비즈니스 전체의 신뢰도를 흔들 수 있습니다.

필자의 시각으로 보면, AI의 확장은 단순한 기술의 확장이 아니라 조직의 운영 철학을 시험하는 과정입니다. 많은 기업이 ‘모델 정확도’에 집중하지만, 실제 현장에서는 **예측 정확도보다 서비스 가용성**이 더 중요합니다. AI가 아무리 뛰어나도, 다운타임이 발생하면 사용자에게는 단 하나의 인상만 남습니다 — “멈췄다”는 사실입니다.

2. 확장성과 안정성, 두 마리 토끼 잡기

AI 시스템 설계에서 가장 어려운 부분은 **확장성과 안정성의 균형**입니다. 확장성을 위해 마이크로서비스, 서버리스 아키텍처, 분산 학습 환경 등을 도입하지만, 이로 인해 시스템의 복잡도가 급격히 증가합니다. 이 복잡성이 바로 불안정성의 씨앗이 됩니다.

따라서 중요한 것은 새로운 기술을 추가하는 것이 아니라 **불필요한 의존성을 제거하는 것**입니다. 모든 기술 도입에는 반드시 “이게 정말 필요한가?”라는 질문이 따라야 합니다. 필자는 이를 ‘기술 절식(Tec-Fasting)’이라 부릅니다. 필요 이상으로 기술을 섭취하면, 시스템은 무겁고 둔감해집니다. 오히려 가벼운 구조가 위기 상황에서 더 강한 복원력을 발휘합니다.

또한 자동화는 안정성의 열쇠입니다. 단순한 자동화가 아니라, 실패를 감지하고 복구까지 스스로 수행할 수 있는 **자율적 운영(Autonomous Ops)** 이 필요합니다. 최근에는 MLOps와 SRE가 결합된 형태의 운영 모델이 등장하면서, AI 시스템도 점점 “스스로를 관리하는” 방향으로 진화하고 있습니다.

3. 관점의 전환: ‘성능’보다 ‘지속 가능성’

기업들이 AI를 운영하면서 흔히 하는 실수가 있습니다. 바로 성능 지표(Accuracy, Latency, Throughput)에만 집중하는 것입니다. 하지만 진정한 안정성은 수치가 아니라 ‘예측 가능성’에서 나옵니다. 즉, 시스템이 언제 어떻게 실패할지를 예측할 수 있다면 그 자체로 이미 안정적이라는 뜻입니다.

필자의 견해로는, 이제 AI 산업의 경쟁력은 “누가 더 큰 모델을 학습시키느냐”가 아니라 “누가 더 오랫동안 안정적으로 운영하느냐”에 달려 있습니다. 엔지니어링은 속도가 아니라 지속성의 문제입니다. 지속 가능한 AI는 화려하지 않지만, 결국 모든 혁신의 토대가 됩니다.

예를 들어, 한 글로벌 기업은 모델 성능 향상에만 집중하다가 운영 중 장애로 수백만 건의 요청이 실패하면서 큰 손실을 입었습니다. 그 이후 그들은 ‘모델 정확도 1% 향상’보다 ‘시스템 가용성 0.1% 개선’을 더 중요하게 평가하기 시작했습니다. 이 변화는 단순한 KPI의 수정이 아니라, 조직 전체의 인식 전환이었습니다.

4. 결론: AI 운영의 본질은 신뢰다

AI는 결국 사람과 사람을 연결하는 도구입니다. 아무리 정교한 모델이라도, 신뢰를 잃으면 의미가 없습니다. 따라서 AI 시스템의 설계와 운영에서 가장 중요한 것은 ‘확장’이 아니라 ‘신뢰의 지속’입니다. 기술적 혁신보다 더 오래가는 가치는 바로 신뢰입니다.

필자의 생각으로, AI 운영의 궁극적인 목표는 **완벽한 성능이 아니라 예측 가능한 안정성**입니다. 예측 가능한 시스템은 위기를 기회로 바꾸고, 문제를 성장의 재료로 삼습니다. AI 엔지니어링의 미래는 화려함이 아니라 ‘꾸준함’에 있습니다. 꾸준히, 예측 가능하게, 그리고 안정적으로. 그것이 진짜 혁신의 시작점입니다.


이 블로그의 인기 게시물

우아한형제들의 실시간 알림 혁신: SSE(Server-Sent Events)로 이룬 효율성과 안정성

물어보새의 진화와 지식 공유 확장

우아한 디버깅 툴 개선으로 QA 업무 효율화