클라우드 컴퓨팅 플랫폼의 장점을 찾아 보면, 오토스케일링에 대한 글을 자주 볼 수 있다.
그렇다면 이런 오토스케일링 방식에난 장점만 있을까? 오토스테일링 기술의 단점에 대해 알아보자.
🍀 복잡성과 운영의 문제
오토스케일링 시스템을 도입해 시스템이 리소스 수요 변화에 적절하게 대응하도록 하려면, 그 첫 단계는 스레드홀드와 룰을 포함해 적절한 스케일링 정책을 정의하는 것이다. 하지만 대부분 기업은 이런 전문성을 가진 인력이 없고, 종종 오토스케일링을 잘못 설정하여 너무 많은 리소스를 사용으로 인한 필요 이상의 비용을 쓰고 있다.
🚩 이를 지속적으로 모니터링하고 계속해서 튜닝해야 과소할당(underprovisioning)이나 과대할당(overprovisioning) 문제를 해결할 수 있다.
🍀 비용의 문제
오토스케일링은 리소스 사용을 최적화해 비용을 절감하는 기술이지만, 이런 절감을 항상 보장하는 것은 아니다. 오히려 리소스를 효율적으로 관리하지 못했을 때 역시 예외 없이 추가 비용으로 이어진다.
🚩 이런 사태를 막는 유일한 방법은 워크로드 패턴을 세심하게 분석, 예측해 확장성과 비용 효율성 사이의 균형을 유지하는 것이다.
🍀 성능 저하의 문제
클라우드 업체의 인프라가 이런 성능 저하를 최소화하도록 설계되기는 했지만, 스케일링 작업을 하는 동안 레이턴시가 늘어나고 장애가 발생할 가능성은 여전히 존재한다. 이런 가변성은 어느 정도의 성능 저하를 감수하면서도 비용까지 내야 한다.
🍀 애플리케이션 복잡성 문제
고정된 설정으로 작동하는 레거시나 모놀리틱 애플리케이션들은 서로 복잡하게 의존성을 갖고 있어 오토스케일링 시스템에서는 좋은 성능을 낼 수 없는 경우가 있다.
🚩 이를 개선하려면, 전체 애플리케이션 코드 중 일부를 다시 작성해서 오토스케일링의 효율성을 활용할 수 있도록 하는 식이다.
🚩 그러나 이렇게 애플리케이션을 수정하는 과정에서 전반적인 리팩터링 혹은 완전한 재설계가 필요할 수 있다. 이는 추가적인 개발 시간과 비용, 위험으로 이어진다.