카카오의 책임, 이렇게 물어야 한다
[김정민의 친절한 IT 이야기] DR(재해복구) 센터, 기대 이하 수준 ‘확인’ 통신사업자 규제 강화, 카카오에 ‘유리’할뿐 독과점 규제 강화로 카카오에 책임 물어야
최근 SK C&C 데이터센터 화재를 두고 많은 전문가들이 각자의 입장에서 평가와 추측을 내놓고 있다. 카카오와 SK의 책임소재는 법정 공방에 의해 판가름날 것인데, 어느 한쪽만의 책임으로 결론날 것 같지는 않고 양측의 책임이 인정되고 과실 비율을 다툴 것이다.
필자는 이런 사태가 벌어지면 사태가 안정될 때까지 시간을 두고 지켜본 뒤, 각 관계자의 입장을 하나하나 생각해보고 글을 쓰는 편이다. 그 이유 중 하나는 컴퓨터공학을 전공한 사람으로 엔지니어의 입장을 더 잘 설명하기 위함이고, 다른 하나는 분쟁을 다루는 변호사의 관점에서 각 플레이어들의 이해 충돌, 조정에 모든 생각이 귀결되기 때문이다.
‘서버’, ‘이중화’, ‘DR’ 등의 용어를 이해하기
이런 복잡한 사태의 진상을 정확히 파악하기 위해선 먼저 큰 틀의 이해가 선행되어야 한다. 특히 누구나 쉽게 사용하는 ‘서버’, ‘이중화’, ‘DR’ 등의 용어에 대한 이해가 없으면 이번 사태를 정확하게 파악하기 힘들다.
먼저 서버란 무엇이고, 카카오의 서비스는 어떻게 이루어지는 것인가?
‘서버’는 ‘클라이언트’의 반대말이다. 클라이언트란 PC, 태블릿, 스마트폰 등 서비스를 이용하는 단말기를 의미한다. 서버는 클라이언트의 반대편에서 클라이언트에게 서비스를 제공한다. 그 서비스의 제공은 네트워크를 통해 이루어진다.
구조적으로 보면 아래와 같이 구성되는데, 여기서 가장 큰 역할을 하는 것이 SKT 등 통신사(이하 ‘SK’라고 함)이다. 현재 가장 흔한 형태는 SK가 테이터센터를 만들면 카카오는 센터 내에 공간을 빌려서 자신들의 서버를 설치하고, 이 서버로 클라이언트에 서비스를 한다.

이때 카카오가 관리하는 서버의 속도만큼이나 SK가 관리하는 네트워크의 속도도 중요하다. 카카오 입장에서는 SK 데이터센터에 3만2000대의 서버를 두는 것이 관리 편의성, 비용절약 측면에서 유리할 수 있다.
또 ‘서버’의 구성 요소에 대한 이해도 있어야 한다. ‘www.daum.net’과 같은 웹서비스를 제공하기 위해서는 ‘웹서버’, ‘웹 애플리케이션 서버(WAS)’, ‘데이터베이스(DB) 서버’, ‘저장소(DISK)’가 필요한데, 각각의 역할이 나누어져 있다. 위 각각의 서버 간에도 통신이 이루어져야 하고, 통신 속도가 서비스 속도를 좌우하므로 각각의 서버들을 물리적으로 한 공간에 두는 것이 가장 효율적이다.
나아가 서버에 저장되는 ‘데이터’도 2가지로 구분해서 이해해야 한다. 서비스에 실시간으로 이용되는 데이터(ex. 텍스트 메시지)와 용량이 크고 저장만이 목적인 데이터(ex. 동영상 등)로 구분할 수 있는데, 전자는 DB에 직접 저장되고 후자는 원본데이터는 DISK에 저장하고 DB에는 Link만 저장하는 방식을 쓴다.
서버를 ‘이중화’한다는 것은 무엇일까?
서버를 이중화하는 목적 중 첫 번째는 장애 또는 재해시에 빠른 서비스 재개를 위함이다. 이를 Failover라고 부른다. 두 번째는 원활하고 안정적인 서비스의 성능을 보장하기 위함이다. 이를 Load Balancing이라고 한다.
서버 이중화를 구성하는 방식은 ‘Active-Active 방식’, ‘Actice-Stand by 방식’ 등이 있다. 전자는 두 서버가 항상 살아 있으면서 부하를 분산하도록 한다. 전체 서비스를 분산하기도 하고 전체 서비스 중 일부 단위를 맡아서 분산하기도 한다. 후자는 장애 또는 재해시에 빠르게 동작할 수 있도록 만든 예비적인 시스템이다.
또 ‘DR’은 무엇이고 어떻게 동작하는 것일까. 먼저 ‘DR’과 ‘DR센터’를 구분해서 이해할 필요가 있다. ‘DR’은 ‘재해복구’라는 뜻으로, 장애 재해에 의해 서버가 중단되었을 때 이를 정상으로 회복시키는 것 또는 절차를 의미하고, ‘DR센터’는 서버들이 돌아가고 있는 물리적 공간을 의미한다. 실시간으로 서비스를 하고 있는 서버(데이터센터 포함)가 있는 ‘운영센터’에 대응하는 개념이다. ‘DR센터’는 원활한 재해복구를 위해 원격지(운영센터와 물리적으로 떨어진)에 구성되어야 하고, ‘운영센터’에 준하여 꾸준히 관리되어야 한다.
DR센터는 RTO(Recovery Time Objective, 복구에 걸리는 최대 허용 시간) 기준으로 4가지, 즉 Mirror, Hot, Warm, Cold로 나뉜다. Mirror는 말 그대로 운영센터를 원격지에 그대로 구축한 것으로, ‘Active-Active 방식’으로 실시간 동기화가 된다. 따라서 복구가 실시간으로 가능하지만 구축비용이 운영센터와 동일하게 들어간다.
Hot은 ‘Actice-Stand by 방식’으로 데이터는 실시간으로 동기화 해놓고, 복구시에는 대기에서 운영으로 전환(Stand by → Active)하는데 2~3시간이 필요하다. Warm은 중요성 높은 데이터를 하루 단위로 DR센터에 동기화(백업)하는데, 구축비용이 저렴한 대신 재해시 데이터 손실이 발생할 수 있고 복구에 수 일이 걸린다. Cold는 데이터만 동기화하는데 시스템 자체를 복구하는데 수주에서 수개월이 걸릴 수도 있다.

이번 카카오 사태에 빗대어보자. 카카오 고객들이 접한 ‘503에러’라는 것은 웹서비스가 제대로 동작을 하지 않음을 의미하는 것으로, 이 경우에 DR(재해복구) 절차가 가동되어야 한다.
만약 카카오가 ‘Active-Active 방식’으로 서버를 이중화 하고 있었거나 DR센터를 운영했다면, 실시간으로 복구가 되었을 것이다. 적어도 카카오가 ‘Active-Stand by 방식’으로 서버 이중화 또는 DR센터를 갖췄다면 3시간 안에 복구가 되었을 것이다. 결과적으로 카카오는 대부분의 서비스를 3시간 안에 복구하지 못했는데 이 결과는 카카오가 앞에서 설명한 ‘서버 이중화’나 ‘Hot 이상 수준의 DR’을 갖추지 못했다는 것을 반증한다.
법적 책임? 통신사업자 규제보단 독과점 규제로
그렇다고 하더라도 재해 복구를 못한 것이 카카오의 책임이냐는 또 다른 문제이다. 카카오가 도의적으로는 고객들에게 책임을 통감할 수 있겠지만 법적으로 책임을 지는 것은 별개의 문제이다. 그렇다면 서버 이중화와 DR에 관해 우리는 어떤 규제와 규정을 두고 있을까?
금융위원회는 금융회사의 핵심 업무 RTO(복구에 걸리는 시간)를 3시간 이내로 규정하고, 보험회사는 24시간 이내로 규정하고 있다. 방송사와 기간통신사업자(SK, KT, LG)는 국가 재난관리 기본계획의 대상이 되어 이에 준하는 규제를 받는다. 카카오와 네이버는 부가통신사업자로 현재 이런 규정의 적용을 받지 않는 상태다. 따라서 현재 법규에 따르면 카카오의 법적 책임을 묻기 힘들 수 있다.
이 차이점은 필수냐 선택이냐, 독과점이냐 독과점이 아니냐의 문제로 귀결된다. 기간통신사업자 서비스는 국민이 필수로 사용하여야 하며, 경쟁이 제한적인 과점시장이다. 반대로 부가통신사업은 소비자의 선택, 수요와 공급에 따라 시장에서 자유롭게 경쟁이 가능한 시장이다.
카카오 사태를 겪은 일반적인 소비자는 더 이상 카카오 서비스를 이용하지 않으면 되고, 문제를 일으킨 사업자는 시장에서 도태되어야 한다. 즉 부가통신사업자들의 흥망성쇠는 시장경제에 맡겨져 있다. 정작 문제는 우리가 카카오의 서비스를 쓰지 않을 수 없기 때문에 발생한다. 이는 부가통신사업자라는 영역의 문제라기보다 독과점의 문제에 가깝다고 할 것이다.
규제가 없더라도 사업적으로 서버 이중화와 DR 센터의 중요성을 인지한 기업은 스스로 내규를 강화하고 있는 추세다. 거대 IT 공룡들 중 구글은 연 2회, 마이크로소프트는 연 1회의 실전과 동일한 복구 훈련을 하고 있다. 정부의 눈치를 봐서일 수도 있겠지만 국민연금공단 콜센터는 ‘Active-Active 방식’ 센터를 운영하고 있는 것으로 알려져 있고, 한국주택공사(LH)도 Mirror 또는 Hot 수준의 DR 센터 운영을 검토하고 있다.

통신규제 강화하면, 새 사업자들 참여못해
이제 카카오 사태에 대한 결론을 내려 보자. 카카오는 총 4곳의 데이터센터에 정보를 저장하고 있다고 알려져 있는데, 이번 사태의 대응 결과로 보면 어느 곳도 위에서 설명한 서버 이중화나 DR 개념에 적합하지 않은 것으로 보인다. 나아가 필자가 추측하기로는 운영서버 위주로 투자를 집중하는 바람에 이중화나 DR의 개념이 형식적으로 도입되었더라도 그 허용 용량이 극히 제한적이었을 것이다.
공학적인 측면에서 보면, 카카오는 분명한 잘못을 저질렀다. 소비자와 업계에서 요구되는 장애, 재해 방지장치를 정립하는데 소홀했기 때문이다. 그런데 이는 수익의 극대화를 추구하는 영리법인에서 흔히 발생하는 현상이다. 앞서 설명한 것처럼 Mirror를 만들고 유지보수 하는데 운영센터와 동일한 비용을 지불해야 한다. 반대로 Mirror라는 재해복구 센터 대신 운영센터의 용량을 2배로 늘릴 수 있다. 당신이 카카오 CEO라면 어떤 선택을 했을 것 같은가?
기업은 비용과 효율을 기준으로 경영상 판단을 하고, 그런 판단 하나가 악수(惡手)가 되어 한방에 나락으로 떨어지는 경우를 심심치 않게 볼 수 있다. 이번 카카오 사태는 결국 고객인 소비자가 판단해야 할 문제로 귀결된다. 소비자들은 지루한 민사소송을 거쳐서 카카오에게 손해배상 책임을 물을 수도 있고, 이보다 더 즉각적인 대응으로 카카오를 쓰지 않을 수도 있다. 그러나 후자를 선택하기는 쉽지 않다. 이미 카카오의 많은 서비스는 독점에 가깝기 때문이다.
반대 상황을 생각해볼 수 있다. 지금 우리가 카카오에게 기간통신망사업자 수준의 의무를 부과하거나 엄격한 서버, 데이터센터에 관한 규제를 부가할 수 있다. 그렇게 되면 카카오가 단기적으로 많은 투자와 비용지출을 해야 하겠지만, 카카오의 독과점은 더욱 공고하게 될 것이다. 즉 신규 부가통신사업자와의 경쟁이 제한될 수밖에 없다.
이보다는 이미 시장 지배적 사업자인 카카오에게 독점에 따른 규제와 책임을 부가하는 편이 낫다. 문제되는 사태가 발생했을 때 그 사태만의 해결을 위한 규제를 도입하는 것이 아니라, 원리와 원칙에 입각한 규제가 도입되어야 한다.




댓글