Close

더 나은 인시던트 관리를 위한 길은 여기에서 시작됩니다

DevOps 시대의 인시던트 관리

인시던트 관리 팀에 비난을 배제한 열린 커뮤니케이션의 원칙 적용

인시던트에 대응하는 방법을 재검토하지 않고는 소프트웨어를 구축, 배포 및 운영하는 방법을 재검토할 수 없습니다.

2009년의 중요한 강연인 “하루에 10건 이상의 배포: Flickr에서 개발 팀 및 운영 팀의 공동 작업"에서, John Allspaw 및 Paul Hammond는 개발자와 IT 운영 팀이 협력하고 자주 제공하는 세상에 대한 비전을 구상했습니다. 그후 10년 동안 이 비전은 DevOps 움직임이라는 형태를 갖췄습니다.

DevOps의 특성은 인시던트에 대응하는 새로운 방식에 의존합니다. Allspaw와 Hammond의 강연에서 인시던트 관리가 이렇게 많은 관심을 받은 것은 놀라운 일이 아닙니다.

Hammond는 "깨달아야 할 중요한 사실은, 실패는 일어나기 마련이라는 것입니다."라고 강연에서 말하며 "일어날지 말지가 아니라, 언제 일어날지에 대한 문제입니다."라고 덧붙였습니다.

ITIL과 같은 프레임워크와는 달리, DevOps 팀을 위한 모범 사례의 '공식적인' 문서는 없습니다. 그러나 일반적으로 DevOps의 핵심은 조직의 사일로를 허물고, 투명성을 높이며 개발자와 IT 운영 팀 간의 열린 커뮤니케이션을 촉진하여 조직에 비즈니스 가치를 제공하는 데 있다는 점에는 모두가 동의합니다.

투명성, 가시성 및 신속한 학습이라는 똑같은 문화가 인시던트 관리까지 확장됩니다.

왜 그럴까요? 인시던트 관리의 첫 번째이자 가장 중요한 단계는 어떤 문제가 발생했는지 이해하고, 문제 해결을 위해 적절한 담당자를 할당하고, 비난을 배제한 문화를 조성하는 것입니다.

DevOps 인시던트 관리에는 개발자와 IT 운영 팀 간의 비난을 배제한 열린 커뮤니케이션의 문화가 필요합니다. 또한 IT 서비스의 신뢰성을 개선하고 고객 만족도를 높이며 비즈니스 가치를 창출하는 간단한 프로세스도 구축해야 합니다. DevOps 엔지니어는 DevOps 문화와 사례를 실천하는 데 도움을 줄 수 있습니다.

이에 비해, ITIL은 IT 서비스 관리의 특정 관행을 개선하도록 고안된 26개의 프로세스, 절차, 작업 및 체크리스트로 이루어져 있는 규정된 집합입니다. ITIL은 서비스 품질과 일관성, 시스템의 복원력 향상에 중점을 둡니다.

ITIL의 이점은, ITSM을 개선하려는 조직이 처음부터 시작하는 대신 템플릿 형식의 모범 사례를 사용하여 시작할 수 있다는 것입니다. ITIL이 대기업에 가장 적합하다고 생각할 수도 있지만, 이 프레임워크는 더 작은 규모의 기업 역시 비즈니스에 적합한 프로세스를 선택하면서도 가치를 찾을 수 있을 정도로 유연합니다.

ITIL의 한 가지 단점은, 인시던트 대응 프로세스를 급하게 변경해야 하는 경우 공식적인 변경 관리와 전문 컨설턴트가 참여하여 개선이 지연될 수 있다는 것입니다.

바로 시작하려는 팀의 경우 DevOps 인시던트 관리 접근 방식을 통해 하나로 모여 즉시 이점을 실현할 수 있습니다.

DevOps 인시던트 관리 프로세스

인시던트 관리에 대한 DevOps 접근 방식은 효과적인 인시던트 관리 측면에서 기존 단계와 크게 다르지 않습니다. DevOps 인시던트 관리는 대기 중 담당자를 포함하여 처음부터 개발자 팀을 참여시키고 직책이 아닌 전문 지식을 기반으로 작업을 할당하도록 명시적으로 강조합니다.

1. 감지
DevOps 인시던트 대응 팀은 인시던트가 발생하지 않기를 바라는 대신(인시던트는 분명히 발생하기 마련이므로) 여기에 대비하는 데 높은 가치를 둡니다. 이 팀은 시스템의 약점을 파악하여 잠재적인 인시던트에 대한 대응 계획을 세우기 위해 공동 작업합니다. 모니터링 도구, 알림 시스템, 그리고 인시던트가 감지되면 누구에게 연락하고 다음으로 무엇을 해야 할지 각 팀원이 파악할 수 있는 런북을 설정합니다.

2. 대응
DevOps 인시던트 관리 팀에서는 대기 중 교대 근무 시 모든 인시던트에 대응할 책임이 있는 한 명의 대기 엔지니어를 두는 대신, 에스컬레이션 가능한 여러 팀원을 지정합니다. 지정된 대기 중 엔지니어가 인시던트를 독립적으로 해결할 수 없는 경우 가이드 역할을 해줄 런북이 마련되어 있습니다. 대기 중 엔지니어는 적절한 담당자를 투입하여 문제의 영향과 심각도 수준을 평가하고 적절한 대응자에게 에스컬레이션할 수 있습니다.

3. 해결
인시던트에 대응해야 할 때가 되면 DevOps 인시던트 관리 팀은 빠르게 해결에 도달하는 경우가 많습니다. 전반적으로 보면, 그 이유는 애플리케이션이나 시스템 코드를 작성한 팀이라서 더 익숙하기 때문입니다. 또한 한 단계 더 발전된 준비와 원활한 커뮤니케이션 시스템의 이점을 갖추고 인시던트 해결을 위해 협업하여, 코드를 처음 보는 타사 대응 팀보다 빠르게 문제 해결에 도달할 수 있습니다.

4. 분석
DevOps 인시던트 관리 팀은 비난을 배제한 사후 검토 프로세스로 인시던트를 마무리합니다. 팀은 시스템의 복원력을 지속적으로 개선하고 향후 인시던트를 빠르고 효율적으로 해결한다는 목표를 가지고 함께 모여서 정보, 메트릭 및 배운 교훈을 공유합니다.

5. 준비
인시던트가 해결되고, 모든 수정 단계가 완료되고, 시스템이 복원되면 DevOps 인시던트 관리 팀은 한 발짝 물러서서 다음 인시던트에 대한 준비도를 평가합니다. 사후 검토 프로세스에서 배운 내용을 가져와 런북을 업데이트하고 필요에 따라 모니터링 도구 및 알림 시스템을 조정합니다. 지속적인 개선에 중점을 둔 DevOps는 기술뿐만 아니라 사용자 및 팀에도 적용됩니다. 인시던트 발생 후 각 팀원은 그 다음에 발생하는 인시던트에 더 철저히 대비할 수 있습니다.

효과적인 DevOps IM 팀을 위한 모범 사례

인시던트 대응에 DevOps 접근 방식을 채택하면 개발 팀과 IT 운영 팀 간의 커뮤니케이션이 향상되고 인시던트 대응 및 수정 속도가 빨라지며 시스템의 복원력이 높아질 수 있습니다.

프로세스 및 워크플로 자동화
문제 해결을 시작하는 데 필요한 정보에 대해 적절한 담당자가 알림을 받을 수 있도록, 서비스 데스크, 모니터링, 티켓팅, CMDB/자산 관리 및 채팅 도구를 통합하여 IT 인시던트 알림 및 워크플로를 간소화하세요. 인시던트가 발생했을 때 바로 해결 작업이 시작될 수 있도록 사전 정의된 워크플로를 사용하여 런북을 설정하세요.

팀 간 커뮤니케이션
팀원이 실시간 채팅 도구를 사용하여 조직 전반에서 커뮤니케이션할 수 있도록 지원하세요. 누구나 언제든지 참여해서 현재 상황과 이루어진 조치를 빠르게 파악할 수 있도록 인시던트 기록을 만드는 도구를 사용하세요.

비난을 배제한 접근 방식 사용
인시던트를 해결한 후에는 한 팀으로 모여서 비난을 배제한 사후 검토 세션에서 어떤 일이 있었는지 검토하세요. 누군가를 탓하지 말고, 모두가 업무를 더 잘 해내고 더 안정적인 시스템에 기여할 수 있도록 정보를 공유하는 데 집중하세요.

비즈니스 수익 파악 및 집중
DevOps 인시던트 대응은 더 나은 커뮤니케이션을 위한 수단에 그치는 것이 아니라, 개발자와 운영 팀이 협력하여 실질적인 비즈니스 가치를 제공하도록 보장하는 방법입니다. 평균 감지 시간(MTTD), 평균 복구 시간(MTTR) 및 평균 고장 간격(MTBF)과 같은 메트릭을 추적하여 팀의 개선률을 파악하세요.

대기 일정을 활용하여 개발자와 시스템 관리자를 SRE로 포지셔닝
DevOps 팀에서는 개발자와 시스템 관리자 간의 경계가 모호해지기 시작하고, 인시던트에 대응하는 관계자가 곧 사이트 안정성 엔지니어(SRE) 역할을 맡는 경우가 많습니다. 그래도 그러한 관계자는 애플리케이션 코드나 인프라 코드에 대한 전문 지식을 가지고 있을 가능성이 높습니다. 인시던트에 대응할 수 있는 전문가가 알맞게 구성되어 있도록 대기 일정을 세우세요.

Jira Service Management가 DevOps의 인시던트 관리 방식을 지원하는 방법에 대해 자세히 알아보세요.

다음 단계
SRE