아마존-넷플릭스, 클라우드 장애의 교훈

일반입력 :2013/01/04 08:27    수정: 2013/01/04 08:46

아마존웹서비스(AWS)가 지난해 크리스마스 전날 발생한 장애에 대해 사과했다. AWS 장애의 최대 피해자 넷플릭스는 기술적 문제점 보완에 최선을 다하겠다고 다짐했다.

호스팅 회사와 이용자 사이의 단순한 장애지만, 이번 사건은 클라우드 서비스와 사용자 간 미묘한 관계를 보여주는 사건이었다. 때문에 시사점도 많았다.

이 사건은 클라우드 인프라 관리의 복잡성을 부각시켰다. 또한 장애 원인이 기술적 오류가 아닌 사람의 실수였다는 점은 자동화의 필요성에 주목하게 한다. 마지막으로 국내 퍼블릭 클라우드 시장에 필요한 점도 보여줬다.

■사람의 실수가 장애의 원인

지난해 12월 24일 발생한 AWS 장애는 일래스틱로드밸런싱(ELB) 서비스 문제였다. 아마존의 미국 동부 버지니아 데이터센터에서 제공하는 ELB 서비스가 제대로 작동하지 못하면서, 넷플릭스를 비롯한 인터넷서비스에 장애를 유발했다.

ELB는 외부 곳곳에서 들어오는 접속 트래픽을 가상서버에 고르게 분배하는 역할을 한다. ELB 장애로 당시 넷플릭스의 동영상 스트리밍 서비스 중 모바일 기기 이용이 불가능한 현상이 나타났다.

AWS는 이 사건에 대해 사과하면서 당시 버지니아 데이터센터 관리자가 실수로 ELB 상태 데이터 생성에 대한 작업을 삭제해 장애가 일어났다고 설명했다. 각종 자동화 도구를 활용해 정책기반의 인프라 운영을 자신해온 AWS로선 수치스러운 일이다.

AWS는 이에 백업된 스냅샷 데이터를 이용해 복구에 착수했지만 완전한 정상화까지 20시간 이상을 소요했다. 제대로 작동하는 로드밸런싱과 그렇지 않은 지점을 찾아내는 작업과 백업데이터에 신규 데이터를 병합하는 작업 등이 필요했다. 이는 대부분 수작업으로 이뤄졌다.

넷플릭스는 아마존의 ELB 수백개를 기기 종류별로 그룹으로 묶어 사용해왔다. PC를 이용하는 스트리밍은 장애를 일으키지 않고, 콘솔과 모바일 기기서만 장애를 겪었던 이유다.

넷플릭스는 이번 사건에 대해 전세계적인 클라우드 서비스 운영의 어려움을 드러낸 것이라면서, 재발 방지를 위해 기술적 개선을 약속했다.

■관리 자동화와 휴먼 에러

휴먼 에러에 대한 부분은 메인프레임 시절부터 해결되지 않은 난제다. 99.9999%의 안정성을 보장하는 메인프레임조차 사람의 실수로 장애를 겪는다.

이번 사건에 대해 전문가들은 인프라 관리의 자동화를 강화해야 한다고 지적했다. 사전에 장애 조짐을 탐지하고, 적절한 조치를 정책에 기반해 자동으로 취할 수 있도록 하는 기술적 보완작업이 중요하다는 것이다.

민감한 작업에 사람이 직접 개입하는 수준을 최소화해야 실수로 인한 인프라 장애를 줄일 수 있다는 설명이다.

아마존은 이번 사건의 재발을 막기 위해 스테이트 데이터 접근을 더 엄격히 제안했다. 또한 데이터 복구 절차도 간소화했다.

이번 사건 당시 화제를 모은 넷플릭스의 클라우드 구루 아드리안 코크로프트는 클라우드 인프라의 복잡성을 정확히 제어하는게 얼마나 어려운 일인지 토로하기도 했다.

그는 “2013년에 클라우드의 복잡성 해소에 나설 계획”이라며 “이는 흥미로우면서 해결하기 어려운 문제”라고 밝혔다.

그는 이어 “시스템이 광범위한 지역에 걸쳐 복제돼야 하고, 지역 사이의 트래픽을 스위칭하는 시스템도 필요하다”라며 “확실히 믿을 수 있고, 트래픽 과부하를 충분히 견뎌야 할 것이다”라고 덧붙였다.

■클라우드 서비스업체와 사용자의 상승작용

아드리안 코크로프트는 자신의 블로그를 통해 지난 크리스마스 장애 당시의 기술적 현황을 실시간으로 알렸다. 그는 ELB 장애가 각 디바이스에 영향을 미치는 부분을 정확히 지적했으며, 장애 포인트를 정확히 추적해 넷플릭스의 인프라 관리 역량을 보여줬다.

넷플릭스는 지난해 10월 일어났던 AWS 버지니아 데이터센터 장애 당시 서비스 중단을 피해갔다. AWS의 가용성존을 적절히 활용한 덕이었다.

넷플릭스는 또한 AWS의 ELB를 보완하는 자체적인 로드밸런싱 기술도 개발해 오픈소스로 공개하기도 했다.

아마존이란 기업 입장에서 넷플릭스는 콘텐츠 사업의 경쟁자지만, 자회사인 AWS 입장에서 넷플릭스는 너무나 고마운 존재다.

넷플릭스는 AWS의 우량 고객이면서, 가장 잘 활용하는 고객이다. 넷플릭스는 AWS 인프라의 다수를 이용할 뿐 아니라, AWS의 여러 서비스들을 조합해 최적화하는데 탁월한 역량을 자랑한다.

넷플릭스가 AWS 인프라를 안정적으로 관리하기 위해 자체 개발한 툴은 최고의 우수성을 인정받는다. 오바마 미국 대통령의 IT조직이 지난 대선에서 AWS를 선거 캠페인 인프라로 활용할 때 베스트프랙티스로 넷플릭스의 사례를 적용했을 정도다.

EC2, S3, EBS, ELB 등 따로따로 떨어져 있는 AWS의 서비스들을 필요에 맞게 조합하는 작업은 어려운 일이다. 넷플릭스는 조합의 방법을 몸소 제공한다.

AWS는 넷플릭스 사례를 감추지 않고 적극적으로 알린다. 넷플릭스 사례는 기업에게 AWS 이용 시 참고서처럼 활용된다. 넷플릭스란 우수한 참고서를 가진 만큼 신규 사용자는 AWS 활용 역량을 단기간에 확보할 수 있다.

이는 국내의 퍼블릭 클라우드 시장에선 볼 수 없는 모습이다. 미국의 경우 클라우드 장애에 대해 사업자와 고객사가 경쟁하듯 기술적 보완에 나서지만, 한국은 무작정 사업자의 책임론과 클라우드 무용론을 거론한다.

국내의 퍼블릭 클라우드 확산이 더딘 이유는 여러 가지. 그중 제대로 쓸 수 있는 기업이 드물다는 점도 큰 이유다. 제대로 활용해야 클라우드의 온전한 혜택을 누릴 수 있고, 그 혜택이 알려져 사용자층을 키우기 때문이다.

관련기사

빠르게 서비스 포트폴리오를 늘려온 KT의 경우 유클라우드 서비스들을 원활이 조합할 수 있는 고객사 확보에 애를 먹고 있다.

KT의 한 임원은 “로드밸런싱, 오토스케일링, 가용성존 등을 API로 적절히 조합해 사용할 수 있는 곳이 국내에 별로 없다”라며 “클라우드를 잘 활용할 수 있는 회사를 찾아 대표 사례로 만들어내는게 중요하기 때문에 여러 노력을 기울이고 있다”라고 말했다.