평균 무고장 시간(MTTF)은 수리 불가능한 시스템 또는 자산(예: 전구)이 작동하지 않거나 사양을 벗어나는 장애가 발생하기 전까지 실행되는 평균 시간입니다.
기업들은 기술적 또는 기계적 부품의 예상 수명을 추정하기 위해 이 신뢰성 핵심 성과 지표(KPI)를 사용합니다.
DevOps에서 MTTF는 중대한 결함이나 가동 중단이 발생하여 사용자에게 영향을 주기 전까지, 서비스가 가용한 상태로 유지되는 기간을 측정하는 척도로 자주 사용됩니다.
MTTF가 낮거나 떨어진다는 것은 인프라, 코드 또는 종속성이 취약하다는 것으로, 개발자와 사이트 안정성 엔지니어에게 신뢰성을 높이기 위한 개선이 필요하다는 경고를 보내는 것입니다. MTTF가 높다는 것은 중대한 인시던트나 시스템 중단 없이 운영 환경이 오랫동안 안정적으로 유지됨을 의미하며, 결과적으로 IT 팀이 강력한 아키텍처를 운영하고 소프트웨어 애플리케이션을 안전하게 배포하고 있다는 것을 의미합니다.
MTTF 지표는 평균 무장애 시간(MTBF)과 같은 다른 유지보수 지표와 더불어, DevOps 팀이 다양한 IT 구성 요소(네트워크 노드, 컨테이너, 관리형 서비스 등)의 용량 및 수명 주기 계획을 개선하는 데 도움을 주며, 예기치 못한 서비스 중단이 발생할 가능성을 낮춰 줍니다.
또한 이러한 지표를 통해 기업은 릴리스 전반에 걸쳐 장비 안정성을 추적할 수 있으므로 코드, 코드형 인프라(IaC) 및 구성 변경이 단순히 더 빠르게 출시하는 것이 아니라 시스템의 복원력을 높이는지 여부를 판단할 수 있습니다.
MTTF는 동일한 제품군 내에서 고장이 발생하기 전까지의 평균 가동 시간을 나타냅니다. 가장 단순한 형태의 MTTF 계산 방식은, 모든 자산의 총 가동 시간을 전체 자산 고장 횟수로 나누는 것입니다.
여기서 '총 작동 시간'은 고장이 날 때까지(또는 관찰이 중단될 때까지) 각 항목의 수명을 합한 것이고, '고장 횟수'는 실제로 고장난 품목의 수입니다.
MTTF = 모든 품목의 총 운영 시간/총 고장 횟수
컨테이너 클러스터를 예로 들어 보겠습니다.
컨테이너는 수명이 짧은 휘발성 인스턴스로, 일반적으로 수리해서 사용하지 않습니다. 컨테이너가 충돌하거나 비정상 상태가 되면, (Kubernetes와 같은) 컨테이너 오케스트레이션 툴은 해당 컨테이너를 즉시 파괴하고 새로운 컨테이너를 실행합니다.
50개의 동일한 애플리케이션 컨테이너에서 상태 비저장 웹 서비스를 실행하는 IT 팀은 각 컨테이너가 실행되는 시간(생성부터 실패까지)을 측정하고 이를 실패한 컨테이너의 수로 나누어 MTTF를 계산할 수 있습니다. 평가 결과, 50개의 컨테이너로 구성된 그룹이 총 200시간 동안 실행되었으며, 이 과정에서 5개의 컨테이너가 실패했음을 발견했습니다.
MTTF = 작동 시간 200시간/고장 5회 = 40시간
이 클러스터의 컨테이너에 대한 MTTF은 40시간입니다.
MTTF는 실제 사용 사례에 적용하기에 완벽하거나 정밀한 공식은 아닙니다. 따라서 DevOps 팀은 일반적으로 이를 부품 내구성을 파악하기 위한 추정치로 활용하며, 평균 복구 시간(MTTR)이나 평균 무장애 시간(MTBF)과 같은 다른 인시던트 관리 KPI의 종합적인 맥락 내에서 사용합니다. 이러한 경우, MTTF는 팀이 컨테이너 클러스터에서 하루에 몇 번의 재시작이 발생할지 예측하는 데 도움을 주며, 이를 통해 클러스터 규모와 오토스케일링 자원을 적절하게 할당할 수 있도록 해 줍니다.
다만, 고장 및 가동 데이터가 정밀할수록, 그리고 팀이 더 많은 데이터를 포함할수록, MTTF 계산 결과는 더욱 정확해집니다.
Think 뉴스레터를 통해 AI, 자동화, 데이터 등 가장 중요하고 흥미로운 업계 동향에 대한 최신 소식을 받아보세요. IBM 개인정보 보호정책을 참조하세요.
MTTF를 추적하면 팀은 시스템 신뢰성을 정량화하고 자산 관리에 대해 근거 있는 결정을 내릴 수 있습니다. 이는 더 나은 계획 수립을 독려하며, 더 회복력 있는 설계와 프로세스를 구축하도록 이끕니다. 또한 기업이 우선순위를 정하는 데 도움을 줍니다.
MTTF는 자산이 고장 나기 전까지의 수명을 수치화하여 명확하게 보여 줍니다. 덕분에 팀은 개인의 경험담이나 일화에 의존하는 대신, 객관적으로 신뢰성을 평가할 수 있습니다.
또한 MTTF는 시스템 문제가 발생했을 때 팀이 얼마나 빨리 해결하는지를 측정하는 MTTR에서 구성 요소나 서비스의 고유한 신뢰성을 분리합니다. MTTF가 서비스에 대해 중단되면 이는 종종 더 깊은 설계 또는 종속성 문제(예: 잘못된 라이브러리)를 나타내는 경우가 많습니다. 팀은 이러한 신호를 사용하여 문제를 해결하고 시스템 오류의 근본 원인을 찾을 수 있습니다.
시간 경과에 따른 지표를 추적하여 취약한 서비스를 식별하고 개선의 우선순위를 정하여 향후 사고 빈도를 줄일 수 있습니다.
MTTF 모니터링은 기업이 유지보수 관리 관행을 최적화하고 문제 해결에 보다 적극적인 접근 방식을 취하는 데 도움을 줄 수 있습니다.
팀은 시간 기반 또는 임시 유지보수 작업(예: '매일 일요일 서비스 X 재시작') 대신 관찰된 MTTF를 사용하여 일반적인 장애 기간('일반적인 장애 연령의 80%로 파드 재활용') 전에 유지보수 일정을 예약할 수 있습니다.
실제로 IT 관리자와 유지보수 팀은 IT 작업 수행을 위한 상세 지침서인 런북에 MTTF 기반의 명시적인 가이드를 포함할 수 있습니다. 예를 들어, 런북에 다음과 같은 작업 지침을 포함할 수 있습니다. '만약 서비스 X가 일반적인 MTTF보다 오래 실행되었고 초기 경고 신호(오류, 지연 시간)를 보인다면, 완전히 멈출 때까지 기다리지 말고 선제적으로 서비스를 중단한 뒤 재시작하세요.'
인시던트 관리 측면에서 MTTF는 결함을 감지한 시점부터 시스템이 완전히 가동 중단될 때까지 걸리는 평균 시간을 나타낼 수 있습니다. 이는 시스템이 성능이 저하되거나 불안정한 상태에서 얼마나 더 버틸 수 있는지를 보여 주는 지표가 됩니다. 이러한 성능 저하 기간을 파악하면, 팀은 해당 부품이 완전히 멈추기 전까지 수정을 완료하는 데 주어진 시간이 몇 분인지, 몇 시간인지, 혹은 며칠인지 판단하는 데 도움을 얻을 수 있습니다.
또한 사고의 심각도를 줄이는 데도 도움이 됩니다. IT 직원은 예상치 못한 장애 발생 시 당황하는 대신 미리 계획, 테스트 및 리소스를 확보한 스왑 또는 장애 조치를 실행할 수 있습니다.
MTTF를 DevOps의 KPI에 포함하면, IT 팀이 단순히 배포 속도에만 치중하는 대신 시스템의 신뢰성과 단계적 기능 저하를 고려한 설계를 하도록 유도할 수 있습니다. 팀은 구성 요소별로 MTTF를 비교함으로써, 성능이 떨어지는 부품을 교체하거나 서비스를 재설계하는 등 아키텍처 결정에 필요한 정보를 얻을 수 있습니다.
MTTF를 관찰하면 IT 아키텍트가 중복이 필요한 부분을 결정하는 데 도움이 됩니다. 예를 들어, MTTF가 낮은 중요 서비스를 성공적으로 실행하려면 복제본, 장애 조치 클러스터 또는 회로 차단기(서비스가 실패한 작업을 반복하지 못하도록 함)가 필요할 수 있습니다.
또한 MTTF 아키텍트에게 여러 서비스를 조합할 때 지침이 되는 지표를 제공합니다. 만약 애플리케이션이 낮은 MTTF를 가진(즉, 더 자주 고장 나는) 일련의 의존성 체계에 의존하고 있다면, DevOps 팀은 서비스 간의 연쇄적인 장애를 방지하기 위해 이들을 분리하거나 대체 경로를 추가하는 선택을 할 수 있습니다.
MTTF는 DevOps 팀이 애매모호한 “쉽게 느껴지는” 불만을 순위를 매기고 조치를 취할 수 있는 측정 가능한 신뢰성 위험으로 전환하여 기술적 부채의 우선 순위를 정하는 데 도움이 됩니다. MTTF 데이터를 사용하여 MTTF 및 인시던트 영향별로 정렬된 안정성 백로그를 생성할 수 있으므로 리팩터링, 재설계 및 종속성 업그레이드가 시스템 안정성을 가장 많이 저해하는 영역을 대상으로 할 수 있습니다.
뿐만 아니라, 기업은 MTTF 데이터를 통해 서비스가 얼마나 자주 중단되는지, 그리고 시간이 흐름에 따라 얼마나 많은 가동 중단이나 사용자 불편을 초래하는지를 보여 줌으로써 기술 부채와 비즈니스 성과를 연결할 수 있습니다. 이를 통해 엔지니어는 기술 부채를 해결해야 한다는 주장을 뒷받침할 객관적인 근거를 제시할 수 있습니다. 직관에 의존하는 대신 '이 모듈은 N일마다 고장이 발생하며, 전체 인시던트의 X%를 차지하고 있습니다'라고 말할 수 있습니다. 이러한 방식은 경영진과 제품 팀에 훨씬 더 큰 설득력을 갖습니다.
SLO는 특정 기간 동안 특정 서비스에 대해 합의된 성과 목표입니다. 이들은 서비스의 예상 상태를 정의하고 시스템 수정을 위한 의사 결정을 간소화하는 데 도움이 됩니다.
가용성 SLO는 오류 예산으로 알려진 서비스의 허용 가능한 가동 중단 기간을 결정합니다. 오류 예산은 기업이 혁신과 안정성의 균형을 맞출 수 있도록 설계되었습니다. 예산이 충분하다면 팀은 안전하게 기능 제공의 우선 순위를 정할 수 있습니다. 거의 다 소진되었다면 신뢰성에 집중해야 합니다.
낮은 MTTF 서비스는 빠르게 오류 예산을 소모할 수 있으며, 이는 SLO가 현재 설계에 비현실적이거나 IT 팀이 MTTF를 높이기 위해 서비스 신뢰성을 높여야 함을 의미합니다.
MTTF와 MTBF는 모두 장비가 작동하는 경향을 나타내는 신뢰성 지표이지만 다양한 유형의 자산과 수명주기에 적용됩니다. MTTF는 구성 요소의 첫 번째 고장까지의 평균 시간을 나타내는 반면, MTBF는 고장 주기 사이의 평균 시간을 나타냅니다.
MTTF는 수리가 불가능한 자산이 영구적으로 고장 나기 전까지의 평균 가동 시간을 추정하며, 이 시간이 지나면 해당 자산은 반드시 교체되어야 합니다. 이는 단 한 번의 고장으로 해당 부품의 유효 수명이 종료된다고 가정합니다.
MTTF는 스토리지 디스크, 중앙 처리 장치(CPU) 및 케이블과 같이 완전히 교체되는 하드웨어 구성 요소에 적용됩니다. 또한 컨테이너 및 마이크로서비스와 같은 소프트웨어 구성 요소에도 적용되며, 궁극적으로 제자리에서 수리되는 대신 새 버전이나 다른 서비스로 교체됩니다.
MTBF는 서버, 네트워크 구성 요소, 소프트웨어 코드와 같이 고장 후 수리하여 다시 서비스에 투입할 수 있는 수리 가능한 자산의 연속적인 고장 사이의 평균 시간을 측정합니다. 이는 장비가 고장 나면 수리를 거쳐 다시 고장 나는 과정이 반복된다고 가정합니다. 따라서 시스템의 유효 수명은 여러 번의 '고장 → 수리' 주기로 구성됩니다.
MTTF와 MTBF 지표는 함께 IT 팀이 인시던트 및 IT 서비스 관리에 접근하는 방식을 알려줍니다.
대부분의 아키텍처에서는 수리가 불가능한 부품(MTTF로 추적)이 크고 복잡하며 수리가 가능한 시스템(MTBF로 추적) 내부에 포함되어 있습니다. 따라서 MTTF를 활용하면 내부 장치의 수명이 다해 발생하는 고장이 더 큰 시스템의 MTBF에 언제 영향을 미칠지 예측하는 데 도움이 될 수 있습니다.
예를 들어, 관측 가능성 데이터를 분석한 결과, 소매업용 애플리케이션 내의 결제 처리 마이크로서비스가 치명적인 메모리 누수로 인해 복구 불가능한 중단을 일으키기 전까지 1,000시간의 MTTF를 가진다는 사실이 밝혀졌다고 가정해 보겠습니다. DevOps 팀은 애플리케이션의 MTBF가 급락하여 연쇄적인 장애가 발생하는 것을 막기 위해, 가동 800시간째에 마이크로서비스가 자동으로 재시작되도록 예약해 둘 수 있습니다.
따라서 수리가 불가능한 마이크로서비스를 선제적으로 교체하면 전체 애플리케이션의 신뢰성이 직접적으로 향상됩니다.
이 두 지표 모두 가용성과 유지보수 계획의 기초이기도 합니다. MTTF는 재고 관리 및 교체 부품 재고 비축에 관한 결정을 지원하며, MTBF는 예방 유지보수 일정과 예상 중단 빈도에 관한 결정을 지원합니다.
MTTR과 같은 수리 시간 지표와 함께 사용될 때, MTTF 및 MTBF는 기획자가 시스템 가동 시간을 추정하고 예비 부품 예산을 책정하며 최적의 신뢰성을 위해 IT 시스템을 세밀하게 조정할 수 있게 해 줍니다.
자산의 MTTF를 늘리는 프로세스는 해당 시스템, 종속성, 자산이 운영되는 대규모 DevOps 에코시스템 및 광범위한 비즈니스 목표에 따라 크게 달라집니다. 그러나 다음과 같은 특정 주요 관행이 수반되는 경향이 있습니다.
AI와 자동화를 활용하여 애플리케이션 스택 전반의 문제를 선제적으로 해결하세요.
DevOps 소프트웨어와 도구를 사용해 다양한 장치와 환경에서 클라우드 네이티브 앱을 구축하고, 배포하고, 관리하세요.
IBM 클라우드 컨설팅 서비스로 모든 플랫폼에서 애플리케이션을 지속적으로 현대화하여 기업의 민첩성과 성장을 가속화하세요.