핵심 인사이트 (3줄 요약)
- 본질: 무정전 운영 (Non-Stop Operation) 아키텍처는 장애가 나도 "빨리 재시작"하는 구조가 아니라, 처리 중인 상태와 입출력 경로를 유지한 채 계산을 계속 이어 가는 무중단 설계다.
- 가치: 이를 위해 락스텝 (Lockstep) 실행, 메모리/입출력 이중화, 오류 격리, 핫스왑 (Hot Swap) 복구를 결합해 RTO (Recovery Time Objective) 0, RPO (Recovery Point Objective) 0에 가깝게 접근한다.
- 판단 포인트: 거래 체결, 관제, 생명 유지 장비처럼 순간 단절 자체가 사고가 되는 시스템에는 유효하지만, 일반 웹 서비스에는 비용·전력·복잡도가 과할 수 있어 소프트웨어 고가용성 (High Availability, HA)과 구분해서 선택해야 한다.
Ⅰ. 개요 및 필요성
무정전 운영 (Non-Stop Operation) 아키텍처는 단일 부품 고장이나 계획 정비가 발생해도 서비스 흐름을 끊지 않도록 설계한 결함 허용 (Fault Tolerance, FT) 중심 구조다. 핵심은 장애 후 전환 시간이 짧은 것이 아니라, 전환이라는 사건 자체를 사용자 관점에서 거의 보이지 않게 만드는 것이다. 즉 "죽으면 다른 장비로 넘긴다"가 아니라, 처음부터 같은 상태를 공유하거나 동기화한 대체 경로가 동시에 준비되어 있어야 한다.
이 구조가 필요한 이유는 일부 시스템이 "몇 초의 재기동"조차 허용하지 않기 때문이다. 증권 매칭 엔진은 밀리초 단위 지연이 주문 우선순위를 바꾸고, 항공·철도 제어는 제어 공백 자체가 안전 사고가 된다. 일반적인 이중화는 장애 감지, 리더 선출, 세션 복원, 캐시 재예열이 필요하지만, 무정전 운영은 이런 복구 단계를 최대한 설계 시점에 흡수해 둔다.
또한 무정전 운영은 단순히 무정전 전원 장치 (Uninterruptible Power Supply, UPS) 를 붙이는 개념과 다르다. UPS는 전원 공백을 메우는 장치이고, Non-Stop 아키텍처는 중앙처리장치 (Central Processing Unit, CPU), 메모리, 입출력 (Input/Output, I/O), 인터커넥트, 저장장치, 전원, 냉각, 운영 절차까지 포함해 시스템 전체의 연속성을 설계하는 관점이다. 따라서 전원만 이중화하고 공유 스토리지를 그대로 두면 진짜 Non-Stop이라 부르기 어렵다.
- 📢 섹션 요약 비유: 무정전 운영은 공연 중 주인공이 쓰러져도 무대 뒤의 대역 배우가 같은 대사를 같은 박자로 이미 따라 하고 있어서 관객이 장면 끊김을 느끼지 못하는 연출과 같다.
Ⅱ. 아키텍처 및 핵심 원리
무정전 운영의 핵심 메커니즘은 중복 실행 → 비교/투표 → 결함 격리 → 상태 재동기화의 연쇄다. 가장 엄격한 형태는 두 연산 모듈이 같은 입력을 같은 순서로 실행하는 이중 모듈 중복 (Dual Modular Redundancy, DMR) 또는 세 모듈이 다수결을 수행하는 삼중 모듈 중복 (Triple Modular Redundancy, TMR) 이다. 여기에 오류 정정 코드 (Error Correcting Code, ECC) 메모리, 이중 전원 경로, 중복 인터커넥트, 핫스왑 부품이 결합되면 단일 고장이 전체 중단으로 번지지 않는다.
아래 그림은 Non-Stop 아키텍처가 "예비 장비를 세워 둔다" 수준을 넘어, 실행 상태를 동시에 유지하고 문제 모듈만 떼어내는 방식임을 보여 준다.
┌──────────────────────────────────────────────────────────────────────┐
│ Non-Stop path: duplicate, compare, isolate, resync │
├──────────────────────────────────────────────────────────────────────┤
│ Input stream │
│ │ │
│ ├──▶ CPU-A + Mem-A + I/O-A ──┐ │
│ │ ├──▶ compare / vote ──▶ output │
│ └──▶ CPU-B + Mem-B + I/O-B ──┘ │
│ │ │
│ ├── fault detected ──▶ isolate bad module │
│ │ │
│ └── spare or hot-swap module ─▶ state resync │
└──────────────────────────────────────────────────────────────────────┘
이때 중요한 것은 공유 자원의 최소화다. CPU만 두 개이고 메모리 컨트롤러나 전원 백플레인이 하나라면 숨은 단일 장애점 (Single Point of Failure, SPOF)이 남는다. 그래서 고신뢰성 장비는 모듈 단위를 크게 잡아 프로세서, 메모리, I/O 경로, 전원 공급을 묶어서 복제하거나, 최소한 결함 전파를 막는 격리 경계를 분명히 둔다.
| 구성 요소 | 역할 | 설계 포인트 |
|---|---|---|
| 락스텝 CPU 쌍 | 같은 입력을 동시 실행 | 결정적 입력 순서 보장, 비교 지연 최소화 |
| ECC 메모리·메모리 미러링 | 비트 오류 교정·상태 보존 | 단일 비트 교정, 다중 비트 오류 격리 |
| 이중 I/O 패브릭 | 경로 단절 시 우회 | 네트워크 포트, 호스트 버스 어댑터 (Host Bus Adapter, HBA), 스위치, 백플레인 분리 |
| 핫스왑 전원·팬·디스크 | 정비 중에도 지속 운영 | 라이브 교체 시 전기적 아크·순간 강하 방지 |
| 상태 재동기화 엔진 | 교체 모듈을 운영 상태로 복귀 | 체크포인트 일관성, 재동기화 시간 관리 |
결국 Non-Stop 아키텍처는 "두 배 장비"가 아니라 상태를 잃지 않는 중복 경로 시스템이다. 하드웨어만 복제해도 소프트웨어가 비결정적이면 락스텝이 깨지므로, 인터럽트 순서·시간 소스·입출력 순서까지 통제하는 운영체제와 펌웨어 설계가 함께 따라와야 한다.
- 📢 섹션 요약 비유: 이 구조는 자동차 바퀴를 트렁크에 싣는 예비타이어가 아니라, 달리는 중에도 같은 속도로 함께 굴러가다가 하나가 터지면 바로 하중을 받아 주는 이중 바퀴 시스템에 가깝다.
Ⅲ. 비교 및 연결
무정전 운영을 제대로 이해하려면 HA 기반 빠른 복구와 FT 기반 연속 실행을 분리해서 봐야 한다. HA는 장애 후 재배치가 빠른 구조이고, Non-Stop은 장애가 사용자의 흐름을 끊지 않도록 설계된 구조다. 둘 다 중요하지만, 비용 구조와 대상 업무가 다르다.
| 항목 | HA 클러스터 (Active-Standby 등) | 무정전 운영 (Non-Stop / FT) |
|---|---|---|
| 장애 대응 방식 | 감지 후 전환 | 실행 중인 중복 경로가 즉시 지속 |
| RTO | 수 초~수 분 | 0 또는 체감 불가 수준 |
| RPO | 복제 주기에 좌우 | 보통 0에 가깝게 설계 |
| 자원 효율 | 상대적으로 높음 | 중복 실행 비용 큼 |
| 대표 대상 | 웹, 앱, 일반 업무 시스템 | 거래·제어·안전 임계 시스템 |
또한 Non-Stop은 카오스 엔지니어링 (Chaos Engineering) 이나 결함 주입 테스트 (Fault Injection Test) 와 경쟁 개념이 아니라 상호보완 관계다. Non-Stop은 구조 자체를 만들고, Fault Injection은 그 구조가 정말로 무정전으로 버티는지 검증하며, Chaos Engineering은 더 큰 운영 경계에서 다중 장애와 복구 문화를 시험한다. 여기에 고장 모드 및 영향 분석 (Failure Mode and Effects Analysis, FMEA) 를 결합하면 어떤 부품을 먼저 이중화해야 하는지 우선순위를 잡을 수 있다.
특히 착각하기 쉬운 지점은 "액티브-액티브면 다 Non-Stop"이라는 오해다. 액티브-액티브는 처리 분산을 의미할 수 있지만, 세션 일관성이나 진행 중 트랜잭션 보존을 못 하면 장애 순간 사용자는 재시도나 롤백을 겪는다. Non-Stop은 동시 가동보다 연속 상태 보존이 더 중요한 기준이다.
- 📢 섹션 요약 비유: HA는 예비 발전기를 켜는 방식이고, Non-Stop은 발전기 둘이 이미 병렬 운전 중이라 하나가 빠져도 건물 조명이 깜빡이지 않는 방식이다.
Ⅳ. 실무 적용 및 기술사 판단
실무에서 무정전 운영은 "가용성이 높으면 좋다"는 감성으로 도입하면 실패한다. 먼저 정말 RTO 0 / RPO 0이 필요한가, 그리고 업무가 상태 보존 실패를 견딜 수 있는가를 판단해야 한다. 예를 들어 주문 체결, 신호 제어, 생명 유지 제어는 순간 중단 비용이 매우 크므로 FT 설계가 정당화되지만, 이미지 CDN이나 일반 포털은 수 초 이내 복구만으로도 경제성이 높다.
설계 판단 체크리스트
- 장애 시 재시도나 세션 재수립이 허용되지 않는가?
- CPU, 메모리, I/O, 전원, 냉각, 운영 절차까지 SPOF가 제거되었는가?
- 소프트웨어가 결정적 실행을 보장해 락스텝 비교가 가능한가?
- 정비 중단을 줄이기 위해 핫스왑과 온라인 재동기화가 가능한가?
- 공통 원인 장애 (Common Cause Failure) — 같은 펌웨어 버그, 같은 전원 도메인, 같은 랙 — 를 분리했는가?
피해야 할 안티패턴
- 부분 이중화를 전체 무정전으로 착각: 서버 두 대를 두었지만 동일 스토리지 하나에 의존하면 숨은 SPOF가 남는다.
- 비용 대비 효과 미검토: 정적 웹 서버에도 하드웨어 락스텝을 적용하면 복잡도만 증가한다.
- 검증 없는 신뢰: Non-Stop 설계를 해 두고 실제 전원 분리, 링크 절단, 모듈 분리 실험을 하지 않으면 문서상의 안전망에 머문다.
기술사 관점에서는 "얼마나 안 죽는가"보다 어떤 장애를 어떤 시간 감각으로 흡수할 것인가를 설명해야 한다. 즉, FT 장비·소프트웨어 HA·운영 절차를 계층별로 조합해 목표 업무 연속성에 맞춘 설계를 제시하는 것이 핵심이다.
- 📢 섹션 요약 비유: 무정전 설계는 왕복 1회용 우산이 아니라, 태풍 속에서도 계속 돌아가야 하는 관제탑의 비상 설비를 짜는 일과 같다. 비가 좀 오는 날과 태풍이 오는 날의 설계 예산은 같을 수 없다.
Ⅴ. 기대효과 및 결론
무정전 운영 아키텍처의 가장 큰 효과는 장애를 서비스 이벤트가 아니라 내부 유지보수 이벤트로 바꾸는 것이다. 사용자는 중단을 인지하지 못하고, 운영자는 고장 모듈을 분리·교체·재동기화하면서도 업무를 계속 이어 갈 수 있다. 이 덕분에 거래 손실, 제어 공백, 데이터 재처리 비용, 운영자의 심야 복구 부담이 크게 줄어든다.
하지만 한계도 분명하다. 하드웨어 중복에 따른 비용과 전력 소모가 크고, 같은 설계 결함이나 펌웨어 버그는 중복 모듈에 동시에 영향을 줄 수 있다. 즉 Non-Stop은 모든 위험을 제거하는 마법이 아니라, 단일 부품 고장과 계획 정비를 무중단으로 흡수하는 강력한 방법이다.
앞으로는 전체 시스템을 무조건 FT로 만드는 대신, 거래 커밋 경로·제어 루프 같은 핵심 구간만 선택적으로 Non-Stop화하고 나머지는 소프트웨어 탄력성으로 받치는 하이브리드 설계가 중요해진다. 따라서 이 개념은 "가장 비싼 이중화"가 아니라, 단절 비용이 가장 큰 지점에 연속성 예산을 집중하는 아키텍처 전략으로 기억하는 것이 정확하다.
- 📢 섹션 요약 비유: 집 전체를 방탄차처럼 만드는 것이 아니라, 정말 멈추면 안 되는 심장 박동기 회로만 이중으로 감싸는 것처럼 핵심 경로에만 무정전 설계를 집중하는 것이 현명하다.
📌 관련 개념 맵
| 개념 | 연결 포인트 |
|---|---|
| 결함 허용 (Fault Tolerance, FT) | 무정전 운영의 상위 목표로, 장애가 나도 기능을 유지하는 설계 철학이다. |
| 락스텝 (Lockstep) | 중복 모듈이 같은 입력을 동시에 실행해 결과를 비교하는 핵심 메커니즘이다. |
| ECC 메모리 | 메모리 비트 오류를 즉시 교정하거나 격리해 Non-Stop 상태 보존을 돕는다. |
| 핫스왑 (Hot Swap) | 장비를 끄지 않고 부품을 교체해 계획 정비까지 무중단으로 흡수하게 한다. |
| RTO / RPO | Non-Stop 설계의 목표 수준을 설명하는 운영 지표다. |
| 결함 주입 테스트 | 실제 이중화 경로가 무정전으로 동작하는지 검증하는 실험 방법이다. |
📈 관련 키워드 및 발전 흐름도
단일 서버 + 수동 복구
│
▼
고가용성 (High Availability, HA)
: 장애 감지 후 전환
│
▼
결함 허용 (Fault Tolerance, FT)
: 중복 실행 · 상태 보존
│
▼
무정전 운영 (Non-Stop Operation) 아키텍처
: lockstep · mirrored I/O · hot swap
│
├──▶ 결함 주입 테스트 (Fault Injection Test)
│ : 실제 무중단 동작 검증
│
└──▶ FMEA / FTA 기반 신뢰성 설계
: SPOF 제거 · 공통 원인 장애 분석
👶 어린이를 위한 3줄 비유 설명
- 무정전 운영은 컴퓨터가 아파도 숙제를 멈추지 않게 똑같은 도우미 친구가 옆에서 같이 쓰고 있는 것과 같아요.
- 한 친구가 연필을 떨어뜨려도 다른 친구가 바로 이어서 써서 선생님은 숙제가 끊긴 줄 몰라요.
- 대신 친구를 두 명 준비해야 하니 돈과 노력이 더 들어서, 정말 중요한 숙제일 때만 이렇게 해요.