1. 서비스 연속성 보장의 핵심, 가용성(Availability)의 개요
정의: 시스템이 장애 없이 정상적으로 서비스를 제공할 수 있는 상태를 의미하며, 일반적으로 '99.999%(Five Nines)'와 같은 가동률로 측정함.
필요성: 전자정부 서비스, 금융 거래, 의료 시스템 등 미션 크리티컬(Mission Critical)한 업무에서 장애로 인한 경제적 손실 및 사회적 혼란을 방지하기 위함.
2. 가. FTS(Fault Tolerant System) 구현 방법
FTS는 하드웨어 수준의 완전한 중복성을 통해 장애 발생 시에도 서비스 중단이 전혀 없는(Zero Downtime) 시스템을 지향합니다.
하드웨어 이중화: CPU, 메모리, 전원 공급 장치 등 모든 핵심 부품을 2개 이상 배치하여 하나의 부품 고장이 전체 시스템에 영향을 주지 않도록 함.
Lockstep 방식: 두 개 이상의 프로세서가 동일한 명령어를 동시에 실행하고 결과를 비교하여 일치할 경우에만 다음 단계로 진행하는 방식.
Voting 메커니즘: 3개 이상의 모듈이 연산을 수행하고 다수결의 원칙(Majority Voting)으로 최종 결과를 결정하여 오류를 격리함.
Hot Swapping: 시스템 가동 중에도 고장 난 부품을 교체할 수 있는 기술 적용.
3. 나. HA(High Availability) 구현 방법
HA는 장애 발생 시 백업 서버로 서비스를 즉시 전환(Failover)하여 가동 중지 시간을 최소화하는 방식입니다.
Active-Standby 구성: 운영 서버(Active) 장애 시 대기 서버(Standby)가 서비스를 이어받는 방식 (Cold/Warm/Hot Standby로 구분).
Active-Active 구성: 두 대 이상의 서버가 동시에 서비스를 제공하며 부하 분산(Load Balancing)과 상호 백업을 동시에 수행.
Heartbeat 모니터링: 서버 간 전용 회선을 통해 상대방의 생존 상태를 실시간 감시하고, 응답이 없을 경우 장애로 판단.
공유 저장소(Shared Storage): 데이터 일관성을 위해 두 서버가 동일한 외장 스토리지(SAN, NAS)를 공유하여 데이터 단절 방지.
4. 다. FTS와 HA의 비교 설명
| 구분 | FTS (Fault Tolerant System) | HA (High Availability) |
| 목표 | 장애 불허용 (Zero Downtime) | 장애 시간 최소화 (Minimized Downtime) |
| 메커니즘 | 하드웨어 복제 및 동시 실행 | 장애 탐지 후 서비스 전환 (Failover) |
| 가동률 | 99.9999% 이상 | 99.9% ~ 99.99% |
| 복구 시간 | 즉시 (지연 시간 없음) | 수 초 ~ 수 분 (전환 시간 발생) |
| 비용 | 매우 높음 (특수 하드웨어 필요) | 상대적으로 저렴 (상용 서버 활용) |
| 주요 대상 | 원자력 제어, 항공 관제, 증권 거래 | 일반 기업 서비스, 웹 서비스, DB |
5. 기술사적 제언: 비용 대비 효용성을 고려한 가용성 설계
SLA(Service Level Agreement) 기반 설계: 무조건적인 FTS 도입보다는 업무의 중요도와 예산을 고려하여 적정 수준의 HA 등급(Gold, Silver 등)을 결정해야 함.
클라우드 네이티브 환경으로의 전환: 최근에는 물리적 서버 기반의 HA보다 클라우드의 멀티 가용 영역(Multi-AZ)과 오토스케일링(Auto-scaling)을 활용한 복원력(Resilience) 중심의 설계가 강조됨.
결언: 가용성 보장은 기술적 장치뿐만 아니라 철저한 장애 대응 프로세스와 정기적인 재해 복구(DR) 훈련이 병행될 때 완성됨. 기술사는 시스템 설계 단계부터 **SPOF(Single Point of Failure)**를 제거하는 아키텍처를 지향해야 함.
댓글 없음:
댓글 쓰기