
253
9
장
복구를 위한 설계
의적인 행동의 범위를 잘 설명하고 있다. 시스템 설계 관점에서 이런 에러의 완화 전략은 악의
적인 공격자가 내부자이든 시스템 자격 증명을 탈취한 서드파티 공격자이든 관계없이 동일하
게 적용해야 한다.
9.2
복구를 위한 설계 원리
지금부터는 필자가 수년간 분산 시스템을 운영하며 쌓은 경험을 바탕으로 복구를 위한 몇 가지
설계 원리를 설명하고자 한다. 여기서 설명하는 것을 모두 적용할 필요는 없으며 앞으로를 위
해 더 학습할 추천 자료를 제공할 것이다. 여기서 소개할 원리는 구글과 같은 규모의 조직에만
해당하는 것이 아니라 다양한 규모의 조직에 적용할 수 있다. 전체적으로 복구를 고려해 설계
할 때는 앞으로 발생할지도 모를 문제의 범위와 다양성을 열린 마음으로 고려하는 것이 중요하
다. 다시 말하면 에러가 발생할지도 모를 예외 상황에 대해 고민하느라 시간을 허비하지 말고
그런 에러로부터 복구할 준비를 하는 데 집중하기 바란다.
9.2.1
최대한 빠르게 움직이기 위한 설계(정책에 의한 보호)
시스템에 침입이나 장애가 발생하면 최대한 빨리 시스템을 의도대로 동작하는 상태로 복구해
야 한다는 부담에 시달리게 된다. 하지만 시스템을 빠르게 변경하기 위해 사용하는 메커니즘
은 잘못된 변경을 너무 성급하게 적용할 위험이 있어 오히려 문제를 확대할 수도 ...