2017.07.10

'유명 클라우드 쓰는데도···' 스타트업의 서비스 장애가 반복되는 이유

Scott Carey | Computerworld UK
음식 배달 스타트업 딜리버루(Deliveroo)는 AWS 클라우드 인프라스트럭처에서 핵심 애플리케이션을 구동하며 유연성과 탄력성을 관리하고 있다. 그런데도 업체의 서비스는 피크 타임에서 지속해서 서버 장애가 발생했다. 올 1월 대규모 서버 장애가 발생한 데 이어 한 달 뒤인 2월에도 서버 장애로 서비스가 중단됐다. 결국, 고객에게 사과 메일을 발송해야 했다.



업체는 메일에서 서버의 일부 문제로 인해 식당과 배달원에게 고객 주문을 전달하는 과정에 오류가 발생했고 이와 같은 사고는 어떤 기업에서도 발생할 수 있는 이슈라고 주장했다.

이어 "배고픈 고객에게 제시간에 식사를 전달해야 하는 우리에게 서비스 지속성은 가장 중요하다. 이번 사고를 통해 많은 것을 배웠으며, 향후 이와 같은 문제가 발생하지 않도록 최선의 노력을 다할 것이다"라고 밝혔다. 딜리버루 측은 사과의 의미로 2회 무료 배달 쿠폰을 지급했지만 유효 기간을 1주일로 설정해 고객을 당혹하게 하기도 했다.

딜리버루는 2016년 8월 헤지 펀드 브릿지포인트(Bridgepoint)로부터 2억 7,500만 달러 규모의 시리즈 E(Series E) 투자를 받은 이후 가파른 성장세를 이어나가며 현재 12개국 120개 도시에서 서비스하고 있다.

그러나 잇따른 서버 장애는 업체에 심각한 타격이 되고 있다. 우버이츠(UberEats), 저스트잇(JustEat) 등 강력한 경쟁자가 존재하는 시장 환경을 고려하면 서버 장애의 잠재적 손실은 예상외로 클 수 있다(물론 우버이츠와 저스트잇 역시 서비스 중단 사고가 발생한 바 있다).

딜리버루는 AWS 클라우드 인프라스트럭처를 기반으로 자사의 핵심 애플리케이션을 운영하고 있다. AWS는 높은 가동률과 수요탄력적인 확장성, 사용량 기반 요금 체계 등을 강점으로 스타트업과 앱 개발자가 널리 사용한다.

AWS 역시 서비스 중단 사고가 발생한 바 있고 이 경우 S3 백엔드 스토리지에 애플리케이션을 구동하는 기업에 치명적인 악영향을 미칠 여지가 있지만, 그 경우 피해는 특정한 애플리케이션이 아닌 다수의 기업에 동시다발적으로 나타난다.

451 리서치(451 Research)의 클라우드 인프라스트럭처 애널리스트 칼 브룩스는 딜리버루처럼 급성장한 스타트업이 경험하는 서버 장애를 일종의 성장통과 같은 자연적 현상이라 분석한다. 서버 장애 상당수가 AWS의 책임이 아니라는 것이다.

그는 “딜리버루와 같은 서비스는 배달 인력, 주문 정보, 각 통신사에 따라 달라지는 앱까지, 다양한 요소를 통합, 조율해 하나의 중앙 앱 인프라스트럭처로 엮어내는 과정이 필요하다. 이들 기업이 AWS를 이용하는 이유도 이 때문일 것이다. 그러나 이처럼 매우 복잡한 환경에 일순간 다수의 사용자가 접속할 경우 과부하가 발생할 가능성이 매우 크다"라고 말했다.


이러한 서버 장애의 근본적인 원인은 엔지니어링이다. 브룩스는 “웹 지연과 같은 요소는 탄력성과 예측 불가능성을 설계에 반영해야 한다. 또한, 비용 절감을 위해 수요 하락 시점에 서버를 끄도록 설정하면 갑작스러운 수요 급증 시 중단이나 속도 저하 문제가 발생할 수 있다”라고 말했다.

넷플릭스(Netflix) 역시 과거 급성장 시기에 이와 같은 문제를 겪은 바 있다. 브룩스는 “신흥 업체의 앱에 이러한 일은 성장통과 같다. 넷플릭스 역시 같은 과정을 지나왔다. 성장기의 수년 간 주로 금요일 오후 시간대에 서버 장애가 발생했다. 반면, 시스템은 불완전했지만 사용자 규모가 작았던 사업 초창기에는 이런 문제가 발생하지 않았다. 즉 장애는 결국 ‘규모'에서 기인하는 것이다”라고 말했다.

최근 영국 런던에서 열린 AWS 서밋 행사에서 연사로 나선 딜리버루의 엔지니어링 사업부 부사장 댄 웹은 "AWS는 데이터 웨어하우스의 수요 급증 문제로 고민하던 우리에게 많은 도움이 됐다. 또한, 실시간 데이터, 지원 환경 등 우리가 그동안 제한적인 수준으로만 접근할 수 있었던 요소를 확보할 수 있도록 지원해 현재의 급성장세를 이어가는 데도 많은 역할을 했다”라고 말했다.

웹은 딜리버루가 자체적으로 판단하고 있는 최근 서버 장애의 원인에 대해 "앱과 클라우드 인프라스트럭처에 기반을 둔 스타트업이라면 모두 잠재적인 서버 장애 가능성에 노출돼 있다. 우리는 발생한 사고에 신속히 대응하며 관련 추적 기록을 철저히 관리하고 있다"라고 말했다.

이어 "그러나 이는 어디까지 공학적 측면의 이슈이며 마케팅과는 무관한 문제다. 장애에 대해 고객 대다수는 충분히 이해하는 태도를 보였지만 심하게 허기진 고객은 그 인내 수준이 상당히 낮은 것도 사실이다. 그렇기에 우리는 언제나 최대한 빠른 문제 해결에 집중하고 있다"라고 덧붙였다.

머신러닝으로 해법 찾는다
현재 딜리버루는 AWS 툴을 이용해 데이터 분석 작업을 진행하고 있다. 예를 들어 딜리버루의 코어 라우팅 엔진 프랭크(Frank)는 머신러닝 알고리즘을 활용해 복수의 고객 주문을 최적화해 처리하는 작업을 실시간으로 처리하고 있다. 웹은 “프랭크는 지속적인 계산, 재계산을 통해 최적의 배달원-주문 조합을 도출한다. 기존 데이터를 통해 훈련된 머신러닝 모델이 배달원의 이동 시간과 메뉴 준비 시간 사이 최적점을 산출해내는 식이다”라고 말했다.

키네시스(Kinesis)와 람다(Lambda)를 활용해 이벤트 프로세싱을 진행하며 S3 데이터 레이크를 통해 스트리밍한다. 이 모든 과정은 AWS 기반으로 진행한다. 데이터 웨어하우스로는 스노우플레이크(Snowflake)를 이용하고 있다.

웹은 “우리의 머신러닝 알고리즘은 EC2에 기반을 둔 애플리케이션 클러스터 상에서 구동되며, 그에 앞선 데이터 공급은 스노우플레이크를 통해 이뤄진다. 이어 S3는 이를 애플리케이션이 처리할 수 있는 자원으로 전환하는 역할을 담당한다”라고 말했다. ciokr@idg.co.kr 
2017.07.10

'유명 클라우드 쓰는데도···' 스타트업의 서비스 장애가 반복되는 이유

Scott Carey | Computerworld UK
음식 배달 스타트업 딜리버루(Deliveroo)는 AWS 클라우드 인프라스트럭처에서 핵심 애플리케이션을 구동하며 유연성과 탄력성을 관리하고 있다. 그런데도 업체의 서비스는 피크 타임에서 지속해서 서버 장애가 발생했다. 올 1월 대규모 서버 장애가 발생한 데 이어 한 달 뒤인 2월에도 서버 장애로 서비스가 중단됐다. 결국, 고객에게 사과 메일을 발송해야 했다.



업체는 메일에서 서버의 일부 문제로 인해 식당과 배달원에게 고객 주문을 전달하는 과정에 오류가 발생했고 이와 같은 사고는 어떤 기업에서도 발생할 수 있는 이슈라고 주장했다.

이어 "배고픈 고객에게 제시간에 식사를 전달해야 하는 우리에게 서비스 지속성은 가장 중요하다. 이번 사고를 통해 많은 것을 배웠으며, 향후 이와 같은 문제가 발생하지 않도록 최선의 노력을 다할 것이다"라고 밝혔다. 딜리버루 측은 사과의 의미로 2회 무료 배달 쿠폰을 지급했지만 유효 기간을 1주일로 설정해 고객을 당혹하게 하기도 했다.

딜리버루는 2016년 8월 헤지 펀드 브릿지포인트(Bridgepoint)로부터 2억 7,500만 달러 규모의 시리즈 E(Series E) 투자를 받은 이후 가파른 성장세를 이어나가며 현재 12개국 120개 도시에서 서비스하고 있다.

그러나 잇따른 서버 장애는 업체에 심각한 타격이 되고 있다. 우버이츠(UberEats), 저스트잇(JustEat) 등 강력한 경쟁자가 존재하는 시장 환경을 고려하면 서버 장애의 잠재적 손실은 예상외로 클 수 있다(물론 우버이츠와 저스트잇 역시 서비스 중단 사고가 발생한 바 있다).

딜리버루는 AWS 클라우드 인프라스트럭처를 기반으로 자사의 핵심 애플리케이션을 운영하고 있다. AWS는 높은 가동률과 수요탄력적인 확장성, 사용량 기반 요금 체계 등을 강점으로 스타트업과 앱 개발자가 널리 사용한다.

AWS 역시 서비스 중단 사고가 발생한 바 있고 이 경우 S3 백엔드 스토리지에 애플리케이션을 구동하는 기업에 치명적인 악영향을 미칠 여지가 있지만, 그 경우 피해는 특정한 애플리케이션이 아닌 다수의 기업에 동시다발적으로 나타난다.

451 리서치(451 Research)의 클라우드 인프라스트럭처 애널리스트 칼 브룩스는 딜리버루처럼 급성장한 스타트업이 경험하는 서버 장애를 일종의 성장통과 같은 자연적 현상이라 분석한다. 서버 장애 상당수가 AWS의 책임이 아니라는 것이다.

그는 “딜리버루와 같은 서비스는 배달 인력, 주문 정보, 각 통신사에 따라 달라지는 앱까지, 다양한 요소를 통합, 조율해 하나의 중앙 앱 인프라스트럭처로 엮어내는 과정이 필요하다. 이들 기업이 AWS를 이용하는 이유도 이 때문일 것이다. 그러나 이처럼 매우 복잡한 환경에 일순간 다수의 사용자가 접속할 경우 과부하가 발생할 가능성이 매우 크다"라고 말했다.


이러한 서버 장애의 근본적인 원인은 엔지니어링이다. 브룩스는 “웹 지연과 같은 요소는 탄력성과 예측 불가능성을 설계에 반영해야 한다. 또한, 비용 절감을 위해 수요 하락 시점에 서버를 끄도록 설정하면 갑작스러운 수요 급증 시 중단이나 속도 저하 문제가 발생할 수 있다”라고 말했다.

넷플릭스(Netflix) 역시 과거 급성장 시기에 이와 같은 문제를 겪은 바 있다. 브룩스는 “신흥 업체의 앱에 이러한 일은 성장통과 같다. 넷플릭스 역시 같은 과정을 지나왔다. 성장기의 수년 간 주로 금요일 오후 시간대에 서버 장애가 발생했다. 반면, 시스템은 불완전했지만 사용자 규모가 작았던 사업 초창기에는 이런 문제가 발생하지 않았다. 즉 장애는 결국 ‘규모'에서 기인하는 것이다”라고 말했다.

최근 영국 런던에서 열린 AWS 서밋 행사에서 연사로 나선 딜리버루의 엔지니어링 사업부 부사장 댄 웹은 "AWS는 데이터 웨어하우스의 수요 급증 문제로 고민하던 우리에게 많은 도움이 됐다. 또한, 실시간 데이터, 지원 환경 등 우리가 그동안 제한적인 수준으로만 접근할 수 있었던 요소를 확보할 수 있도록 지원해 현재의 급성장세를 이어가는 데도 많은 역할을 했다”라고 말했다.

웹은 딜리버루가 자체적으로 판단하고 있는 최근 서버 장애의 원인에 대해 "앱과 클라우드 인프라스트럭처에 기반을 둔 스타트업이라면 모두 잠재적인 서버 장애 가능성에 노출돼 있다. 우리는 발생한 사고에 신속히 대응하며 관련 추적 기록을 철저히 관리하고 있다"라고 말했다.

이어 "그러나 이는 어디까지 공학적 측면의 이슈이며 마케팅과는 무관한 문제다. 장애에 대해 고객 대다수는 충분히 이해하는 태도를 보였지만 심하게 허기진 고객은 그 인내 수준이 상당히 낮은 것도 사실이다. 그렇기에 우리는 언제나 최대한 빠른 문제 해결에 집중하고 있다"라고 덧붙였다.

머신러닝으로 해법 찾는다
현재 딜리버루는 AWS 툴을 이용해 데이터 분석 작업을 진행하고 있다. 예를 들어 딜리버루의 코어 라우팅 엔진 프랭크(Frank)는 머신러닝 알고리즘을 활용해 복수의 고객 주문을 최적화해 처리하는 작업을 실시간으로 처리하고 있다. 웹은 “프랭크는 지속적인 계산, 재계산을 통해 최적의 배달원-주문 조합을 도출한다. 기존 데이터를 통해 훈련된 머신러닝 모델이 배달원의 이동 시간과 메뉴 준비 시간 사이 최적점을 산출해내는 식이다”라고 말했다.

키네시스(Kinesis)와 람다(Lambda)를 활용해 이벤트 프로세싱을 진행하며 S3 데이터 레이크를 통해 스트리밍한다. 이 모든 과정은 AWS 기반으로 진행한다. 데이터 웨어하우스로는 스노우플레이크(Snowflake)를 이용하고 있다.

웹은 “우리의 머신러닝 알고리즘은 EC2에 기반을 둔 애플리케이션 클러스터 상에서 구동되며, 그에 앞선 데이터 공급은 스노우플레이크를 통해 이뤄진다. 이어 S3는 이를 애플리케이션이 처리할 수 있는 자원으로 전환하는 역할을 담당한다”라고 말했다. ciokr@idg.co.kr 
X