가용성이 높다는 것은 서비스의 가동률이 높다는 것을 의미하며, 이러한 가용성은 보통 '9'로 측정한다.
예를 들어, 가용성 수준이 '세 개의 9(Three Nines)'인 서비스는 가동되어 실행되는 99.9%의 시간만큼 지원할 수 있다는 것을 말하며, 24 X 7 X 365(하루 24시간/일주일 7일/일년 365)을 기준으로 했을 때 1년 동안 서비스 중지가 8.76시간이라는 것을 의미한다.
다음은 인프라의 가용성 비용에 따른 서비스 가동 중지 시간을 정리한 내용이다.
가용성 비율
가동 중지 시간(24시간 기준)
90%
876시간(36.5일)
95%
438시간(18.25일)
99%
87.6시간(3.65일)
99.9%
8.76시간
99.99%
52.56분
99.999%
5.256분
매우 중요한 업무 시스템이나 평상시 서비스 중지 및 다운타임을 가져갈 수 없는 시스템을 설계해야 하는 경우 인프라의 가용성을 극대화할 수 있는 아키텍처로 인프라를 구성한다.
이러한 시스템을 '고가용성 시스템'이라 말하며, AWS의 주요 서비스를 이용하면 손쉽게 고가용성 시스템을 설계하고 구현할 수 있다.
확장성(Scalability)이란?
서비스나 응용프로그램이 증가하는 성능 요구에 맞게 향상될 수 있는 정도를 나타낸다.
동시 접속자가 100명인 시스템이 있다고 가정할 때 특정 시즌이나 이벤트로 인해 동시 접속자가 10배에서 100배 이상 많이 접속하는 경우, 확장성이 높은 시스템은 사용자 증가에 따라 시스템의 자원이나 리소스를 손쉽게 추가 및 삭제할 수 있다.
이러한 확장성은 물리적 하드웨어 환경에서 Scale up과 Scale out이라는 두 가지의 확장성 전략을 이용하여 구현할 수 있다.
Scale up은 단일 하드웨어에 대해 시스템 리소스(프로세서, 메모리, 디스크, 네트워크 어댑터 등)를 추가하거나 기존 하드웨어를 더욱 강력한 것으로 교체하는 작업이 포함되며, Scale out은 서버를 여러 대 추가하여 처리 능력을 향상시키는 방법이다.
AWS의 Scaling은 클라우드의 이점을 살려 인프라의 증설 및 축소를 손쉽게 구현할 수 있어서 확장성 및 탄력성 높은 시스템을 구축할 수 있다.