728x90
이번 장에서는 장애를 어떻게 관리하면 좋을지 알아보도록 하자.
1. 미흡한 장애 관리
책에서는 미흡한 장애 관리 예시를 통해서 문제점이 무엇인지 알려주고 있다. 미흡한 장애 관리의 가장 큰 원인은 소통의 부재이다. 동료들이 무엇을 하고 있는지 모르는 상황이었고, 고객과 비즈니스 리더들에게도 현재 상황을 올바르게 전달하지 못하고 있었다.
2. 책임에 대한 재귀적인 분리
소통의 부재를 해결하기 위해서는 각자 자신의 역할을 명확히 이해하고 다른 이의 영역을 침범하지 않도록 하는 것이 가장 중요하다. 역할은 크게 4가지 존재한다.
- 장애 제어: 장애 제어자(incident commander)는 장애에 대한 높은 수준의 상태를 확인한다. 그리고 장애 조치를 위한 팀을 구성하고 필요와 우선순위에 따라 책임을 나누어준다.
- 운영 업무: Ops 조직의 리드는 장애 제어자와 협력하여 운영 도구들을 이용해 실제 업무를 수행함으로써 장애에 대처한다. 장애를 조치하는 동안에는 오직 운영팀만이 시스템을 변경할 수 있다.
- 의사소통: 장애 조치팀의 대외 창구다. 장애 대응팀의 현황을 정기적으로 의사 결정자들에게 전달하는 것이 주요 역할이며, 장애 조치 문서를 최신의 상태로 유지하는 역할도 겸해서 수행할 수 있다.
- 계획: 운영팀을 도와 버그를 수집하거나, 저녁 식사를 주문하거나, 업무 분장을 돕거나, 시스템이 원래 상태에서 어떻게 변경되는지를 추적한 후 장애가 조치된 후 이를 원래대로 복구하는 등 좀 더 장기적인 이슈들을 처리한다.
3. 언제 장애를 선언할 것인가?
어떤 상황에서 장애를 선언할 것인지에 대한 명확한 조건이 있어야 실제 장애가 발생했을 때 장애를 빠르게 선언하고 해결할 수 있다. 구글에서는 다음의 경우 장애라고 판명한다.
- 문제를 해결하기 위해 다른 팀의 도움이 필요한가?
- 문제가 사용자에게 영향을 미쳤는가?
- 문제 발생 이후 한 시간 동안 집중적으로 분석했는데도 문제가 해결되지 않았는가?
4. 결론
각자 팀에 적합한 장애 관리 프로세스를 구축하면 실제 장애가 발생했을 때 빠르게 대처를 할 수 있다. 구글의 예시에서는 상황에 따라 장애 제어자, 운영 업무 등을 맡는 사람이 달라지는 것 같았는데, 이와 달리 내가 속한 팀에서는 각자 진행하고 있는 프로젝트에 따라 장애가 발생하면 어떤 역할을 담당할 것인지도 미리 정하고 있다. 이는 프로젝트 규모가 달라서 발생한 것 같기도 하다.
728x90
'CS > SRE' 카테고리의 다른 글
Ch16. 시스템 중단 추적하기 (0) | 2023.08.23 |
---|---|
Ch15. 포스트모텀 문화: 실패로부터 배우기 (0) | 2023.08.23 |
Ch13. 긴급 대응 (0) | 2023.08.16 |
Ch12. 효과적인 장애 조치 (0) | 2023.08.16 |
Ch11. 비상 대기 (0) | 2023.08.16 |