2024. 1. 10. 18:38ㆍ정보관리기술사/131회
요약
오토스케일링은 인스턴스의 자원 사용률에 따라서 해당 인스턴스의 숫자를 자동으로 조정하는 기술을 말하며, 클라우드 환경에 구성된 시스템에서 사용량이 급격하게 변동하는 상황에 대응하기 위해 사용한다.
오토스케일링은 모니터링, 분석, 계획, 실행 순으로 시스템의 사용량을 관찰하여 사용량이 변동되는 경우 인스턴스 수를 조절하여 효율적으로 시스템이 운영될 수 있도록 한다.
배경
클라우드 환경의 발전은 소프트웨어를 실행하기 위해 물리적인 장비와 자원을 확보하던 설치 작업을 논리적으로 할당하여 구성하는 작업으로 변화시켰다. 이로 인하여 시스템 사용량의 증가에 대응하는 방식도 바뀌었는데, 과거에는 물리적인 장비의 사양을 높이거나 구성된 환경에 새로운 장비를 추가하는 방식이 일반적이었다. 이러한 방식으로는 사용량의 급격한 증가에 빠르게 대응할 수 없었고 예상하는 사용량의 최대치만큼의 자원을 사전에 확보하여 자원의 낭비가 발생하는 문제가 있었다.
클라우드 환경에 구성된 시스템은 이러한 단점을 가상화 기술을 이용하여 극복하였다. 가상화 기술인 컨테이너 기술은 이미 사용자에게 제공하고 있는 가상의 CPU, 메모리, 네트워크를 각각의 프로세스가 독립적으로 가질 수 있도록 격리하여 주는 기술이다. 이렇게 실행하는 컨테이너의 인스턴스는 다른 어플리케이션 및 운영체제로부터 완전히 격리되어 독립적으로 실행되기 때문에 하드웨어 등 환경의 영향을 받지 않으며, 인스턴스의 생성과 종료가 빠르게 이루어지는 장점을 갖고 있다. 이러한 컨테이너의 특성은 상황에 따라 동적으로 시스템 사용량이 급격히 증가할 때 새로운 인스턴스를 시스템에 추가하여 성능을 높이고자 할 때 효과적으로 대응할 수 있다.
오토스케일링
오토스케일링은 인스턴스의 자원 사용률에 따라서 해당 인스턴스의 숫자를 자동으로 조정하는 기술을 말한다. 오토스케일링 과정에서 수집된 각 인스턴스의 자원 사용량을 토대로 오토스케일러는 인스턴스의 평균적인 자원 사용률이 목표한 수치에 도달하기 위한 적절한 수량을 결정하고 결정된 수량에 맞게 인스턴스를 추가로 생성하거나 삭제한다. 시스템은 이러한 과정을 일정한 주기로 반복하여 처리하기에 가장 적합한 인스턴스의 숫자를 항상 유지한다.
이 과정을 일반화하면 모니터링(Monitoring) - 분석(Analyze) - 계획(Planning) - 실행(Execute)의 4단계로 나눌 수 있다.
모니터링(Monitoring)
인스턴스 내부의 자원 사용량 모니터링을 위한 프로세스를 설치하여 CPU 및 메모리 사용량 혹은 별도로 정의된 사용량 지표를 계속 측정하여 오토스케일러에 보고한다. 각 인스턴스의 자원 사용량을 모니터링하여 오토스케일링에 필요한 데이터로 사용한다.
분석(Analyze)
모니터링 단계에서 수집된 자원 사용량과 정의된 알고리즘을 이용하여 인스턴스의 수량을 결정한다. 분석 과정에서 CPU 점유율의 일시적인 급등이나 급감으로 인한 컨테이너의 생성과 파괴에 따른 비용증가를 막기 위하여 각각의 스케일링 실행 후 일정한 유휴 시간을 두거나 목표 CPU 점유율에 일정한 비율의 허용치를 부여할 수 있다.
계획(Plan)
분석 단계에서 결정된 인스턴스 수량과 현재 인스턴스 수량을 비교하여 증감을 결정한다. 만약 결정된 수량과 현재 수량이 동일하다면 모니터링 단계로 돌아간다. 수량이 다르면 오토스케일러는 생성하거나 종료시킬 인스턴스를 선택한다.
실행(Execute)
컨테이너의 수량, 배치 및 제거 전략이 확정된 이후 명령을 실행한다. 명령이 성공적으로 완료된 경우 전체 과정을 반복하고, 실패한 경우 상태를 유지하고 성공할 때 까지 반복한다.
참고자료
- 허준. "컨테이너 기반 오토스케일링 기법의 성능 분석 및 개선." 국내석사학위논문 고려대학교 컴퓨터정보통신대학원, 2019.
'정보관리기술사 > 131회' 카테고리의 다른 글
머신러닝 VS 딥러닝 (0) | 2024.01.04 |
---|---|
정보시스템 감리와 PMO 비교 (1) | 2023.12.29 |
데이터 차원 축소(Data Dimensionality Reduction) (0) | 2023.12.27 |
[클라우드 컴퓨팅] Service Model, Deployment Model (1) | 2023.12.19 |
폭포수(Waterfall) 모델 VS 애자일(Agile) 모델 (1) | 2023.12.17 |