Auto-Scaling("자동 확장"이라고도 함)은 시스템 요구에 따라 컴퓨팅 리소스를 자동으로 할당하는 클라우드 컴퓨팅 기능입니다.
Auto-Scaling은 애플리케이션이 일관된 가용성을 유지하고 성능 목표를 달성하는 데 필요한 리소스를 확보하고, 클라우드 리소스의 효율적인 사용을 촉진하고 클라우드 비용을 최소화하는 데 사용됩니다.
Infosys의 2023년 백서에 따르면 클라우드로 마이그레이션하는 조직은 클라우드 비용의 약 32%를 낭비한다고 합니다.1 Auto-Scaling은 효율적인 리소스 활용에 초점을 맞추기 때문에 성공적인 FinOps 사례에 유용한 구성 요소입니다.
조직은 클라우드 인프라를 구성할 때 컴퓨팅, 스토리지 및 네트워크 리소스 필요성의 "기준"에 따라 리소스를 프로비저닝합니다. 그러나 네트워크 트래픽이나 애플리케이션 사용이 급증하거나 감소하는 등 수요는 변동합니다. Auto-Scaling 기능을 사용하면 사람의 개입 없이도 CPU 사용률이나 대역폭 가용성과 같은 특정 메트릭에 따라 실시간 수요에 맞게 리소스를 확장할 수 있습니다.
Auto-Scaling은 다양한 방법을 통해 리소스 할당을 최적화하는 데 사용할 수 있습니다. 예를 들어, 예측 확장은 과거 데이터를 사용하여 미래 수요를 예측합니다. 또는 조직의 Auto-Scaling 정책에 따라 결정된 리소스 요구에 실시간으로 반응하는 동적 확장을 사용할 수도 있습니다.
Auto-Scaling 정책은 클라우드 컴퓨팅 인스턴스의 라이프사이클을 자동화하여 리소스 수요를 지원하기 위해 필요에 따라 가상 머신을 시작 및 종료합니다. Auto-Scaling은 사용 가능한 클라우드 리소스를 최대한 활용하기 위해 탄력적 로드 밸런싱과 함께 사용되는 경우가 많습니다.
Auto-Scaling은 로드 밸런싱과 관련되어 있지만 완전히 동일하지는 않습니다. 이 두 프로세스 모두 백엔드 리소스 할당에 영향을 미치며 성능을 최적화하고 오버프로비저닝을 방지하는 데 사용됩니다. 이들은 함께 사용되는 경우가 많습니다.
로드 밸런서는 들어오는 트래픽을 여러 서버에 분산하여 특정 서버의 로드를 줄입니다. 로드 밸런서는 비정상 인스턴스에서 정상 인스턴스로 트래픽을 유도하는 상태 확인과 같은 기능을 제공하는 경우가 많습니다. 트래픽 부하의 균형을 맞추면 클라우드 환경에서 애플리케이션 성능을 향상시키는 데 도움이 됩니다.
이와 대조적으로 Auto-Scaling은 수요에 따라 시스템 용량을 조정하여 일관된 성능을 유지하고 리소스 오버프로비저닝을 방지합니다(즉, 필요한 것만 사용). Auto-Scaling은 리소스 수요와 조직이 설정한 Auto Scaling 정책에 따라 새로운 서버 또는 컴퓨팅 인스턴스를 추가하거나 종료합니다.
IBM Cloud, Amazon Web Services(AWS Cloud라고도 함), Microsoft Azure, Oracle Cloud Infrastructure와 같은 대부분의 클라우드 공급업체는 클라우드 플랫폼에서 Auto-Scaling 서비스를 제공합니다. 이러한 서비스는 조직이 조직의 클라우드 컴퓨팅 요구 사항과 목표를 충족하도록 Auto-Scaling 정책을 구성하는 데 도움이 될 수 있습니다.
제공업체와 플랫폼마다 서로 다른 기능, 성능 및 가격을 제공하며, 조직마다 사용 가능한 리소스와 사용 사례도 다르지만 일반적으로 Auto-Scaling은 다음과 같이 작동합니다.
프로세스는 시작 구성 또는 기본 배포로 시작되며, 여기서 인스턴스 유형(또는 유형)은 특정 용량 및 성능 기능과 함께 배포됩니다. 이 배포는 주로 API 호출과 코드형 인프라(IaC)를 사용하여 수행됩니다. 이 프로세스는 코드를 활용하여 IT 인프라 요소를 사전 정의된 사양에 맞게 프로비저닝하고 구성하는 프로세스입니다.
조직은 원하는 용량과 해당 인스턴스에 대한 예상 워크로드를 기반으로 인스턴스에 필요한 속성 종류를 결정합니다. 조직은 Auto-Scaling 정책을 설정할 때 컴퓨팅, 스토리지 또는 네트워크 사용에 대한 목표와 임계값을 설정할 수 있습니다. 이러한 임계값이 충족되면 지정된 작업을 자동으로 트리거하여 현재 리소스 수요를 보다 정확하게 수용할 수 있습니다. 원하는 경우 조정 작업이 시작될 때마다 알림이 전송되도록 정책을 구성할 수 있습니다.
조직은 지정된 워크로드에 대해 최소 또는 최대 인스턴스 수를 유지하는 인스턴스 그룹을 설정하거나 서로 다른 인스턴스 유형을 함께 그룹화하여 다양한 유형의 워크로드를 처리할 수도 있습니다. 인스턴스 유형에는 다음이 포함됩니다.2
범용 인스턴스 유형은 웹 서버, 소규모 데이터베이스, 개발 및 테스트 환경을 포함한 다양한 워크로드에 맞게 설계되었습니다.
이러한 인스턴스는 고성능 컴퓨팅, 배치 처리, 과학적 모델링 등 컴퓨팅 집약적인 워크로드에 최적화되어 있습니다. 이러한 인스턴스는 GPU와 코어 수가 많은 CPU를 사용하여 컴퓨팅 성능을 극대화합니다.
이러한 고용량 메모리 인스턴스는 고성능 데이터베이스, 분산형 인메모리 캐시, 실시간 데이터 처리 및 빅데이터 분석과 같은 메모리 집약적인 워크로드에 최적화되어 있습니다.
이러한 인스턴스는 빅데이터, 데이터 웨어하우징, 로그 처리 등 스토리지 집약적인 워크로드에 최적화되어 있습니다. 고용량 캐싱과 SSD(Solid State Drive)를 활용하여 워크로드의 집중적인 읽기 및 쓰기 활동을 지원합니다.
혼합 인스턴스 유형을 갖춘 Auto-Scaling 그룹을 통해 CloudOps 및 DevOps 팀은 리소스 요구 사항을 보다 정확하고 효율적으로 충족할 수 있습니다. 예를 들어, 대역폭 요구 사항은 적절하게 충족되지만 CPU 사용량이 Auto-Scaling 정책에 설정된 임계값을 초과하는 경우 시스템은 더 많은 컴퓨팅 전용 인스턴스를 활성화할 수 있습니다. 한편 네트워크 트래픽 처리 전용 인스턴스는 그대로 유지됩니다.
팀이 워크로드 수요를 이해하면 새 인스턴스에 대한 시작 구성 템플릿을 만들 수도 있습니다. 이러한 템플릿은 인스턴스 유형, 구성 매개변수 및 새 인스턴스 가동에 대한 기타 정책과 인스턴스가 전체 클라우드 환경에 기여하는 방식을 정의합니다. 이를 통해 조직은 가상 머신의 라이프사이클을 완전히 자동화할 수 있습니다.
다음과 같은 몇 가지 다른 유형의 확장과 다양한 Auto-Scaling 방법이 있습니다.
수평적 확장 또는 "확장"에는 클라우드 컴퓨팅 환경에 더 많은 시스템이나 노드를 추가하는 작업이 수반됩니다. 또한 규모를 축소하여 환경의 노드 수를 줄일 수도 있습니다.
수직적 확장 또는 "확장"은 현재 클라우드 컴퓨팅 환경의 기존 노드에 RAM, CPU, 스토리지 등의 성능을 추가하는 프로세스입니다.
Auto Scaling 정책에는 예측형, 동적 또는 예약형이 있습니다.
예측적 확장 정책은 인공 지능(AI)과 머신 러닝을 사용하여 과거 사용률을 기반으로 미래의 리소스 필요량을 미리 예측합니다.
예를 들어, 예측적 Auto-Scaling 정책은 연말 쇼핑 시즌을 앞두고 이커머스 회사의 웹 트래픽 증가 가능성을 파악하여 설정된 정책에 따라 확장 또는 축소할 수 있습니다. 이러한 접근 방식을 통해 네트워크 지연 시간과 다운타임을 사전에 최소화할 수 있습니다.
동적 확장 정책은 리소스 요구 사항이 발생하는 즉시 대응하여 실시간 사용률을 기반으로 리소스 할당을 조정합니다. 동적 확장 정책을 사용하면 조직은 특정 노드나 Auto-Scaling 그룹에 더 많은 리소스를 할당할 수 있습니다. 또한 CPU 사용률과 같은 특정 임계값에 도달하면 추가 인스턴스를 실행할 수도 있습니다.
예를 들어, 조직에서 불규칙한 일정으로 상당한 리소스를 소비하는 웹 애플리케이션을 실행하는 경우 동적 확장 정책을 사용하여 필요에 따라 리소스 가용성을 조정할 수 있습니다. 동적 확장에는 종종 쿨다운 기간이 수반되는데, 이 기간 동안 트래픽이 추가로 급증할 경우 증가된 리소스를 계속 사용할 수 있습니다.
예약된 Auto Scaling 정책은 미리 결정된 일정에 따라 리소스를 할당합니다. 예를 들어, 조직에서 트래픽 또는 리소스 수요가 아침보다 저녁에 훨씬 높다는 것을 알고 있다면 이러한 수요를 수용하도록 Auto Scaling 정책을 설정할 수 있습니다.
효과적으로 구현되면 Auto Scaling은 조직의 클라우드 컴퓨팅 환경을 최적화하고 전체 클라우드 비용을 줄이는 데 중요한 역할을 할 수 있습니다.
강력한 Auto-Scaling 정책을 수립함으로써 조직은 수동 프로비저닝에 대한 의존도를 낮추고 보다 일관된 시스템 성능을 보장할 수 있습니다.
Auto-Scaling을 사용하면 사람이 개입할 필요 없이 클라우드 환경이 리소스 수요에 실시간으로 대응할 수 있습니다. 이는 수동 확장보다 훨씬 효율적입니다. 이는 직원의 피로를 줄이고 구성 및 프로비저닝 일관성을 개선하며 직원이 더 가치 있는 업무에 집중할 수 있는 시간을 확보하는 데 도움이 됩니다.
Auto Scaling을 통해 조직은 리소스 모니터링 및 프로비저닝에 추가 인력을 투입할 필요 없이 클라우드 컴퓨팅 환경과 기능을 더욱 원활하게 확장할 수 있습니다.
Auto Scaling은 활동이나 수요에 관계없이 클라우드 환경에 필요한 컴퓨팅, 네트워크 및 스토리지 리소스를 확보함으로써 클라우드 서비스의 일관되고 안정적인 성능을 유지하는 데 도움이 됩니다.
보다 일관된 웹 앱 및 네트워크 성능은 사용자에게 보다 일관된 수준의 서비스를 제공한다는 것을 의미합니다.
리소스의 수동 프로비저닝에 의존하는 경우, 조직은 수요가 급증하는 시기에 리소스를 사용할 수 있도록 하기 위해 예방 차원에서 오버프로비저닝을 하는 경우가 많습니다. 수요에 따라 컴퓨팅, 네트워크, 스토리지 자원을 실시간으로 자동 확장할 수 있는 플랫폼을 사용하면, 조직은 리소스 과잉 할당을 피할 수 있습니다. 이러한 방식은 필요한 리소스만을 사용하도록 보장하여 클라우드 비용을 절감하고 투자 수익률(ROI)을 높이는 데 도움이 됩니다.
Cloud Paks가 어떻게 사업 운영 방식에 변화를 꾀하고 하이브리드 클라우드 환경에서 혁신적이고 효율적인 성과를 더 빠르고 스마트하게 도출했는지 알아보세요.
IBM Consulting Advantage 플랫폼으로 구동되는 IBM 클라우드 서비스를 사용하여 하이브리드 클라우드로의 여정을 가속화하고 비용 효율성을 높이며, 생산성과 지속 가능성을 높이고 시장 출시 시간을 단축할 수 있습니다.
IT 인프라 전반의 확장성, 현대화, 원활한 통합을 최적화하도록 설계된 IBM의 하이브리드 클라우드 솔루션으로 디지털 혁신을 간소화하세요.
1 “Cloud cost optimization" , Sarika Nandwani, Infosys.com, 2023년.
2 “AWS EC2 instance types: Challenges and best practices for hosting your application in AWS”, Christopher Graham, 2023년 8월 23일.