자료실

99.999%의 고가용성 아키텍처를 확보하기 위한 고려 사항 – 1부


현대 기술은 서비스가 항상 가동되고 항상 사용할 수 있다는 기대, 즉 ‘고가용성’에 대한 기대를 촉발했습니다. 그러나 기업이 최선을 다해 노력한다 해도 IT 인프라가 안정적인 상태를 계속 유지한다는 보장은 없습니다.  


소프트웨어, 서버, 하드 드라이브는 모두 시간이 지나면 장애를 일으킵니다. 사고가 발생했을 때 최소한의 중단으로 극복하기 위해서는 불안정한 환경에 대처하는 안정적인 시스템을 개발하는 데 투자해야 한다는 점을 많은 기업이 인식하고 있습니다. 고가용성에 주력하는 기업은 운영 탄력성을 갖추고 비즈니스에 필요한 서비스를 유지하는 데 있어 큰 효과를 거두게 됩니다. 


이번 포스팅은 고가용성 아키텍처와 데이터베이스의 종속성에 관한 것입니다. 정의와 관련된 몇몇 부분에서 기술적인 내용을 다루기는 하지만, 이 기술은 비즈니스 실적과 서비스 성과를 지원하기 위한 것입니다. 전자상거래 플랫폼처럼 비즈니스를 위해 365일 24시간 서비스를 실행해야 한다면, 상시 가동은 곧 비즈니스 요구사항입니다. 고가용성 아키텍처의 핵심은 성능 요구사항을 충족하도록 시스템을 설계하고 서비스 수준을 측정하고 서비스를 모니터링 및 유지관리해서 비즈니스 요구를 충족하도록 하는 것입니다. 



고가용성이란 무엇이고 왜 중요할까요? 

‘고가용성(high availability)’ 또는 ‘고가용성 아키텍처(high availability architecture)’는 계획된 중단과 계획되지 않은 중단 중에도 시스템이 계속 가동되어 사용자가 액세스할 수 있는 상태를 유지하는 역량입니다. 

불안정하고 신뢰할 수 없는 시스템을 통해 운영되는 기업은 심각한 금전적 피해와 데이터 손실 위협에 직면합니다. 따라서 안정적이고 신뢰할 수 있는 IT 인프라는 기업의 실적에 매우 중요합니다. 예를 들어, 온라인 주문을 처리하는 시스템에 긴 가동 중지 시간이 발생하는 경우 판매 손실로 인해 심각한 재무적 피해가 발생할 수 있습니다.


데이터 손실이 발생할 수 있는 이벤트는 하드웨어 고장, 소프트웨어 버그, 사람의 실수, 랜섬웨어 공격 등 무수히 많습니다. 데이터 손실이 일어나면 발전이 저해되고 법적 소송이 이어지고 많은 복구 비용으로 인해 재무적 손실이 발생할 수 있습니다. 고가용성을 위한 시스템 개발은 계획된 중단과 계획되지 않은 중단으로 인한 재무적 손실과 데이터 손실 위험을 최소화합니다. 


100% 가용성 목표를 달성한다면 좋겠지만, 현실적이지 않습니다. 현대적 프로세스와 기술, 베스트 프랙티스는 고가용성 인프라를 개발하고 구현하는 데 따르는 부담을 덜어줍니다. 하지만 비즈니스 및 운영팀은 안정적인 구현을 개발하는 데 수반되는 비용과 과제, 필요한 리소스에 대해서 먼저 파악해야 합니다. 


그렇다면 기업에서 고가용성 아키텍처 개발에 착수하려면 어떻게 해야 할까요?


고가용성의 성공 측정 

고가용성의 척도 중 하나는 ‘9×5(99.999%)’를 달성하는 것입니다. 기본적으로 시스템 또는 서비스의 가동 시간과 가용성을 나타내는 지표입니다. 아래 표에서 알 수 있듯이, 9×5를 달성한다는 것은 시스템 또는 서비스에서 1년 동안 계획되지 않은 가동 중지 시간이 5분에 불과하다는 의미입니다. 현재 기업에서 일상적으로 달성하고 있는 놀라운 서비스 수준입니다.



비즈니스 운영에 필수적인 시스템과 서비스는 9×5 달성을 목표로 하는 경우가 많습니다. 그러나 기업이 일상적인 운영에 사용하는 다양한 서비스와 애플리케이션에서는 전반적으로 달성하기 어려울 수 있습니다. 


기업에서 사용하는 대부분 서비스에서 가동 시간이 일반적인 수준인 99%라 해도, 하나 이상의 서비스가 다운되면 비즈니스의 전체적인 가용성과 성능에 영향을 미칠 수 있습니다. 아래 이미지는 개별 서비스 수준 계약(SLA)이 전체적인 가용성 지표에 미치는 영향을 보여줍니다. SLA 조건을 붙여 개별 서비스를 아웃소싱했는데 총 SLA가 가용성 목표 임계치를 충족하지 못하는 이유가 궁금하다면, 아래 사진에서 그 이유를 찾을 수 있습니다. SLA는 고객이 시스템 또는 서비스에서 기대할 수 있는 가용성을 백분율로 명시하는 계약입니다.



SLA가 참조하는 가용성 지표는 3가지입니다. 


  • 복구 시간 목표(Recovery Time Objective, RTO) : 계획된 중단에 소요되는 총 시간, 또는 계획되지 않은 중단에서 복구하는 데 소요되는 총 시간입니다. 

  • 평균 가동 중지 시간(Mean Downtime, MDT) : 시스템이 작동하지 않는 평균 시간입니다. 

  • 평균 무고장 시간(Mean Time Between Failures, MTBF) : 특정 시스템에서 다음 고장이 발생할 때까지 예상되는 시간입니다. 


가용성 지표는 최종 사용자에 대한 서비스의 가용성을 구성하는 요소가 무엇인지에 따라 달라집니다. 기술적으로는 서비스를 계속 사용할 수 있는 상태라 하더라도 사용자는 서비스 성능이 떨어지고 비생산적이라고 생각할 수 있습니다. 이런 차이에도 불구하고 가용성 지표는 서비스 제공업체 또는 시스템이 충족해야 하는 SLA에 구체적으로 공식화되어야 합니다. 


개별 서비스 SLA와 전체 SLA에 미치는 영향을 판단하기 위해서는 전반적으로 신중한 분석이 필요합니다. 또한, SLA는 비즈니스 요구사항을 지원하기 위한 것입니다. 서비스팀을 질책하기 위한 회초리나 무작위의 숫자가 아닙니다. 분석을 통해 실제로 용인할 수 있는 가동 중지 시간이 어느 정도인지 파악해야 합니다. 


고가용성에 대한 기본적인 이해를 바탕으로 다음 2부 포스팅에서는 9×5를 확보하기 위한 방법을 자세하게 살펴보겠습니다. 고가용성 아키텍처에 대해 궁금한 점이 있으시면 퀘스트소프트웨어 코리아로 언제든 문의주시기 바랍니다.




퀘스트소프트웨어코리아(주)

서울특별시 강남구 테헤란로 445 본솔빌딩10F
전화 번호 02-3420-9000 | 팩스 번호 02-569-3600

전자 메일 KoreaMarketing@quest.com 


Copyright © Quest. All Rights Reserved.

Hosting by I'MWEB


퀘스트소프트웨어코리아(주) 서울특별시 강남구 테헤란로 445 본솔빌딩10F
전화 번호 02-3420-9000 | 팩스 번호 02-569-3600 | 전자 메일 KoreaMarketing@quest.com


Copyright © Quest. All Rights Reserved.

Hosting by I'MWEB