메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

리스크 관리란 무엇인가? - 당신의 시스템에서 리스크를 관리하기 위한 실용적인 전략

한빛미디어

|

2016-10-17

|

by Lee Atchison

8,689

 이 글은 저자의 "Architecting for Scale"에서 발췌했다. 지금 이용할 수 없는 자료를 참조할 수도 있다.

 

모든 복잡한 시스템은 리스크를 가지고 있습니다. 모든 시스템에서 리스크는 피할 수 없는 부분입니다. 웹 애플리케이션 같은 복잡한 시스템에서 모든 리스크를 제거할 순 없습니다. 하지만 리스크를 검토하고 어느 정도의 리스크를 감수할 수 있는지 정하는 것은 건강한 시스템을 유지하는데 매우 중요합니다.

 

다음에서 리스크가 무엇이고, 어떻게 리스크를 발견할수 있는지 개괄적으로 설명하겠습니다. 그리고 우리의 애플리케이션에서 리스크의 영향을 줄이는데 도움을 주는 '리스크 관리'라 불리는 과정에 대해서 소개하겠습니다.

 

리스크 관리하기

 

리스크 관리는 다음 세 가지입니다. 우리의 시스템에서 (1)리스크가 어디에 있는지 알아내는 것(2)어떤 리스크가 필히 제거되어야 하고 남겨두어야 하는지 결정하는 것, (3)남은 리스크의 발생 가능성과 심각성을 줄이는 것입니다.

 

리스크가 발생하면 회사와 시스템은 손실이 납니다. 손실은 회사의 데이터이거나 고객의 데이터가 될 수 있습니다. 고객은 회사의 애플리케이션을 이용하는데 장애를 겪을 것이고 잘못된 결과를 낳을 것입니다. 어떤 손실은 궁극적으로 데이터와 사업에 대한 회사의 능력에 대해서 고객의 신뢰를 잃을 수 있습니다. 이는 결국 비용이 됩니다.

 

하지만 이 손실에 대해 상반된 관점에서 생각해봐야합니다. 리스크를 제거하는 것과 예방하는 것의 비용은 얼마나 다를까요? 궁극적으로 리스크 관리는 저 둘의 균형을 잡는 것입니다.

 

리스크 식별하기

 

리스크 관리의 첫 단계는 모든 리스크를 각각의 심각성과 발생 가능성과 함께 리스트로 만드는 것입니다.

 

우리는 이것을 리스크 매트릭스라 부르고 [그림 1]에 예시가 있습니다.

 

fig1.png

[그림 1] 리스크 매트릭스의 예

 

매트릭스를 만들기 위해선 먼저 브레인스토밍을 해야합니다. 다음의 다양한 소스를 통해서 리스크 매트릭스에 무엇을 넣을지 아이디어를 얻을 수 있습니다.

  • 개발자들에게 정보 얻기
  • 이미 많은 지원을 하고 있는 부분 
  • 이미 알려진 위험의 방향성과 취약점
  • 시스템에서 불완전하거나 기능이 누락된 부분
  • 성능 혹은 성과가 좋지 않은 부분
  • 트래픽이 급증하는 부분과 그 패턴
  • 기업 소유주와 지원 담당자, 고객의 구체적인 걱정
  • 시스템의 기술 부채

위 리스트에는 당연한 내용들도 있지만 예상치 못한 것도 있을 것입니다. 좋은 일입니다. 당신은 리스크의 취약점을 최대한 많이 발견하고 싶었을 것이고, 만약 리스트의 내용이 그다지 놀랍지 않았다면 깊게 고민해보지 않은 것입니다.

 

리스크 매트릭스를 만드는 것은 발생 가능성과 심각성에 대한 우선순위를 설정하는 것에서 시작합니다.

 

최악의 범죄자를 제거하기

 

리스트의 첫 버전을 만들었다면 완화될 수 없는 최악의 리스크를 찾아봅니다. 최악의 리스크를 어떻게 알아낼 수 있을까요? 자주 발생하거나, 아직 발생하지 않았지만 시스템에 심각한 문제를 일으키는 리스크를 찾아보십시오. 당연히 최악의 리스크는 자주 발생하면서도 시스템에 심각한 해를 끼치는 것들입니다. 책의 6장에서는 심각성과 발생 가능성의 차이에 대해 이야기하고 있습니다. 그리고 이 정보를 리스크를 관리하는데 어떻게 사용할지에 대해 이야기합니다. 이 정보는 최악의 리스크를 찾는데 도움이 될 것입니다.

 

[그림 1]에서 최악의 리스크가 될 수 있는 예는 "유저 식별 서비스가 다운됐을 때 프론트엔드에서의 실패"입니다.

 

최악의 리스크를 몇 개 알아낸다면 로드맵에 추가하십시오. 그리고 최대한 빠른 시간 내에 해결해야한다고 적어놓으십시오.

 

완화하기

 

모든 리스크에 대해서 발생 가능성을 줄이거나 문제의 심각성을 줄일 수 있는 방법이 있는지 고민해보십시오. 이 방법들을 리스크 완화라고 합니다.

 

리스크 완화는 매우 가치있습니다. 당신은 특히 간단하고 저렴하게 수행할 수 있는 리스크 완화 방법들을 생각하고 있을 것입니다.

 

[그림 1]의 유저 식별 서비스 다운으로 인한 프론트엔드의 실패(Frontend fails if user identity service is down)에 대해 봅시다. 이 경우에서 사용 가능한 완화 방법은 사용자의 신원 정보를 캐싱해두는 것입니다. 그래서 유저 식별 서비스가 다운되더라도 몇 가지 정보를 로컬의 프론트엔드에서 사용할 수 있도록 합니다.

 

리스크의 심각성을 줄이는 방법을 찾으면 최악의 리스크에 더 집중할 수 있습니다. 하지만 빠른 시간 내에 고칠 수 없는 리스크의 경우 완화 방법을 찾는 것은 리스크를 완전히 해결하는 것만큼 가치있습니다.

 

정기적으로 리뷰하기

 

리스크 매트릭스는 정기적으로 리뷰하지 않으면 쉽게 쓸모없어집니다. 최소한 분기마다 팀 차원에서 리스크 매트릭스를 리뷰해야합니다. 매우 활성화되어있고 중요한 시스템이라면 매월 하는 것도 좋습니다. 또한 문제가 발생한다면 직후에 리뷰합니다. 그 문제가 이미 알고 있던 리스크로서 잘 처리되었는지 질문해봅니다.

 

리스크 매트릭스를 리뷰할 때는 먼저 최근에 알게되거나 새롭게 찾아낸 리스크가 있는지 확인합니다. 찾아낸 리스크를 매트릭스에 추가하고 더이상 중요하지 않은 리스크는 제거합니다.

 

그 후 심각성이나 발생가능성에서 변동이 있는 리스크를 찾습니다. 종종 리스크 완화 방법은 리스크의 심각성을 줄이고 발생 가능성을 낮추는데 도움이 됩니다. 또는 리스크가 더 자주 발생하거나 더 심각해졌을 수도 있습니다. 이런 경우는 자주 발생합니다. 실제로 리스크가 발생했을 때 가장 최근의 리뷰에서 리스크를 너무 과소평가했다고 느낄 수 있습니다. 자 그럼 현재의 리스크 중 로드맵에서 제거하거나 고쳐야할 것들이 있습니까?

 

마지막으로 리스크 완화 방법에서 추가할 것이나 수정할 것을 찾아봅니다.

 

*****

원문 : What is risk management?

번역 : 손규빈

댓글 입력
자료실