2022년 10월15일 오후 3시19분 판교 SK C&C 데이터센터에 불이 났다. 3분뒤 전원이 차단됐고, 곧 이어 이 센터에 입주해있던 카카오와 네이버의 서비스들에 장애가 발생하기 시작했다. 네이버는 1시간이 채 못된 오후 4시께 뉴스 댓글 서비스의 복구를 시작으로 저녁 8시 쇼핑검색까지 모든 서비스를 정상화했다. 카카오는 그러지 못했다. 이튿날 오전이 돼서야 카톡의 사진과 동영상을 제외한 메시지의 수발신이 가능해졌다. 다음과 카카오의 메일, 카톡의 톡채널과 톡서랍은 사흘이 지나도록 돌아오지 못했다. 카카오의 상담창구는 장애가 난지 5시간20분이 지나서야 열렸다.
지난해 말 기준 카카오의 계열사는 모두 134개. 장애는 시민들의 삶 전방위에 영향을 미쳤다. 반납을 못한 카카오 킥보드 요금은 수십만 원을 넘어갔다. 카카오페이에 예치해둔 돈이 묶인 청년은 주말 데이트를 망쳤고, 카카오블루, 카카오벤티의 운전기사들은 하루 벌이가 날아갔다. 대리기사들은 호출을 받지 못했다. 카카오 계열사는 아니지만 ‘카카오로 로그인하기’ 기능을 쓰는 서비스들은 아무런 잘못도 없이 자신들의 회원이 로그인을 하지 못해 튕겨나가는 것을 속수무책으로 지켜보았다.
피해는 민간으로 한정되지 않았다. 행안부, 경찰청, 질병청, 국세청 등 행정기관의 민원 서비스도 카카오와 연계돼 있다. 백신 접종 정보와 재난지원금, 교통 범칙금 등을 안내하는 국민비서 ‘구삐’도 카카오를 활용했다. 사실상 카카오가 공공의 인프라였다.
네이버에 비해 카카오의 복구가 한없이 늦어지자 여러 억측들이 나왔다. 백업이 안돼 있었던 것 아닌가? 이중화를 하긴 했는데 같은 데이터센터 안에다 둔 것 아닌가? 재해복구시스템(DR Disaster Recovery)이 아예 없었던 게 아닌가?
카카오처럼 4,700만명이 쓰는 대용량 서비스의 백업과 복구는 원래 어렵다. 실제로 어땠는지는 장애 분석 리포트가 나와야 알 수가 있다. 다만 리포트가 없이도 지적할만한 것들이 있다.
물리적 이중화
이번에 불이 난 것은 정전에 대비해 SK C&C 데이터센터가 보유한 배터리라고 한다. 배터리는 화재 위험이 있다. 당연히 다른 건물에 두거나, 방화벽으로 고립된 공간에 설치해야 한다. 물로는 끌 수가 없으니 하론가스나 이산화탄소 소화기가 자동으로 작동되게 해두어야 한다. 전원도 바이패스, 즉 배터리쪽을 차단할 수 있어야 한다. 배터리는 통상 불이 나기 전에 온도가 올라간다. 온도센서가 있었는지, 일정 온도 이상이면 전원이 자동차단되고 운영자에게 경고가 가는지, 소화기는 자동작동하도록 돼있었는지를 확인해야 한다. 게다가 같은 층에 예비발전기를 위한 경유 15,000리터가 함께 보관돼 있었다. 화재가 자칫 대형 폭발로도 이어질 수 있었다는 것이다.
SK쪽은 물을 쓸 필요가 있어 전원을 다 내렸다고 설명한다. 이 과정에서 전원 차단 소식을 사전에 알린 것인지를 두고 카카오와 다툼이 있다. 일방적인 통보였다는 것이다. 이런 장애가 발생했을 때의 프로토콜을 SK가 제대로 갖추고 있었는지도 확인이 필요하다.
재난 대응
양현서 카카오 대외협력실 부사장은 “지금 할 수 있는 최대한의 리스크 시나리오를 세우고 대비했다고 생각했으나 화재는 예상할 수 없는 사고였다"라고 말했다. "화재가 나서 전원이 다 내려가는 상황에 대한 대비는 부족했다"는 것이다.
2001년 9.11 항공기 테러로 뉴욕의 세계무역센터(WTC)가 참혹하게 붕괴됐다. 25개 층에서 3,700명의 직원이 상주하고 있던 모건스탠리투자은행의 본사도 통째로 사라졌다. 하지만 모건스탠리는 살아남았다. 원본을 고스란히 저장해둔 재해복구시스템(DR, Disaster Recovery)이 가동됐기 때문이다. 제대로 된 복구시스템을 갖추지 못한 많은 회사들이 건물 붕괴와 함께 사라졌다. 이후로 전세계에서 재해복구시스템에 대한 대대적인 투자가 시작됐다. 21년전 얘기다.
‘카오스몽키’라는 개념이 있다. 넷플릭스에서 나왔다. ‘야생의 원숭이가 무장을 한채 우리 데이터센터에서 난동을 부려도 우리 서비스는 살아남을 수 있을까?’라는 개념이다. 카오스 몽키와 카오스 고릴라, 카오스 콩이 있다. 몽키는 서비스에 장애를 주입해보는 일이다. 그래도 서비스가 견디는지를 보는 것이다. 고릴라는 가용영역 하나를 통째로 날려보는 것이다. 예를 들어 서울에 데이터센터 두 곳을 운용하고 있었다면 그중 하나의 전원을 끄고, 남은 데이터센터가 서비스를 이어받아 중단없이 가동하는가를 본다. 콩은 한 지역 전체의 가동을 멈추는 것이다. 서울의 데이터센터 전체의 가동을 멈춘 뒤 다른 도시나 다른 나라의 데이터센터들이 제대로 이어받는지를 보는 것이다.
재해복구시스템은 말 그대로 ‘재해’에 대비하는 시스템이다. 이번 사태는 단지 데이터센터의 전원이 예고없이 내려간 것이다. 서버도, 사람도 다친 데 없이 고스란히 남았다. 이것을 재해라고 부른다면, 얼마나 큰 재해라고 할 수 있을까? 이 정도 재해를 ‘예상도 할 수 없었다’면 카카오가 생각한 최대한의 재해는 어떤 형태였을까? 경영진의 인식이 이런 수준이라면 카카오가 그간 재해대응에 제대로 돈을 쓰진 않았으리라는 것, 이번 장애가 꽤 오래 가거나 일부는 복구가 불가능할 것이라는 우려는 당연해 보인다.
카카오페이처럼 직접 돈을 다루는 것, ‘카카오로 로그인하기’처럼 남의 서비스에 치명적인 영향을 미치는 것, 카타오티와 같이 택시기사와 대리기사의 생업과 관련한 서비스들을 카카오의 다른 서비스들과 함께 다운되게 한 것도 지적할 지점이다. 전체 서비스에 대해 재해복구시스템을 가동하기가 너무 돈이 많이 든다면, 최소한 이런 대단히 중요한 서비스들에 대해서 만이라도 실시간 재해복구시스템을 가동하는게 옳다. 추후 나올 카카오의 장애 대책에는 이런 내용이 포함돼야 한다.
반드시 짚어야 할 3개의 질문이 있다.
플랫폼 기업의 출현
카카오와 배달의민족, 오픈마켓으로서의 쿠팡은 플랫폼이다. 일종의 인프라라는 것이다. 문제는 우리가 이런 사적인 플랫폼을 맞이할 준비가 안돼있다는 것이다. 플랫폼노동이란게 있다. 플랫폼기업을 위해 일하는 비정규직 노동자다. 정흥준 서울과기대 교수의 2020년 실태조사에 따르면 오토바이를 타고 배달을 하는 플랫폼노동자는 일년에 절반이상이 사고를 당한다. 그중에서 2.6%만이 산재처리를 받았다고 답했다. 이익은 플랫폼기업이 가져가지만 비용은 사회가 진다. 이번 장애는 한 기업이 사회의 인프라를 통째로 떠맡게 됐을 때, 사회는 그 기업에 대해 어떤 역할과 책임, 권한을 부여해야 하는가? 우리는 플랫폼기업과 어떻게 함께 살아가야 하는가?를 묻는다.
디지털 대전환, 자연독점의 시대
디지털시대는 모든 것이 숫자, 즉 데이터가 된다. 소리도, 색깔도, 동영상도. 스마트폰이 나오자 녹음기, 카메라, 비디오, 스캐너따위가 일거에 망해버린 것은 그때문이다. 이것이 사상 유례없는 단일 실패점(SPOF, Single point of Failure)을 만든다. 모든 비즈니스가 결국 데이터를 다루는 일이 된다면 데이터를 가장 많이 갖고 있는 곳, 데이터를 가장 잘 다루는 곳이 마지막에 남게 된다. 네트워크효과도 있다. 사용자가 많을수록 더 큰 효용이 생긴다. 사용자가 컨텐트다. 이들이 합쳐 ‘독과점’을 디지털에 내재한 특성으로 만든다. 카카오가 문어발이 된 것은 이때문이다. 이대로 가면 단일실패점은 감당할 수 없을 정도로 커지게 된다. 우리는 이 자연독과점에 어떻게 대비해야 하나?
백업이 없는 사회
2018년 10월 세계 최대의 소스코드저장소인 깃헙이 멈춰섰다. 장애는 24시간이 넘게 지속됐다. 깃헙은 실시간으로 장애를 어떻게 대응하고 있는지를 알렸다. 사태가 마무리된 뒤 깃헙은 길고 충실한 장애분석리포트를 온라인에 공개했다. 깃헙만 그런게 아니다. 깃헙에는 아예 ‘포스트모템리포트’(사후부검보고서, 장애분석보고서를 이렇게 부른다) 페이지가 따로 있다. 아마존, 구글 등 세계적인 기업들의 장애분석보고서가 올라와 있다. 이렇게 함으로써 이들은 사고가 났음에도 사용자의 신뢰를 그대로 유지한다. 다른 회사의 개발자들이 같은 잘못을 되풀이하지 않고, 예방할 수 있는 기회를 갖게 되는 것은 물론이다.
깃헙의 리포트는 이렇게 시작한다. “깃헙 구성원 모두는 이 사건이 일어난 것에 대해 여러분 한 분 한 분에게 진심으로 사과의 말씀을 드립니다. 깃헙에 대한 여러분의 신뢰를 잘 이해하고 고가용성 플랫폼을 구축하는 저희의 탄력적 시스템 구축 기술에 자부심도 가지고 있습니다. 이번 사건으로 여러분에게 실망을 드려 대단히 죄송합니다. 깃헙 플랫폼을 사용할 수 없었던 긴 시간동안 이로 인해 발생한 문제들을 저희가 되돌릴 수는 없겠지만, 문제의 원인과 이번 사고를 통해 저희가 배운 것들, 그리고 이런 일이 다시는 일어나지 않도록 회사 입장에서 취할 수 있는 조치에 대해 설명드리고 싶습니다.”
카카오가 이번 장애가 끝난 다음 길고 상세한 장애분석리포트를 공개한다면 그것은 무엇보다도 자신에게 가장 좋은 일이 될 것이다.
한국은 세계 최고의 후발추격국이다. 효율제일주의로 수십년을 달려온 사회에 백업은 거추장스러운 것이었다. 지하철은 혼자서 충분히 몰 수 있고, 사람이 사고로 죽으면 대체하면 그만이다. 파리바게뜨로 유명한 SPC의 23살 노동자가 10월 15일 소스배합기에 끌려들어가 사망했다. 2인1조로 해야 하는 일이지만 혼자 했다. 사고가 발생한 기계는 덮개를 열면 자동으로 기계가 멈추는 장치인 자동방호장치(인터록)도 없었다. 그 일주일 전에는 같은 공장에서 비정규직 노동자의 손 절반이 20분 동안 벨트에 끼는 사고가 발생했다. SPC 관리자는 치료를 하는 대신, 다친 사람을 포함해 비정규직 노동자들을 집합시켜놓고, ‘누가 벨트에 손을 넣으라고 지시했느냐’고 30분동안 추궁했다. 강릉에서는 바다로 쏜 미사일이 육지로 돌아와 유류저장고를 덮쳤다. 보도자료는 나오지 않았다. 현장을 찾은 국회의원들은 제지당했고, 사고원인은 미궁이다.
하인리히 법칙이란게 있다. 1대 29대 300. 어떤 대형사고가 발생하기 전에 수십 차례의 경미한 사고와 수백 건의 징후가 반드시 나타난다는 것이다. 카카오 장애는 디지털시대가 한국사회에 던지는 경고장이다. 거대한 재앙이 백업없는 사회에 사는 우리를 향해 달려오고 있다.
<시사IN> 789호에 실은 글이다.