인시던트에서 학습하는 이유는 무엇인가요?
- 5분
사건이 발생하면 첫 번째 반응은 아마도 "허레이, 학습 기회!"가 아닐 것입니다. 즉각적인 우선 순위는 무엇이 잘못되었는지 파악하고 가능한 한 빨리 수정하여 고객과 최종 사용자에게 미치는 영향을 줄이는 것입니다. 이 학습 경로의 다른 모듈에서 설명한 인시던트 응답 프로세스입니다.
그러나 인시던트가 해결되면 후속 작업을 수행하고 경험에서 교훈을 얻는 것이 중요합니다. 우리가 사건에서 배울 시간이 없다면, 그것은 단지 시간, 돈, 평판 등의 손실로 남아 있습니다. 그러나 해당 인시던트가 정보의 원본이 될 수 있는 경우(다른 원본이 할 수 없는 방식) 실제로 이 인시던트로부터 몇 가지 이점을 얻을 수 있습니다.
인시던트 후 검토는 인시던트 응답 수명 주기의 분석 단계의 일부입니다. 모든 사고 후 검토가 다 동일한 것은 아닙니다. 프로세스에 접근하는 방법에는 여러 가지가 있으며, 문제의 특정 측면에 너무 많은 초점을 맞추거나 잘못된 방법으로 질문을 프레이밍하면 검토의 가치를 줄일 수 있습니다.
이 단원에서는 이유뿐만 아니라 인시던트에서 가장 잘 배울 수 있는 방법에 대해서도 생각하기 시작합니다. 이후 단원에서 "방법"을 확장합니다.
복잡한 시스템 실패
시스템이 실패하는 경우가 아니라 시스템이 실패할 것이 확실하기 때문에 실패로부터 "학습"해야 합니다.
현대 세계에서는 오늘날, 특히 클라우드 환경에서 작업하는 대부분의 시스템은 복잡합니다. 이러한 구성 요소는 함께 작동해야 하는 많은 상호 연결 파트로 구성되며 전체 시스템 동작은 개별 부분 자체에서와 마찬가지로 해당 부분의 상호 작용에서 비롯됩니다.
안정성 은 이 학습 경로 전체에서 실행되는 스레드이지만 복잡한 시스템은 절대 100% 신뢰할 수 없습니다. 이러한 시스템은 흥미롭고 직관적이지 않습니다. 여러 부분으로 구성되며, 종종 시스템의 동작은 부품 자체만큼이나 해당 부분 간의 상호 작용에서 비롯됩니다.
이 주제에 대한 보다 심층적인 논의를 위해, 좋은 자원은 리처드 I. 쿡 박사에 의해 복잡한 시스템이 어떻게 실패하는지 라는 제목의 논문입니다. 그는 마취학자이자 연구원으로, 복잡한 시스템, 특히 의료 시스템의 환자 안전 분야에서 수십 년 동안 안전 작업을 했습니다. 이 문서에서는 의료에서 소프트웨어 운영에 이르기까지 모든 분야의 복잡한 시스템에 공통적인 내용을 설명합니다.
그의 핵심 사항 중 일부는 특히 인시던트 분석 및 인시던트 후 검토 프로세스와 관련이 있습니다.
- 복잡한 시스템에는 잠재적 결함이 변화하는 혼합물 형태로 포함되어 있습니다. 여러 결함이 없는 상태에서 시스템을 실행하는 것은 불가능합니다. 오류는 기술, 작업 조직 및 오류를 근절하기 위한 노력의 변화로 인해 지속적으로 변경됩니다. 시스템이 완벽하게 작동하지 않습니다.
- 복잡한 시스템은 성능 저하 모드에서 실행됩니다. 복잡한 시스템은 항상 "손상된" 시스템으로 실행됩니다. 복잡한 시스템은 많은 중복을 포함하고 있고, 많은 결함에도 불구하고 작동 상태를 유지할 수 있기 때문에 손상된 상태로 “작동”하게 됩니다. 시스템 작업은 동적이며 구성 요소가 지속적으로 실패하고 교체됩니다.
- 재앙은 언제나 코앞에 있습니다. 이러한 시스템의 복잡성은 장기적으로 주요 시스템 오류가 불가피하다는 것을 의미합니다. 복잡한 시스템은 항상 치명적인 오류의 가능성을 가지고 있으며 언제든지 발생할 수 있습니다. 시스템의 본질적인 특성의 일부이기 때문에 이 잠재력을 제거하는 것은 불가능합니다.
방지 및 대응
시스템 및 서비스에 대해 원하는 수준의 안정성을 달성하기 위해 인시던트가 발생하지 않도록 가능한 모든 작업을 수행합니다. 그러나 앞에서 설명한 것처럼 이러한 시스템의 복잡성으로 인해 예방이 항상 가능한 것은 아닙니다.
이러한 실현으로 인해 우리는 실패에 대한 두 가지 접근 방식을 취해야 합니다. 즉, 예방이 불가능할 때는 신속하고 효과적으로 대응할 준비를 해야 합니다.
방지 및 응답이 상호 연결됩니다. 조직에서 대부분의 시간 동안 작동하는 정교한 자동화를 배포했을 때 이 문제가 발생했을 수 있습니다. 대부분의 시간을 일한 것은 좋았지만 실패했을 때 아마도 극적으로 실패했으며 운영자가 무엇이 잘못되었는지 이해하기가 더 어려워졌습니다.
작업하는 시스템은 기술 이상으로 구성됩니다. 실제로는 시스템을 "위에" 두거나 "함께" 일하지 않습니다. 시스템 내에서 작업합니다. 시스템의 일부입니다. 복잡한 시스템에는 기술 구성 요소(하드웨어, 소프트웨어) 및 인적 구성 요소(사람과 개인, 교육 및 지식)가 모두 포함됩니다. 우리의 시스템은 인간을 포함하는 시스템이며, 일이 잘못 될 때 인간이 어떻게 반응하는지는 처음부터 잘못되는 것을 방지하는 것만큼 중요합니다.
언어
언어가 중요합니다. 이 모듈에서는 사용하는 용어와 의도적으로 사용하지 않는 용어에 대해 매우 구체적으로 설명합니다.
우리가 사용하는 단어는 인시던트에서 일어난 일에 대해 어떻게 생각하는지에 영향을 미치며, 우리가 배우는 것과 정도를 크게 바꿀 수 있습니다. 이 발견은 항공, 의학, 수색 및 구조, 소방 등과 같은 안전에 중요한 산업의 연구에서 비롯됩니다.
전체적으로 이 연구 분야는 RE(복원력 엔지니어링 )로 알려지게 되었습니다.
우리는 기술 분야에서 복원력 엔지니어링에 대해 배울 것이 많습니다. 이 모듈의 뒷부분에서는 RE 문헌에서 배운 몇 가지 유용한 내용을 공유합니다. 여기에는 실패에서 배우려고 할 때 사람들이 접하는 가장 일반적인 트랩 4개가 포함됩니다. 하지만 먼저 몇 가지 용어를 정의해야 합니다.