클라우드

“요금 폭탄 피하기 위해 알아야 할” 클라우드 오토스케일링의 함정 4가지

David Linthicum | InfoWorld 2023.07.12
클라우드 컴퓨팅 플랫폼의 장점을 찾아 보면, 오토스케일링에 대한 글을 자주 볼 수 있다. 클라우드 업체마다 차이가 있기는 하지만, 기본적인 개념은 사용자가 더 많은 메모리와 CPU, 스토리지를 필요로 하는지 감지해 자동으로 할당하는 것을 의미한다. 이를 이용하면 워크로드가 늘거나 줄어도 애플리케이션을 일정한 수준에서 안정적으로 운영할 수 있다.
 
ⓒ Getty Image Bank

이 오토스케일링 기능은 보통 2가지 방식으로 구현된다. 하나는 애플리케이션을 기준으로 확장한다. 사용자가 설정해 애플리케이션에서 활성화해야 하므로 완전한 자동화는 아니다. 다른 하나는 완전히 자동화된 방식으로 여러 리소스를 할당하는 시스템을 이용하는 방식이다. 현재 많은 퍼블릭 클라우드 업체가 이런 오토스케일링 서비스를 제공한다. 사용자가 자체 하드웨어를 사용하거나 매니지드 서비스 업체를 이용하는 방법도 있다.

그렇다면 이런 오토스케일링 방식에난 장점만 있을까? 오토스테일링 기술의 단점에 대해 알아보자.
 

복잡성과 운영의 문제

오토스케일링 시스템을 도입해 시스템이 리소스 수요 변화에 적절하게 대응하도록 하려면, 그 첫 단계는 스레드홀드와 룰을 포함해 적절한 스케일링 정책을 정의하는 것이다. 하지만 이 작업이 생각만큼 쉽지 않다. 실제로 한번 해보면 매우 복잡하고 많은 시간이 걸리며 특별한 전문성이 필요한 작업이라는 것을 바로 알 수 있다. 대부분 기업은 이런 전문성을 가진 인력이 없고, 종종 오토스케일링을 잘못 설정하는 것도 이 때문이다. 이는 곧 시스템이 너무 많은 리소스를 사용하고 있고 필요 이상의 비용을 쓰고 있다는 의미다. 이를 지속적으로 모니터링하고 계속해서 튜닝해야 과소할당(underprovisioning)이나 과대할당(overprovisioning) 문제를 해결할 수 있다.
 

비용의 문제

오토스케일링은 리소스 사용을 최적화해 비용을 절감하는 기술이지만, 이런 절감을 항상 보장하는 것은 아니다. 오히려 오토스케일링 시스템이 예상치 못한 비용 상승으로 이어진 사례도 종종 볼 수 있다. 예를 들어 갑작스럽거나 빈번한 스케일링 작업은 추가 비용을 유발할 수 있는데 이는 대부분 기업이 예상하지 못했던 지출이다. 리소스를 효율적으로 관리하지 못했을 때 역시 예외 없이 추가 비용으로 이어진다. 예상 밖의 워크로드 패턴이나 갑작스러운 증가가 오토스케일링을 촉발하는 변수가 되기도 한다. 결과적으로 더 많은 인스턴스와 리소스를 할당하게 되는데, 이는 막대한 클라우드 청구서가 될 가능성이 있다. 이런 사태를 막는 유일한 방법은 워크로드 패턴을 세심하게 분석, 예측해 확장성과 비용 효율성 사이의 균형을 유지하는 것이다.
 

성능 저하의 문제

오토스케일링의 또다른 단점은 성능의 가변성이다. 관리자가 원하는 자동화, 대응성을 위해 동적으로 리소스를 할당하는 작업의 기본적인 속성이다. 클라우드 업체의 인프라가 이런 성능 저하를 최소화하도록 설계되기는 했지만, 스케일링 작업을 하는 동안 레이턴시가 늘어나고 장애가 발생할 가능성은 여전히 존재한다. 이를 자세히 살펴보면, 스케일 업 혹은 다운 작업에는 인스턴스를 프로비전하거나 디프로비저닝하는 과정이 포함된다. 이 작업에는 어느 정도 시간이 소요되고 시스템 전체 성능에 영향을 줄 수 있다. 이런 가변성은 애플리케이션 반응성과 사용자 경험에 영향을 준다는 것은 이미 널리 알려져 있다. 가장 아픈 대목은 이 과정이 무료가 아니라는 사실이다. 어느 정도의 성능 저하를 감수하면서도 비용까지 내야 한다.
 

애플리케이션 복잡성 문제

일부 애플리케이션은 오토스케일링 시스템에서 제대로 작동하지 않는다. 고정된 설정으로 작동하는 레거시나 모놀리틱 애플리케이션이 대표적인데, 이들은 서로 복잡하게 의존성을 갖고 있어 오토스케일링 시스템에서는 좋은 성능을 낼 수 없는 경우가 있다. 물론, 이를 개선할 수 있다. 전체 애플리케이션 코드 중 일부를 다시 작성해서 오토스케일링의 효율성을 활용할 수 있도록 하는 식이다. 그러나 이렇게 애플리케이션을 수정하는 과정에서 전반적인 리팩터링 혹은 완전한 재설계가 필요할 수 있다. 이는 추가적인 개발 시간과 비용, 위험으로 이어진다. 또한, 상태를 공유하거나 세션 어피티니를 유지해야 하는 애플리케이션이라면 여러 인스턴스에 걸쳐 확장할 때 어려움에 부닥칠 수 있다.

정리하면 클라우드 기술 대부분은 장단점이 모두 갖고 있고, 오토스케일링 역시 마찬가지다. 따라서 클라우드에서 오토스케일링 시스템을 선택할 때는 장단점을 모두 충분히 고려해야 한다. 세심하게 고려한 클라우드는 언제나 혜택과 비용절감으로 돌아온다. 적절한 조화점을 찾는 것이 중요하다. 필자는 그동안 오토스케일링의 단점을 간과하고 부주의하게 도입하는 기업을 무수히 봤다. 이들 중 상당수가 이전에는 상상하지 못했던 청구서를 받아 들고 항의하곤 했다. 여기서 살펴본 점을 고려하면 이런 실수를 쉽게 피할 수 있다.
editor@itworld.co.kr
Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.