728x90
오토스케일링(AutoScaling)
- 일반적으로 컴퓨팅 리소스 측면에서 시스템이 자동으로 규모를 조절(scale)하는 기능(ability)이다.
- 오토스케일링 시스템을 사용하면, 리소스가 필요할 때 자동으로 추가되고 변화를 거듭하는 사용자 요구에 맞게 규모를 조절할 수 있다. 오토스케일링 프로세스는 다양하며 메모리 또는 처리 시간과 같은 다른 메트릭을 기반으로 규모를 조절하도록 설정할 수 있다. 관리형 클라우드 서비스에는 일반적으로 오토스케일링 기능이 관계되어 있는데, 이는 대부분의 온프레미스(on-premises) 배포보다 더 많은 옵션과 구현을 제공하기 때문이다.
- 이전에는 인프라와 애플리케이션이 시스템의 최대 사용치(peak usage)를 고려하도록 설계하였다. 이 아키텍처에서는 많은 리소스가 충분히 활용되지 못하고 변화하는 소비자 수요에 탄력적이지 않음이 들어났다. 이러한 비탄력성은 비지니스에 더 큰 비용을 투입하도록, 그리고 큰 비용 투입에도 불구하고 과도한 수요가 발생했을 때 운영 중단으로 인한 비즈니스 손실이 발생하도록 만들었다.
- 클라우드를 활용하고 애플리케이션 및 그 의존성(dependency)을 가상화(virtualization) 및 컨테이너화(containerization)함으로써, 조직은 사용자 요구에 따라 확장 가능한 애플리케이션을 만들어 낼 수 있다.
- 애플리케이션 수요를 모니터링하고 자동으로 규모를 조절하여 최적의 사용자 경험을 제공할 수 있다.
스케일링
- 인스턴스 혹은 컴퓨팅 파워를 늘리는 것을 말한다.
- 대표적인 2가지 방법으로 스케일 업과 스케일 아웃이 있다.
- 스케일 업(Scale-up)
- 만일 인스턴스의 성능을 16배로 늘려야할 상황이 온다면, 말 그대로 16배 큰 인스턴스를 사용함으로서 성능을 올리는 것을 말한다.
- 하지만 성능과 비용이 비례하지 않는다는 단점이 있다.
- 스케일 아웃(Scale-out)
- 규모를 늘리는 것이다.
- 클라우드의 경우 성능을 16배 올리고 싶으면 인스턴스를 16개 더 사용하면 된다. 공간의 제약이나 하드웨어적인 제약이 없다. 그리고 성능과 비용이 비례하다는 특징도 있다.
- 클라우드 환경에서는 Scale-Out을 항상 염두하며 설계를 해야한다.
- 스케일 인(Scale-In)
- Scale-Out으로 늘린 인스턴스를 다시 줄이는 행위이다.
- 오토 스케일링은 바로 Scale-Out을 자동화 하기 위해 나온 서비스이다.
- 애플리케이션을 모니터링하고 용량을 자동으로 조정하는 역할을 하며, 최대한 저렴한 비용으로 안정적이고 예측 가능한 성능을 유지한다.
728x90
'Dev' 카테고리의 다른 글
CI/CD 파이프라인 (0) | 2024.08.13 |
---|---|
젠킨스(Jenkins) (0) | 2024.08.09 |
데이터베이스 샤딩 (0) | 2024.08.07 |
배치 파일과 도스 명령어 (0) | 2024.08.05 |
RedMine (0) | 2024.07.23 |