2020년 쇼핑 성수기에 대비: 상황실을 가상 환경으로 전환
Nelly Wilson
Data & Analytics Cloud Consultant, Google Cloud
* 본 아티클의 원문은 2020년 10월 24일 Google Cloud 블로그(영문)에 게재되었습니다.
소매업이 전례 없는 상황에서 2020년 연휴 시즌을 준비하는 가운데 디지털을 우선시하는 것이 비단 쇼핑객만은 아닙니다. 기존의 소매업 상황실은 핵심 IT팀과 비즈니스팀이 한자리에 모여 시스템의 중단 없는 실행, 웹사이트의 비정상 종료 방지, 제품 재고의 유지를 논하던 거대한 단일 공간이었으나 코로나19로 인해 상황실도 다른 모습으로 변하고 있습니다.
직원들이 원격으로 근무하면서 다수의 소매업체가 2020년 연말에는 상황실을 거실, 소파, 차고, 주방에서 산발적으로 운영할 전망입니다. 이렇게 가시성이 높은 대규모 이벤트 유형을 100% 가상으로('원격으로' 또는 '디지털로'라고도 표현) 관리하는 것은 많은 소매업체가 처음 겪는 일입니다.
올해 많은 고객이 Google의 블랙 프라이데이 및 사이버 먼데이(BFCM) 고객 맞춤형 서비스를 이용하기로 결정했습니다. Google은 상황실을 100% 가상으로 운영하는 Macy’s, The Home Depot, Tokopedia 등의 선도적인 소매업체와 협력하고 있습니다.
가상 상황실의 구현은 사이트 트래픽 및 판매 증가에 발맞춰 신속하게 대처하고 1억 명이 넘는 월간 활성 사용자를 만족시키는 데 중요한 부분이었습니다.
Tahir Hashmi, VP of Engineering (Technical Fellow) at Tokopedia
다행히 Google은 이러한 상황이 낯설지 않습니다. Google은 대규모 제품 출시, 사고 대응, 자체 블랙 프라이데이 및 사이버 먼데이 활동을 수행하며 수년 동안 가상 상황실을 운영해 왔습니다. 이 과정에서 블랙 프라이데이 및 사이버 먼데이와 장기간의 연휴 시즌에 가상 상황실을 준비, 실행, 평가하기 위한 지침을 마련했습니다. Google은 지난 몇 년 동안 그래왔듯이 고객이 응답성과 효율성을 극대화하여 중요한 성수기 이벤트에 대응하기를 바랍니다. 다음의 권장사항은 팀이 이번 시즌의 소비자 행동 불확실성과 그에 따른 시스템 수요를 파악하여 지속적인 업타임 및 탁월한 고객 환경을 제공하는 데 도움을 줄 수 있습니다.
1단계: 이벤트 준비
중요한 데이터 수집
이벤트 기간 중에 필요할 수 있는 모든 정보를 쉽게 사용할 수 있도록 하고, 명확하게 문서화하며, 상황실의 모든 구성원이 빠르게 액세스할 수 있도록 만들어 비즈니스에서 연중 최대 규모의 가장 중요한 이벤트를 관리하기 시작하세요. 팀원의 자리에 가서 궁금한 사항을 직접 물어볼 수 없기 때문에 커뮤니케이션으로 인해 지연이 발생할 가능성이 다분합니다.
커뮤니케이션
먼저 정상적인 이벤트 관리 중이든 비상 또는 사고 대응으로 전환할 때든 상관없이 사용할 정확한 커뮤니케이션 도구와 접근 방식을 정합니다. 그룹 및 팀 전체에서 일어나는 커뮤니케이션에 대한 기대(예: 채팅 채널, 회의 등)는 물론 직접 에스컬레이션 또는 설명이 필요한 경우 직원들이 일대일로 커뮤니케이션하는 방법을 명시합니다. 커뮤니케이션 기대는 이미 스트레스가 심한 상황에서 사고를 관리해야 하는 경우 등에도 혼란이 없도록 최대한 명확하고 간단해야 합니다. 예를 들어 '선택한 채팅 플랫폼의 서비스가 중단되면 어떤 조치를 취할 것인가?'와 같은 상황별로 백업 계획을 고려하세요.
한 가지 권장사항을 제시하자면 모든 커뮤니케이션에서 날짜 및 시간 형식을 표준화하라는 것입니다. 이는 팀원들이 여러 시간대에 분산되어 있는 경우 특히 중요합니다. 커뮤니케이션은 최대한 명확해야 하며 전달하는 이벤트를 설명할 때 혼란과 응답 지연이 발생하지 않도록 다음 대기자가 아닌 본인이 위치한 지역의 시간대로 표현한 것임을 분명히 해야 합니다.
커뮤니케이션에서 중요한 또 다른 구성요소는 구성원이 다른 사람에게 묻지 않고도 필요한 정보를 얻을 수 있도록 하는 것입니다. 이를 위해 이벤트와 관련된 시스템의 전반적인 상태를 제공하고 관련 모니터링이나 로깅 콘솔과 같은 추가 세부정보 링크를 제공하는 전용 상태 페이지 또는 Google 그룹을 사용하거나 만드는 것이 좋습니다. 무슨 일이 일어나고 있는지 알아야 하는 사람이 정보를 한눈에 보고 추가 커뮤니케이션이 필요하지 않도록 하기 위해서입니다. 여기에서 핵심 권장사항은 미리 정해진 일정에 따라 해당 페이지를 업데이트하는 알려진 소유자를 구체적으로 지정하는 것입니다.
기대
다음으로, 일반적인 상황과 비상 시 연락 방법을 모두 포함하여 직원 배치, 역할, 기대에 대한 명확한 정의가 마련되어 있어야 합니다. 이벤트에 참여할 팀원 목록과 필요한 경우 직접 연락을 받을 수 있는 방법(일반적으로 휴대전화 또는 무선 호출기)을 작성하세요. 순환 시스템을 사용하는 경우에는 이를 명확하게 문서화하고 이벤트 중에 정상적인 운영 및 에스컬레이션 전달을 처리하는 방식을 규정하는 계획을 작성합니다. 어느 경우에든 이벤트 발생 시 각 팀 또는 개인의 역할을 명시하고 일반적인 연락 방법이 아닌 비상 연락 방법을 사용해야 하는 시기를 분명히 해야 합니다. 아직 마련되어 있지 않다면 명확한 '에스컬레이션 체인' 문서를 작성하는 것이 매우 유용합니다. 문제가 발생할 경우 이 방법을 통해 적절한 수준의 주의를 기울일 수 있으며 이벤트가 진행되는 중에 직원들이 과중한 업무와 번아웃에 시달리는 상황을 방지하여 이벤트가 장기화되더라도 필요한 집중력을 유지할 수 있습니다.
또한 이 단계는 이벤트에 대한 예상 타임라인을 만들기에 알맞은 시간입니다. 이벤트가 시작되는 시기, 이벤트 중에 수행되는 활동, 이벤트가 종료되는 시기를 가능한 한 명확하게 문서로 작성하세요.
마지막으로, 만약을 대비해 일반적인 서비스 중단 모드에 대한 처리 계획을 수립하는 것이 좋습니다. 서비스 중단을 감지할 모니터링을 실시하고 있고 이와 같은 상황에 대한 대응 계획이 있는지 확인하세요. 예를 들어 적절한 담당자가 있고(예: 용량을 추가로 확보하기 위해 신속하게 자금 지출이 필요한 경우) 필요한 경우에 관련 의사결정을 신속하게 승인할 준비가 되어 있는지 확인합니다.
참여
과거에는 이러한 이벤트를 물리적인 전용 공간에서 실행하고 팀의 참여도를 유지하기 위해 음식, 엔터테인먼트나 기타 즐길 거리를 제공했을 것입니다. 가상 환경에서는 근무 시간에 직원들의 참여를 어떻게 계속 유지할 수 있을까요? 가상에서 이벤트를 진행할 때 깜짝 선물로 팀을 위한 기프트 카드나 선물 바구니를 보내면 사기를 높일 수 있습니다.
테스트 실행
준비 상태를 확인하는 가장 좋은 방법은 부하 상태에서 가상 프로세스가 작동하는 방식을 확인할 수 있는 시뮬레이션을 실행하는 것입니다. 이 방법은 문제가 발생할 경우 상황을 얼마나 효율적으로 해결할 수 있는지 가늠하고 발생 가능한 모든 상황을 처리하는 데 도움이 됩니다.
이러한 연습을 준비하려면 테스트하여 달성하려는 정확한 범위를 설정합니다. 가상 환경으로 전환된 상황실의 다양한 측면을 구체적으로 검토하려면 분산된 팀에서 정보를 교환하는 방법에 초점을 맞추면 됩니다. 일반적인 커뮤니케이션 및 에스컬레이션 상황에서 사용하여 기본 및 보조 커뮤니케이션 도구를 테스트해 보세요. 그러면 팀에 적절하고 쉽게 사용할 수 있도록 설정된 도구가 마련되어 있는지, 이벤트 전에 해결해야 할 사용성 또는 접근성 관련 문제가 있는지, 이벤트 중 커뮤니케이션 진행 방법에 대한 기대가 명확한지 여부를 판단하는 데 도움이 됩니다.
'정상적'인 작동 상황과 사고, 긴급 또는 에스컬레이션 상황 모두에서 이벤트 타임라인을 검증할 수 있는 연습을 실시하는 것이 좋습니다. 후자는 사고 관리 및 대응 기술을 연습하는 것이 목표인 불운의 바퀴 모의 연습(템플릿)으로 간주할 수 있습니다. 반면 전자의 경우 작성한 타임라인이 현실적인지, 기대가 명확하고 이해하기 쉬운지, 팀이 지정된 책임에 따라 행동할 수 있는지 여부를 확인하는 데 더 중점을 둡니다.
마지막으로 DiRT 스타일 또는 카오스 엔지니어링 방식을 사용하고 프로덕션 시스템에 실제 오류를 적용하는 '실시간' 테스트를 실행하거나 비프로덕션 환경에서 대규모 부하 테스트를 실행하여 이벤트를 준비할 수 있습니다. 어떤 경우든 테스트를 실제 이벤트에 대한 연습으로 간주하고 이전 섹션에서 수집한 모든 정보를 사용하여 대응하는 것이 좋습니다.
준비 및 테스트의 사후 분석
준비와 테스트가 완료되면 잘된 부분, 개선할 수 있는 부분, 상황실 프로세스 자체를 강화할 수 있는 방법을 평가합니다. 이 과정은 어떤 상황에서도 적응하고 이벤트를 계속 진행할 수 있는 능력을 확인하는 데 중요합니다. 하지만 올해의 이벤트 준비에 필요한 일에만 집중하지 말고 향후 이벤트에서 더 나은 위치에 있도록 장기적으로 개선할 수 있는 사항을 파악하는 것이 좋습니다.
테스트에서 얻은 정보를 사용하여 계획을 개선하고 발견된 문제를 최대한 신속하게 해결합니다. 이벤트까지 이어지는 엔지니어링 작업 계획에서 사후 분석 작업 항목의 우선순위를 지정하고 커뮤니케이션 및 정보 흐름 문제에 각별한 주의를 기울이세요. 이러한 문제는 팀이 이 이벤트를 원격으로 관리하는 데 지대한 영향을 미칠 수 있습니다.
2단계: 이벤트 중
이제 준비가 끝났으니 대형 이벤트를 맞을 시간입니다. 이미 광범위한 계획을 세웠으므로 일이 순조롭게 진행되도록 하는 것이 목표입니다. 그러나 원격 공동작업으로 인해 가상 상황실에 영향을 미치는 커뮤니케이션, 활동 로깅, 에스컬레이션 관리의 주요 차이점을 기억해야 합니다.
커뮤니케이션
가상 상황실에서 커뮤니케이션의 중요성은 아무리 강조해도 지나치지 않습니다. 준비에 대한 체계적인 접근이 마련되고 정해진 규칙을 준수한다면 서비스 중단을 해결하는 시간을 앞당길 수 있습니다.
이벤트가 진행되는 전 기간 동안 커뮤니케이션 전략의 핵심에 있는 단일 채팅방을 운영해야 합니다. 실제 서비스 중단이 발생하면 특정 문제에 초점을 맞춘 채팅방을 추가로 개설하도록 준비되어 있어야 합니다. 예를 들어 기술팀을 위한 전용 채팅방이 매우 유용하게 활용될 수 있습니다.
커뮤니케이션을 이끌 한 사람의 리더를 지정합니다. 대규모 서비스 중단이 발생하면 Google의 사고 관리 교육에 따라 커뮤니케이션 책임자를 지정해야 합니다. 이 책임자는 모두에게 질문을 받고 모든 발신 업데이트를 제공하여 나머지 팀원들이 각자의 역할에 집중할 수 있도록 지원합니다. 앞서 언급했듯이 커뮤니케이션 책임자는 무슨 일이 일어나고 있는지 누구나 한눈에 알 수 있도록 단일 이벤트 현재 상태 페이지를 지속적으로 업데이트할 수 있습니다.
마지막으로 업무 인계 과정에서 정보 전달에 특히 주의를 기울여야 합니다. 상태 페이지 및 로그가 최신 정보로 유지되면 간단한 일일 수도 있습니다. 하지만 특히 커뮤니케이션 책임자나 의사 결정권자와 같은 역할을 이양하는 경우에는 역할을 넘겨받는 당사자에게 항상 명시적인 확인을 받아야 합니다. 준비 단계에서 만든 연락처 목록은 가상 상황실에서 긴급 대기 예정인 모든 팀원을 반영해야 합니다. 인계하는 팀은 채팅방에 있는 상황실 구성원에게 대기를 앞둔 직원과 대체할 직원을 알리는 작업을 포함하여 인계 임무를 수행할 준비가 되어 있어야 합니다.
로깅
회고록 또는 사후 분석을 작성할 때는 이벤트 중에 발생한 일을 나중에 쉽게 재구성할 수 있도록 발생하는 모든 일을 기록하도록 합니다. 채팅방에 기록 기능이 켜져 있는지 확인하세요. 기록 담당자를 지명하되 모든 사람에게 취한 조치 및 이벤트와 관련해 발견한 사항을 기록으로 남길 것을 권장합니다. (이 경우 Google 설문지가 간단한 해결책이 될 수 있습니다. 단일 텍스트 필드로 최대한 간단한 양식을 설정하고 타임스탬프가 기록되는지 확인하세요. 모든 사람에게 정보를 입력하도록 권장합니다. 중복되는 항목은 나중에 삭제할 수 있습니다.)
상태 업데이트 주기를 설정하세요. 특별한 일이 없더라도 업데이트 사항을 계속 게시해야 합니다.
에스컬레이션
예상한 긴급 상황 및 예상하지 못한 긴급 상황 모두에 대처할 수 있는 방안을 마련하세요. 다음에 취해야 할 조치를 결정하는 전담 의사 결정권자 한 사람이 반드시 있어야 합니다. 단독으로 결정을 내리고 프로덕션을 변경할 권한이 있다고 생각하는 사람이 동시에 여러 명 존재하는 경우 상황이 악화되고 서비스 중단이 길어질 가능성이 훨씬 더 높습니다.
서비스 중단 처리는 대면이든 원격이든 본질적으로 숙달해야 하는 중요한 영역입니다. SRE 도서의 이슈 관리 장과 후속편인 SRE 워크북의 이슈 대응 장 등은 이슈 처리 방법에 대해 자세히 알아볼 수 있는 좋은 출발점이 될 수 있습니다.
3단계: 이벤트 후
이벤트가 종료되면 전체 프로세스에 대한 사후 분석을 수행해야 합니다. 잘된 부분, 잘못된 부분, 운이 따랐던 부분이라는 세 가지 섹션에 대해 정보를 수집하는 것이 좋습니다.
세 가지 섹션 모두에서 비난 없이 조사를 진행하는 것이 좋습니다. '누가 무엇을 했다'가 아닌 '무슨 일이 발생했다'와 같은 문장을 사용하세요. 감사 추적이 일어나도록 하려면 코드 또는 감사 로그 링크를 추가하면 되지만 이 문서의 목표는 누군가의 잘못을 지적하는 것이 아니라 시스템 문제와 성공을 강조하는 것입니다.
이 사후 분석의 주제는 가상 상황실 자체에 대한 세부정보에 중점을 두어야 합니다. 팀에서 이벤트에 관련된 문서(예: 백만 달러의 수익 달성)와 가상 상황실 운영에 관련된 문서로 두 가지의 사후 분석을 작성하는 것이 좋습니다. 세 가지 섹션을 작성할 때는 다음의 메시지도 고려해 보세요.
커뮤니케이션이 어떻게 진행되었는가? 무슨 일이 언제 일어났는지 모두가 알고 있었는가?
서비스 중단이 발생한 경우 정상적인 흐름을 따랐는가?
모두에게 올바른 권한이 있었는가?
언제 무엇을 해야 하는지 모두가 알고 있었는가?
대화는 다양한 매체에서 진행되었는가, 아니면 모두 한 공간에 진행되었는가?
공급업체와의 커뮤니케이션이 수월했는가?
상황실은 적절한 기간 동안 운영되었는가?
정상적인 운영에 적용할 만한 사항을 학습했는가?
이벤트 및 상황실에 관련된 모든 참여자에게 기여할 기회가 있는지 확인하되 소유자는 한 사람이어야 합니다. 참여자들이 댓글을 달아 확장된 후에는 전 직원이 가상 상황실 운영 방법을 배울 수 있도록 회사 전체를 대상으로 게시하세요.
사후 분석 작성에 대해 자세히 알아보려면 다음 리소스를 확인하세요.
위 접근 방법이 어렵게 보일 수도 있지만 올바른 방법론과 조직적 사고방식을 따르면 연휴 시즌에 좋은 성과를 거두는 동시에 대응력이 우수하고 안전한 가상 상황실의 기틀을 마련할 수 있습니다. Google Cloud팀이 언제든지 도와 드리겠습니다. 블랙 프라이데이 및 사이버 먼데이의 시작, 기타 예정된 이벤트 준비 또는 위험 관리를 위한 일반적인 권장사항에 대해 자세히 알아보려면 기술계정 관리자에게 문의하거나 Google Cloud 계정팀에 문의하세요.
이 블로그 게시물에 도움을 주신 Yuri Grinshteyn(Site Reliability Engineer/CRE), Nat Welch(Site Reliability Engineer/CRE), Ahsan Khan(Program Manager), Dan Tulovsky(Site Reliability Engineer/CRE), Fabian Elliott(Technical Account Manager)에게 감사의 말을 전합니다.