토요일, 9월 17, 2011

[일상다반사] 정전사태와 매뉴얼

이번에 전국적인(이라고 쓰고 후진국형이라고 읽는) 정전 사태 때문에 누구 잘못이냐 책임이냐 시끌벅적한 상황이다. 그 중에서 매뉴얼과 관련해 여러 가지 의견을 나열해보면 다음과 같다.

  • 매뉴얼을 따르지 않아 문제가 생겼다.
  • 매뉴얼이 낡아 현실을 반영하지 않았기에 따를 수가 없었다.
  • 매뉴얼도 나오지 않는 비상 상황이 발생했다. 그래서 임의로 조치를 취했다.
  • (이건 B급 관리자 생각) 평상시 매뉴얼대로 연습을 하지 않거나 매뉴얼을 무시했다.

매뉴얼을 제대로 만들고 제대로 따르면 모든 문제가 다 해결될 듯이 언론에서 연일 집중 포화를 때리는데, 정말 그럴까? 천만의 말씀. 아니라고 생각한다. Managing the Unexpected에도 이미 설명을 했지만, 다시 한번 서평에 적었던 내용을 옮겨본다.

정신 바짝 차려 행동하는 조직은 예기치 못한 사건을 초기에 찾아내 재앙으로 번지기 전에 문제를 이해하고 적극 대응한다. 반면 일반적인 조직은 규칙과 위기 계획에 맞춰 사건을 미리 구체화하므로 예기치 못한 사건이 벌어질 경우 이를 기존 틀에 끼워맞추려고 할 뿐 새롭게 배우고 분류하려고 애쓰지 않는다.

만일 매뉴얼 자체가 그야말로 바늘 하나도 들어가지 못할 정도로 꼼꼼하고 완벽하다면 규칙과 위기 계획에 맞춰 사건을 미리 구체화한 셈이 된다. 그러면 사건을 선험적으로 예측할 수 있다는 말인데, 미래를 예측했으니 미리 손을 썼을테고 그 결과... 사건이 발생하지 않아야 정상이다. 하지만 블랙 스완 이론에 따르면 세상 일이 이렇게 정규 분포를 그리며 선형적으로 예측에 맞춰 돌아가지는 않는 듯이 보인다. 결국 이번 정전 사태를 보면 매뉴얼이 아무리 잘 만들어져 있고 여기 맞춰 기계적으로 대응을 했다고 하더라도 문제가 생길 여지가 있다는 말이고, 결국 유연하게 대응하는 주체인 _사람_이 아주 중요하다는 결론을 내릴 수 있다. 자 여기서 궁금한 점. 지경부, 한전, 전력 거래소 등 이번 사태에 책임이 있는 각종 정부/공기관에 낙하산 내려보낸 사람은 누굴까? 해당 분야의 전문 지식이 아니라 지위와 나이로 문제를 풀려고 하니 애당초부터 문제의 소지가 있었다.

여기까지 적고 나면 댓글이 뭐라고 달릴지 충분히 예측 가능하다(물론 과거의 경험에 따라). '그렇게 잘하면 너가 가서 한전 사장해라', '너가 전기 계통이 얼마나 복잡한지 알긴 아냐? 책 몇 권 읽고나서 아는 채 되게 하네', '너 빨간색이지?' 미리 예상 댓글을 달아드렸으니 엉뚱한 댓글을 다는 대신 이제 좀더 생산적인 시간을 보내보자. 전기도 그렇지만 컴퓨터를 사용해 서비스를 제공할 때 피크 타임에 대응하기 위한 문제를 하나 내고 넘어간다.

문제: AWS와 같은 클라우드 환경에서는 AutoScaling과 같은 기능을 제공해 정해진 조건에 따라 자동으로 EC2 인스턴스 개수를 늘이고 줄일 수 있게 되어 있다. 또한 CloudWatch를 사용할 경우 알람을 설정해 특정 조건을 충족하면(아래 그림 CPUUtilization 조건 설정 마법사 화면 참조) 자동으로 사용자에게 알려주거나 큐에 넣을 수 있다. 그렇다면 사용자가 많이 몰리는 피크 타임과 한가롭게 노는 타임을 확실히 구분해 서비스에 지장이 없는 동시에 비용을 최소로 줄이도록 만드는 일관된 조건 집합(예: CPU, HDD, 네트워크, I/O 등 정량적으로 측정 가능한 메트릭을 기준으로)을 찾아낼 수 있을까? 만일 찾아내기가 어렵다면 어떤 방법을 동원해야 할까? 다 함께 생각해보자.

EOB

댓글 없음:

댓글 쓰기