오늘의 5분 개발지식 라디오! 안녕하세요~ 오늘은 최근에 카카오 사태로 크게 이슈가 되었던 개념인 DR, Disaster Recovery에 대해서 알아보려고 합니다. 구체적인 방법이나 대책보다는 뉴스기사나 매체에서 나오는 단어들 위주로 간단하게 전달해드리겠습니다
먼저 IDC입니다. IDC는 internet data center의 줄임말인데요, 우리가 흔히 말하는 데이터센터입니다. 이름때문에 오해하기 쉬운데 단순하게 데이터만을 저장하는 시설이 아니라 서버를 구동하기 위한 여러 통신장비들부터 안정적인 전기 공급을 위한 전자장비들이 들어가있습니다.
우리가 흔히 사용하는 AWS, GCP가 이러한 수많은 IDC들이 합쳐져 추상화되어 일반 개발자들이 클라우드 서비스를 사용한다고 생각하시면 됩니다.
IDC는 엄청나게 많은 서버들을 구동하기 위해 전문적으로 지어지는 건물이기때문에 쿨링을 위한 공조시설도 설계시부터 꼼꼼하게 반영됩니다. 또 정전 등의 이유로 전기 공급이 끊어져도 다른 발전소에서 전기를 끌어오거나 어느정도는 자체적으로 발전하도록 되어있습니다. 특정 구역에 문제가 생기더라도 다른 구역에는 영향을 미치지 않도록 분리되는 등 안정적인 서비스를 위해 다양한 처리들을 해둡니다.
이렇게 IDC에는 다양한 안전장치들을 해놓지만 이번 카카오사태처럼 화재가 난다거나 하는 등의 이유로 문제가 생겼을 때 이를 사용하는 서비스기업들에서 피해를 최소화하기 위해 빠르게 복구하는 계획들을 수립해놓는데요, 이를 DR, Disaster Recovery라고합니다. 직역하자면 재해 복구 정도 될 것 같네요.
DR과 관련된 개념들이 있는데요 2가지정도 알아보겠습니다.
첫번째 RPO입니다. Recovery Point Objective의 줄임말인데요, 문제가 생겼을 때 어느 시점의 데이터까지 복구를 할 것인가를 정하는 기준입니다. RPO로 정해진 기준까지는 복구를 해야되기때문에 이 시점까지는 백업을 해둡니다.
다음은 RTO입니다. Recovery time Objective의 줄임말인데요, 기업에서 아무리 늦어도 이 시간까지는 복구가 되어야만 하는 시간입니다. 이 시간이 넘어가면 사업에 너무 크거나 복구 불가능한 피해를 입힌다는 의미입니다.
자 그럼 마지막으로 재해에 대비한 실행책들을 알아보겠습니다. 총 4가지 단계로 알려드리겠습니다.
첫번째는 Mirror Site입니다. 이름에서 알 수 있듯이 실제 서비스와 완전히 동일한 서비스를 하나 더 운용하는 것입니다. 최근의 예시로 들자면 판교 IDC이외에 다른 지역에 있는 IDC에 하나 더 서버를 운영하는 것입니다. 트래픽도 거의 동일하게 분산시켜 운용합니다. 두 지역 모두 완벽하게 동기화되어있으며 실제로 사용자들의 트래픽이 유입되고 있는 상태이기때문에 Active-Active 상태라고도 합니다. 두 지역에 동일한 수준의 인프라를 구축하여야되기때문에 가장 비용이 크지만 가장 안전하고 문제가 발생해도 문제가 발생하지 않은 지역으로 트래픽을 돌리면 되기때문에 바로 복구가 가능합니다.
두번째는 Hot Site입니다. 미러사이트와 동일하게 바로 사용이 가능한 수준의 인프라를 다른 데이터센터에 구축하지만 실제로 트래픽을 보내지는 않는 것입니다. 한쪽은 실제로 사용자가 사용하고 한쪽은 만약을 대비하여 대기중인 상태이기때문에 Active-Standby 상태라고도 합니다.
재해 발생시 standby상태인 데이터센터를 Active로 돌리기만 하면 되기때문에 미러사이트 보다는 느려도 빠르게 복구가 가능하고 한쪽을 Active가 아닌 Standby로 두기때문에 비교적 비용도 조금 더 저렴합니다.
세번째는 Warm Site입니다. 바로 운영이 가능한 상태는 아니지만 서비스에 중요한 데이터들을 가지고 있는 상태라고 생각하시면됩니다. 데이터는 최신상태가 아니며 데이터 손실이 발생할 수 있으나 비용이 더 저렴합니다.
마지막은 Cold Site입니다. Warm Site보다도 더 적은 데이터만을 가지고 있거나 빈 서버가 있는 정도입니다. 거의 모든 세팅을 처음해야되는 상태로 복구까지 오랜시간이 걸리는 방법입니다.
자 이렇게 오늘은 카카오로 크게 이슈가되었던 재해 대비책인 DR에 대해서 알아보았습니다. 당연히 모든 기업들이 미러 사이트 방식으로 수십개를 유지하면 좋겠지만 자원은 유한하기때문에 그렇게 운영하기가 현실적으로 어렵습니다. 만약 이번 사건처럼 화재가 나지 않는다면 운영하지 않고 있는 쪽이 훨씬 더 저렴했겠지만 이렇게 문제가 생겼을때는 발생하는 피해대비 추가 데이터센터를 운용하고 있는 쪽이 더 저렴하다고도 볼 수 있는 것이죠. 제가 생각하기에는 비용과 예방효과의 시소게임인 것 같습니다.
끝!
'기타' 카테고리의 다른 글
기술면접 준비 (0) | 2020.12.25 |
---|---|
기업들 기술블로그 모음 (0) | 2019.12.05 |
[Quora번역] Software Enginering에서 가르치기 가장 힘든 기술은 무엇인가요? (0) | 2018.06.17 |
[Quora번역]요즘 개발자들이 하는 일은 프레임워크들을 이어붙이는게 대부분인가요? (0) | 2018.06.17 |