클라우드가 서비스가 정지되면?
모
바일 분야에서 최근 각광받는 모바일 웹과 모바일 클라우드 그리고 소프트웨어를 패키지가 아닌 서비스 형태로 제공하는
SaaS(Software As A Service ) , 클라우드 컴퓨팅 등 이러한 새로운 개념의 서비스들은 모두 웹 상에서
무정지로 운영되는 서비스를 기반으로 하여 작동된다. 만약 이러한 클라우드 서비스가 정지되면 많은 문제가 발생할 것이다.
최
근 이러한 기술적 흐름을 주도하고 있는 업체들에서 클라우드의 장애가 발생하여 많은 우려를 낳고 있다. 클라우드 서비스에 관한 한
가장 우수한 기술과 엔지니어를 보유한 회사인 구글도 서비스를 운영하면서 많은 장애가 발생하고 있다. 실제 최근 들어 9월 24일
부터 9월 26일간 구글 e-mail 서비스에 부분적인 장애가 발생하였다(
Google Apps Status Dashboard를
통해 관련 장애 내용을 확인할 수 있다). 구글 뿐만 아니라 페이스북은 15만명 가량의 고객 데이타를 날려버렸다. 그 결과 많은 사용자들이 계정에 로그인할 수 없었으며 일부 프로파일을 잃어버렸다.
최근에 발생한 가장 큰 클라우드 장애는 T모바일에서 제공하는 MS모바일기기인
사이드킥에
서 발생했다. 2002년 출시된 사이드킥은 MS가 지난해 인수한 데인저사가 디바이스 생산과 서버 관리를 맡고 있다. 사이드킥
서비스의 핵심은 사용자의 주소록과 일정표,사진 등 각종 데이터를 단말기 자체 대신 인터넷에 연결된 서버에 저장해 기기가 바뀌어도
언제든 데이터를 볼 수 있도록 해주는 것이다. 당연히 네트웍이 항상 연결되어 있거 서버만 건강하다면 최적의 상태에서 서비스를
이용할 수 있을 것이다. 그러나 이번처럼 서비스에 장애가 발생하여 사용자들이 서버 클라우드 상에 존재하는 자신의 데이타를
이용하지 못한 다면 아무런 쓸모가 없다.
현재 이 문제의 원인은 공식적으로 알려지지 않았지만 떠도는 루머중 가장 신뢰할 만한
루머는
사이드킷의 SAN 스토리지를 업그레이드하던 중 해당 업체인 히타치가 이전 데이타의 백업을 받지 않았다는 것 이다. 상황이
이렇다면 이전 백업본 까지의 데이타를 복구를 하겠지만 유실되는 데이타가 상당히 존재하는 것은 분명하다. 현재 사이드킥 고객들은
소송을 시작했고 개인적으로는 당연히 승소할 것으로 본다.
위의 상황을 보면 클라우드 서비스의 미래가 밝지만은 아닌 것 같다. 과연 그럴까? 최근 IDC는 "클라우드 서비스 전망"
이란 보고서에서 2013년 전체 IT관련 지출의 10%인 442억달러(약43조원)의 비용을 클라우드서비스에 지출할 것이라고
전망했다. 실제 현재 세계 경기가 불경기 임을 고려할 때 클라우드 서비스의 초고속 성장을 예측한 셈이다.
[출처]
IDC’s New IT Cloud Services Forecast: 2009-2013아
마도 위의 사실을 종합해 보면 다소 어리둥절 할 수 있다. 유명 IT 기업 조차도 안정성을 보장하지 못하고 있는 서비스를 유명한
시장 조사 기관에서는 초고속 성장을 할 것이라고 예측한다는 사실이 그것이다. 과연 진실은 무엇일까? 위의 상황을 고려해 보면서
몇가지 중요한 사실을 고민해 보자. - 어떤 시스템이든 장애가 없을 수는 없다.
모
든 시스템을 설계,개발할 때는 무장애를 목표로 하지만 장애없는
시스템은 있을 수 없다. 실제 사내에서 사용하는 메일 시스템도 사소한 문제로 인해 장애가 생기거나 천재지변에 의해 장애가 발생할
수 있다. 그러나 이 때 중요한 것은 이 장애를 얼마나 신속하게 대처하고 복구하느냐 이다. 이러한 것을 해당 서비스의
QoS(Quality of Service)라 할 수 있다. 장애가 발생하더라고 고객과 약속된 수준의 서비스를 유지할 수 있도록
운영해야 하는 것이다. 구글 , 세일즈포스 , 아마존은 고객에게 해당 서비스의 상태를 직접 조회할 수 있는 대쉬보드를 제공한다.
이러한 수준의 서비스 품질 관리와 장애 조취를 제공할 수 없다면 클라우드 서비스라 할 수 없다. 앞서 T모바일의 사이드킥
서비스의 경우 정상적으로 일일 단위의 백업과 데이타 이중화가 구성되어 있었다면 신속히 해결할 수 있는 일반 장애중 하나 였을
것이다.
- 안정적인 운영과 장애 대처 능력을 갖추어야 한다.
클
라우드 서비스를 상용화 제품으로 구축할 경우 많은 투자가 수반될 수 밖에 없다. 따라서 많은 클라우드 서비스들은 오픈소스 등을
활용하여 클라우드를 구축한다. DBMS, WAS , Web Server를 비롯하여 Cache Server , 로드밸런서, 성능
관리, 형상 관리 등 클라우드를 구축하는 데 필요한 많은 솔루션과 기술을 오픈소스를 통해 조달받는다. 이러한 오픈소스 기술을
채택할 경우 다양한 운영 테스트를 통해 운영 노하우와 유지보수 및 장애 조치를 신속하게 할 수 있는 기술 및 프로세스와 기술자를
확보해야 만 한다. 오픈소스 외에 상용 제품을 사용할 경우에도 마찬가지이다. 비록 해당 제품의 기술 지원과 유지보수는 해당
업체를 통해 제공받을 수 있지만 그 외에 운영 노하우와 장애 조치를 위한 프로세스 및 조직, 그리고 숙련된 개발자는 미리 확보를
해야 한다. 따라서 어떠한 클라우즈 서비스이건 안정적인 운영을 위한 조직과 프로세스, 그리고 숙련된 개발자를 확보하고 엄격한
프로세스에 의해서 서비스를 운영해야 한다.
- 오프라인일 경우를 대비해야 한다.
클라우드를
기반으로 하는 서비스는 온라인상에 연결되어 있다는 것을 전제로 한다. 그러나 항상 온라인상에 연결되어 있을 수 는 없다. 만일
온라인 상에서 중요한 업무를 클라우드 기반으로 수행하다 갑자기 네트웍이 중단되었다고 하자. 지금껏 열심히 작성한 메일이나 문서는
모두 소용없게 된다. 따라서 클라우드 기반의 서비스는 오프라인일 경우를 대비해야 한다.
현재 클라우즈 기반의 서비스 개발시 가장 많이 사용하는 방법은
구글 기어를 이용하여 브라우져상에서 오프라인시 직접 데스크탑상의 스토리지에 해당 정보를 적는 것이다. 웹 오피스 업체인
조호를 비롯하여 많은 서비스들 역시 이 기능을 이용하여 오프라인시 해당 서비스를 사용하게 해준다. 다행스럽게도 이러한 오프라인시 대처할 수 있는 이 기능이 W3C에서 추진하고 있는
HTML5에
포함되어 제공될 예정이다. 클라우드 기반의 서비스들은 이러한 오프라인 지원 기능을 이용하여 클라우드에 연결되지 못하더라도 작업을
계속 수행할 수 있어야 하며 데이타를 정합성을 유지해야 만 한다. 실제, 구글 Docs와 구글 메일은 구글 기어를 사용해서
클라우드에 연결되어 있지 않더라도 오프라인 상에서도 작업 내용을 수행할 수 있게 해준다. 이러한 기능은 클라우드 기반 서비스의
기본 기능이 돼야 한다. 이는 모바일 클라우드에도 마찬가지이다. 만일 MS의 사이드킥 서비스가 디바이스상에서 클라우드에 있는
데이타와 동기화( 실제 백업 )되고 클라우드에 연결되지 않더라도 최소한의 기본 기능 만이라도 작동되도록 설계되었다면 위와 같은
문제는 없었을 것이다.
곰곰히 생각해 보면 클라우드가 아니더라도 우리는 기존의 인트라넷 환경이나 데스크탑
환경에서도 항상 장애를 경험했다. 내부에서 사용하는 인트라넷 메일 서버가 이유없이 중단되거나 윈도우 데스크탑 환경하에서 문서를
작성하던 중 알 수 없는 이유로 인해 해당 문서를 유실하기도 했으며 알지도 못하는 사이 설치된 ActiveX 프로그램로 인해
브라우져가 수도 없이 다운되는 경험도 가지고 있다.
클라우드 컴퓨팅에서 장애란 아주 치명적인 것이지만 다양한
이유로 인해 언제든 발생할 수 있다. 물론 장애를 사전에 발생하지 않게 하는 것이 첫번째 운영 능력이지만 , 장애 발생시 어떻게
대응하여 피해를 최소화하여 신속하게 복구할 것인가가 중요하다. 이것이 바로 클라우드 서비스 업체의 능력이고 기술이라 할 수
있을 것이다.
앞서 구글의 경우 장애 발생시 이를 사용자와 대쉬 보드를 통해 공유하며 조취를 취했고 데이타 유실
등의 문제는 없었다. 그러나 페이스북과 데인저사가 관리하는 사이드킥 서비스는 데이타를 유실하면서 실제 고객에게 피해를 주고
말았다. 결국 , 이러한 차이가 클라우드 업체들의 서비스 품질과 기술 차이일 것이다. 현재 MS는 사이드킥 문제로 인해
직접적으로는 고객들에게 고소를 당했으며 간접적으로 애저(Asure) 클라우드 플랫폼과 사이드킥의 차기 버전으로 알려진 핑크 폰의
출시에 많은 영향이 있을 것으로 보인다. 이처럼 클라우드 서비스에서 장애와 이에 대한 대응은 서비스의 신뢰도에 직결하는 생존의
문제이다.
정리를 해보자. 클라우드 서비스의 장애는 언제 어디서나 다양한 이유로 발생할 수 있다. 중요한 것은
이러한 것을 사전에 예방하고 , 발생시 최대한 신속하게 복구하는 프로세스와 능력이다. 이러한 것이 보장되지 못한다면 결코
클라우드 서비스 시장에서 생존하지 못할 것이다. 따라서 클라우드 서비스 개발 업체는 초기 설계 및 개발에서 부터 철저하게 장애와
복구를 고민해서 시스템을 설계하고 개발해야 한다. 또한 개발보다 더욱 중요한 것이 운영이라는 사실을 명심해야 한다. 마지막으로
사용자는 이러한 클라우드 서비스 선택시 운영 능력과 장애 조치에 대한 사항을 SLA(Service Level
Agreement)를 읽고 판단해야 한다. 일반적으로 유료화된 클라우드 서비스는 SLA에 운영 및 장애 조취에 대한 보증 내용을
명시하고 있으며 이를 지키지 못할 때의 보상 문제 또한 명시되어 있다. 만약 이러한 SLA가 없다면 해당 클라우드 서비스를
사용할 지 신중히 고민해 봐야 할 것이다.