재앙급 애플 아이폰6 실시간 중계...왜?

웹사이트 설계 오류 지적 눈길

일반입력 :2014/09/11 10:05    수정: 2014/09/11 10:26

지난 9일 전세계인의 이목을 집중시켰던 애플의 아이폰6 발표행사가 열렸다. 두종류의 아이폰과 스마트시계 애플워치의 공개 모습을 전세계인이 애플의 실시간 중계서비스로 지켜보려했다.

그러나 애플의 실시간 중계를 제대로 보지 못했다는 불평이 곳곳에서 터져나왔다. 애플 공식 홈페이지로 제공된 실시간 스트리밍 서비스가 수시로 먹통현상을 보였기 때문이다. 행사 초기에 중국어 동시통역이 함께 나와 발표내용에 집중하지 못했다는 불만도 나왔다. IT 서비스 측면으로 보면, 변명할 수 없는 명백한 서비스 실패다.

9일 행사시간 중 애플 홈페이지의 실시간 스트리밍 페이지는 계속 서버접속이 허용되지 않는다는 메시지를 반복해 내보냈다. 좀전까지 잘 나오던 중계화면이 갑자기 멈췄다가 행사 맨 처음으로 돌아가는가 하면, 아예 나오지 않기도 했다. 일부의 경우 아예 재생화면을 보여주지 않고, 방송 이전의 카운트다운 이미지만 나온 경우도 있었다.

이에 여러 전문가들이 애플에서 최근 도입한 자체 콘텐츠딜리버리네트워크(CDN) 기술 때문 아니겠느냐는 추측을 내놨다. 하지만 이날 애플의 실시간 스트리밍 서비스 전달을 대부분 기존 CDN 파트너인 아카마이에서 담당했다. 그렇다면 접속자 폭주에 따른 아카마이 CDN 서비스의 용량부족으로 원인을 몰아갈 수 있다.

하지만 CDN전문블로거인 댄 레이번은 같은날 오후 블로그에서 애플의 실시간 스트리밍 실패는 CDN 캐퍼시티 때문이 아니었다고 분석했다.

그에 따르면, 애플은 이번 행사에서 자체 CDN을 적용하지 않고, 20년 파트너인 아카마이에게 서비스를 맡겼다. 그런데 이날 아카마이의 서비스용량은 특별히 부족하지 않았다. 문제는 애플의 홈페이지였다.

애플은 이번 행사의 웹사이트와 콘텐츠 저장을 아마존웹서비스(AWS) S3에 했다. 댄 레이번은 AWS S3 설정이 이번 재앙에 가장 큰 문제였다고 지적했다.

그동안의 실시간 스트리밍과 달리 애플은 이번 행사에서 JSON(자바스크립트 오브젝트 노테이션) 코드를 '애플닷컴' 홈페이지에 사용했다. 중계화면 아래에 이벤트 관련 트윗 노출 같은 대화형 요소도 집어넣었다.

결과적으로 이 방식은 수초마다 중계화면을 포함한 전체 웹사이트를 재시작하게 만들었다. JSON 코드 추가에 대한 결정에 따라 애플닷컴 웹사이트는 캐시가 사라졌다.

이전까지 애플은 보통 아카마이에게 실시간 이벤트 페이지를 캐시하도록 했다. 이번의 경우 아카마이도 웹사이트를 캐시할 방도가 없었다. 계속 재시작되는 페이지와 스트림을 캐시할 경우 로딩 속도에 막대한 영향을 미칠 수 있기 때문이다.

또한 애플은 웹페이지에 비디오를 직접 임베디드로 끼워넣었다. 이로 인해 웹페이지에 어떤 성능 문제가 생기면 비디오도 영향을 받게 됐다.

JSON 코드의 재시작 콜 때문에 애플은 동영상 플레이어의 비디오 품질을 더 낮은 비트레이트로 깎아야 했을 것으로 추정된다. 전보다 스트리밍 요청이 더 많아지기 때문이다.

행사 초반 27분 동안 중국어 동시통역이 함께 나온 건 애플이 행사 화면의 인코딩을 자체적으로 수행했기 때문이었다. 애플 측 누군가 인코더 설정을 적절하게 하지 않았고, 애플에서 보내온 원본 소스를 적절한 지역에 뿌려주는 아카마이는 조치를 취할 수 없었다.

댄 레이번은 결과적으로 애플은 인코더를 재시작해야 했고, 이 작업 역시 중계 중단과 서버접속불가 에러 메시지 노출에 영향을 줬다고 분석했다.

그는 또한 이벤트 페이지를 AWS S3에 올리면서 애플은 한 바구니에 모든 콘텐츠를 담도록 설정한 듯하다며 빈약한 S3 스토리지 컨피규레이션으로 아마존의 단일 지역의 네트워크에 모든 접속요청이 집중되게 만들었다고 지적했다.

세계1위 CDN업체이자 십수년동안 애플의 실시간 스트리밍을 도와온 아카마이는 이번 사태에 억울하게 말려들었다. 댄 레이번의 분석결과 아카마이는 자신들의 엣지 서버에 중계 페이지를 캐시하지 못했다.

대부분의 CDN 아키텍처는 접속자와 가장 가까운 곳에 캐시 서버를 두고 그곳에 데이터를 캐시함으로써, 빠르고 안정적인 서비스접속을 보장한다. 사실 이 것이 CDN 서비스를 쓰는 가장 큰 이유기도 하다. 애플의 이번 실시간 스트리밍은 CDN의 가장 좋은 장점인 '콘텐츠 캐시'를 전혀 활용하지 못하게 만든 것이다.

관련기사

미국 지디넷은 최근 아이클라우드 사건과 이번 실시간 스트리밍 서비스 실패로 보건대, 만약 스티브 잡스가 살아있었다면 당장 직원 절반을 처형했을 것이라고 평가했다.

9일 행사의 실시간 스트리밍 실패와 관련해 애플은 어떤 입장도 내놓지 않고 있다.