zerovoids.dev
zerovoids.dev

Ø NEWS

엔지니어링 · 인시던트 회고

스포티파이, AI가 끌어올린 속도에 네 군데서 동시에 흔들렸다

스포티파이는 AI가 끌어올린 개발 속도 탓에 콘텐츠 처리·자동화된 플릿 관리·컴퓨트 부족·모바일 품질이 한꺼번에 흔들렸다고 밝혔다. 원인으로 AI가 만든 부실 코드는 꼽지 않았다.

키워드ai-mlinfraci-cd

스포티파이는 매일 50만 건 넘는 신곡·영상·팟캐스트·오디오북을 처리하고, 초당 1100만~1200만 건의 백엔드 요청을 받아낸다. 이 규모에서 최근 콘텐츠 처리, 자동화된 플릿 관리, 컴퓨트 부족, 모바일 앱 품질이라는 네 영역이 한꺼번에 흔들렸다.

정작 원인으로 AI가 만든 부실 코드는 꼽히지 않았다. 스포티파이 안팎에서 빨라진 변화 속도 자체가 네 문제를 동시에 건드렸다.

콘텐츠 처리 — 6월 24일에 무슨 일이 있었나

스포티파이는 원래 두 가지 약점을 안고 있었다. 처리에 실패한 미디어 파일이 아무 경보 없이 조용히 묻혀 게시 지연이 몇 시간 동안 발견되지 않을 수 있었고, 늘어나는 영상 카탈로그 처리에 맞춰 용량을 충분히 늘려두지 못해 트랜스코딩 용량이 바닥나면 정상적인 영상 에피소드도 경보 없이 대기열에 쌓였다. 6월 24일에는 이 두 약점 위로 배치 작업이 새 에피소드 처리와 자원을 다퉜고, 최근의 품질 개선이 에피소드당 필요한 컴퓨트를 늘렸으며, 스케줄링 버그가 처리량을 약 10% 떨어뜨리는 일이 동시에 겹쳤다. 평소 몇 분 안에 게시되던 에피소드가 몇 시간씩 밀렸다. 이후 실패를 창작자보다 먼저 아는 엔드투엔드 모니터링을 추가하고 스케줄러를 고쳤으며, 배치 작업을 낮은 우선순위로 돌리고 용량을 늘렸다. 서비스 티어링과 작업 우선순위도 다시 짜, 용량이 부족할 때 중요 서비스와 신규 업로드가 먼저 처리되게 했다.

자동화된 플릿 관리 — 안전장치를 통과한 실패

스포티파이의 자체 플릿 매니지먼트 프레임워크는 수년째 매일 대규모 변경을 자동으로 만들어왔고, 그중 대다수는 안전 검사를 통과하면 자동으로 병합된다. 1년 넘게 이 체계를 더 복잡한 에이전트 주도 변경까지 확장했고, 최근에는 백엔드 서비스 전반의 자바 마이그레이션을 사흘 만에 끝냈다. 속도가 더 붙으면서 자동화 규모가 커지자 새로운 실패 양상도 생겼다. 올해 한 자동 의존성 업그레이드는 검사를 통과했지만 실제 운영 환경에서 실패해 최종 사용자에게 영향을 줬다. 스포티파이는 안전장치를 강화하고 롤백 역량을 확충하며, 자동 변경을 해당 서비스를 소유한 팀의 근무 시간대에 맞춰 실행하도록 일정을 조정하고 있다.

컴퓨트 부족 — 리전 장애 조치가 예전 같지 않다

업계 전반에서 AI 수요가 급증했지만 공급은 그만큼 늘지 않아 CPU와 GPU 모두 여유 용량이 줄었다. 스포티파이는 그동안 필요할 때 컴퓨트 용량을 대체로 구할 수 있는 환경에서 운영해왔지만, 이제는 그 용량을 예측하기 어려워졌다. 한 리전이 장애를 겪으면 트래픽을 다른 리전으로 옮기는데, 올해 초 실제로 리전 장애 조치를 실행했을 때 이 용량 부족이 예전이라면 사소했을 문제를 키워 이용자가 체감할 정도로 만들었다. 5월 인시던트 이후 예약된 엣지 용량을 두 배로 늘렸고, 현재는 내부 서비스 메시 트래픽의 일부를 수동으로 옮길 수 있다. 이 통제를 엣지 트래픽까지 넓히고 리전 간 트래픽 분산을 테스트하는 작업은 아직 진행 중이다.

모바일 앱 — 더 빨라진 순환

스포티파이 모바일 앱 품질은 10년 넘게 밀물과 썰물처럼 오르내렸다. 새 기능을 빠르게 내보내는 데 집중하면 경험 품질과 맞바꾸는 지점이 생기고, 부정적인 신호가 쌓이면 다시 용량과 인센티브를 품질 쪽으로 옮겨 가드레일 지표를 넓히고 회복한다. 시간이 지나면 기존 지표와 가드레일이 잡지 못하는 새로운 문제가 또 나타나 이 순환이 반복된다. AI가 변화 속도를 끌어올리면서, 이 순환은 더 짧은 주기로 반복되고 있다.