오늘날의 기술 환경에서 내결함성(Fault Tolerance)은 시스템이 정상적인 작동을 유지하는 데 중요한 능력으로 간주되며, 특히 고가용성과 중요한 임무 수행에서는 이 능력이 필수적입니다. 하나 이상의 구성 요소 오류가 발생하더라도 계속 작동할 수 있는 내결함성 시스템은 사용자 경험과 데이터 보안을 보장하는 데 매우 중요합니다.
내결함성은 오류나 오류가 발생할 때 시스템이 계속해서 정상적으로 작동할 수 있는 능력입니다. 즉, 사용자는 문제를 인식하지 못합니다.
내결함성 시스템의 기원은 체코슬로바키아 엔지니어 Antonín Svoboda가 최초의 내결함성 컴퓨터인 SAPO를 제작한 1951년으로 거슬러 올라갑니다. SAPO의 설계 개념은 드럼과 릴레이의 조합을 기반으로 하며 메모리 오류를 감지하기 위해 3중 모듈 중복성을 사용했습니다. 시간이 지남에 따라 이 기술은 점차 군사 및 항공우주 분야에서 널리 사용되었습니다.
내결함성의 핵심은 시스템이 고장난 구성 요소를 식별하고 즉시 복구할 수 있다는 것입니다. 이러한 시스템은 일반적으로 다음과 같은 중요한 설계 원칙을 통합합니다.
내결함성 기술은 시스템이 고압 환경에서 안정적으로 작동해야 하는 항공기, 원자력 발전소, 슈퍼컴퓨터 등 다양한 응용 분야에서 특히 두드러집니다. 보험 회사의 컴퓨터 시스템에서는 장기적인 안정성을 보장하고 가용성을 극대화하기 위해 내결함성이 구현됩니다.
하드웨어 수준에서 내결함성 기술의 특정 사례에는 오류가 발생해도 시스템이 계속 실행될 수 있도록 보장하는 핫 스와핑 및 단일 지점 허용 오차(Single Point Tolerance)가 포함됩니다. Tandem Computers와 같은 회사는 이 기술을 사용하여 자체 논스톱 시스템(NonStop 시스템)을 설계하여 장기적인 운영을 유지합니다.
HTML은 브라우저에서 구문 분석할 수 없는 새로운 HTML 엔터티가 전체 문서를 유효하지 않게 렌더링하지 않도록 내결함성과 이전 버전과의 호환성을 갖도록 설계된 기술입니다.
내결함성 기술이 상당한 발전을 이루었음에도 불구하고 이에 상응하는 과제와 표준이 점차 나타나고 있습니다. 모든 구성 요소를 중복으로 만들면 비용, 크기 및 전력 소비 측면에서 시스템에 많은 부담이 가해지기 때문에 모든 구성 요소에 내결함성 설계를 제공하는 것은 종종 실현 가능하지 않습니다. 따라서 내결함성이 필요한 구성 요소를 선택하는 것은 중요한 고려 사항입니다. 여기에는 구성요소의 중요성, 고장 가능성, 허용 오차 달성에 드는 경제적 비용과 같은 요소가 포함됩니다.
과학 기술의 발전과 응용 요구 사항의 변화에 따라 내결함성 기술에 대한 연구도 끊임없이 발전하고 있습니다. 특히 자동화, 인공 지능 등의 분야에서는 시스템 자체 복구 및 지속적인 운영의 필요성이 점점 더 시급해질 것입니다. 이를 위해서는 시스템이 복잡성과 불확실성에 직면하여 계속 작동할 수 있도록 보다 발전된 내결함성 메커니즘을 개발하기 위해 학제간 협력이 필요합니다.
이렇게 빠르게 발전하는 기술적 배경 속에서 특정 시스템이 장애를 겪어도 계속 작동할 수 있는 이유에 대한 비밀도 생각하고 있나요?