클라우드

클라우드 비용을 줄이는 12가지 방법

Peter Wayner | InfoWorld 2022.02.16
클라우드는 처음에 경제적인 대안으로서 많은 기업에 도입됐다. 서버는 비싸고, 서버가 정상적으로 동작하는 데 필요한 공조 설비를 갖춘 서버실과 고속 인터넷 연결 역시 비싸다. 그러면 서버만 빌려서 하드웨어와 이를 관리하는 인력에 드는 비용을 없애면 되지 않을까? 거대한 클라우드 데이터센터는 규모의 경제로 비용을 절감한다. 이에 따라 일반 기업도 인프라 구축에 드는 비용을 줄일 수 있다.
 
ⓒ Getty Images Bank

클라우드를 시작한 지 10년이 넘은 지금, 자잘한 비용이 점점 쌓이기 시작했다. 기업은 자칫하면 작은 인스턴스에 수백만 달러를 지출하게 된다. 정가는 시간당 몇 센트에 불과하지만, 개발자가 많은 수의 인스턴스를 사용할 경우 CFO의 심장을 떨리게 할 정도로 불어난다.

여기서는 클라우드 비용을 절감하기 위한 12가지 방법을 소개한다. 더욱 저렴한 요소로 교체하거나 불필요한 부분을 없애는 방법, 커뮤니케이션을 개선해 개발자와 데브옵스 팀이 재무적으로 더욱 현명한 결정을 내리도록 하는 방법 등 여러 가지가 있다. 다만, 어떤 방법도 완벽하지는 않으며 모두 절충이 필요하다. 게다가 모든 상황에 다 들어맞지도 않는다. 하지만 고려할 가치는 분명히 있으니 참고하기를 바란다.
 

일반 클라우드 서비스 업체 활용

대형 클라우드 서비스 업체는 매우 다양한 선택지를 제공한다. 이 중에는 데이터 저장과 같은 일상적인 작업과 머신러닝이나 컴퓨터 비전 등 최첨단 작업 모두를 위한 최고급형 서비스도 있다. 하지만 최고의 API와 서비스를 모두 사용할 것이 아니라면 훨씬 더 저렴한 가격에 거의 비슷한 서비스를 제공하는 일반 클라우드 서비스 업체도 검토해볼 수 있다.

특히, 단순한 부하에는 리노드(Linode), 디지털오션(DigitalOcean), 벌처(Vultr), 헤츠너(Hetzner), 스케일웨이(Scaleway), 라이트세일(LightSail)과 같은 업체를 활용해 비용을 절감할 수 있다.
 

적극적인 클라우드 할인 옵션 이용

대형 클라우드 서비스 업체를 이용하더라도 굳이 정가를 다 지불할 필요는 없다. 예를 들어, AWS는 예약된 인스턴스를 통해 장기 약정에 대한 할인을 제공한다. AWS 현물 시장은 사용량이 적은 시간대와 가격이 하락할 때 백그라운드 프로세싱을 실행하기 좋다. 구글은 사용자의 장치가 오랫동안 실행 상태를 유지할 경우에 활성화되는 자동 할인을 제공한다. 정가는 즉각적인 구동과 만족감을 원하는 사용자를 위한 것이다. 계획을 미리 세우고 이용할 수 있는 할인 옵션을 찾는 것은 주요 클라우드를 더욱 저렴한 비용으로 사용하는 가장 간단한 방법이다.
 

하이브리드 클라우드 조합

여분의 사이클이 있는 고사양 기기가 사무실에 널려 있는 경우는 흔치 않지만 실제로 그렇다면, 점점 더 진화하는 소프트웨어 패키지를 활용해 여분 사이클을 연결하는 안전한 서브넷을 구축할 수 있다. 사용자가 직접 소유한 장비는 비용이 훨씬 더 저렴하며 때로는 조금 더 안전할 수도 있다.

테일스케일(Tailscale), 서브마리너(Submariner), 트래픽(Traefik)은 퍼블릭 클라우드 장비와 사용되지 않고 방치된 장비의 조합을 통해 안전한 메시를 구축하는 데 사용할 수 있는 옵션이다. 이를 통해 쿠버네티스 클러스터를 확장하거나 낮은 지연이 필요 없는 백엔드 서비스를 호스팅하는 경우도 있다. 밀리초 단위의 대기에도 민감한 고객 대면 워크로드를 위한 솔루션은 아니지만, 백그라운드 프로세싱에 유용한 조각을 이리저리 꿰 맞추는 것이 예전에 비해 훨씬 더 쉬워졌다.
 

베어메탈 서버 활용

모든 기업에 현대 클라우드 인스턴스의 유연성이 필요한 것은 아니다. 일부 업체는 부가적인 하이퍼바이저 및 가상화 계층 없이 전체 서버를 임대로 제공한다. 사용자 코드가 서버 전체를 점유하기 때문에 보안에 대한 걱정을 덜 수 있으며, 사용자는 실제 루트 암호를 사용하게 된다. OS 계층을 조율하기 위한 작업이 조금 더 필요할 수 있지만, 머신을 더욱 잘 튜닝할 수 있는 기회가 되기도 한다. IBM, OVH클라우드(OVHcloud), GT호스트(GTHost), 벌처(Vultr) 외에도 베어메탈(Bare Metal) 서버를 임대하는 업체는 많다. 빌리지 않고 직접 구매하는 방법도 있다.
 

청구서 분석 및 각 요소에 집중

애플리케이션에서 데이터 사용량이 많으면 예상치 못한 월 청구서를 받게 된다. 일부 클라우드는 데이터 유출에 대해 비용을 청구하는데, 특히 콘텐츠의 인기가 급격히 높아질 경우, 이 비용은 상당히 불어날 수 있다. 클라우드플레어(Cloudflare)와 같은 업체는 유출에 대한 비용을 청구하지 않는 네트워크를 확장하고 있다. 따라서 애플리케이션 프로필을 주의 깊게 살펴볼 필요가 있다. 네트워킹, 데이터 스토리지, 또는 청구서의 특정 항목을 집중적으로 많이 사용하는지를 검토해야 한다. 이런 경우 다른 클라우드 업체에서 더욱 유리한 옵션을 찾을 가능성이 높다.
 

데이터 스토리지 비용 절감

백블레이즈(Backblaze)나 와사비(Wasabi)와 같은 일부 클라우드 업체는 저가 데이터 스토리지에 특화된 업체로, 주요 클라우드보다 비용이 최대 80% 더 저렴하다. 또한, 데이터 이동에 대해 다양한 수수료 구조를 운영하고 있어 데이터 유출로 인한 지출 비용을 절약할 수 있기 때문에 비용 절감 효과는 더 커질 수 있다. 이런 업체는 단순한 클라우드 전환을 지원하는 아마존 S3 호환 API도 제공한다.
 

정적 애플리케이션 활용

애플리케이션이 변경되지 않는 정보에 매우 의존한다면 정적 웹 페이지로 구축된 애플리케이션이 콘텐츠 배포 네트워크를 통해 폭넓은 사용자층에 도달하는 가장 저렴한 방편이 될 수 있다. 많은 양의 백엔드 계산과 맞춤 설정이 필요한 작업에는 적합하지 않은 솔루션이지만, 이런 프로세싱은 별도의 서비스로 분할하면 된다. 추천할 만한 정적 프레임워크로는 지킬(Jekyll), 개츠비(Gatsby), 미들맨(Middleman), 휴고(Hugo) 등이 있다. 많은 개발자는 모든 것을 CDN으로 옮기면 비용을 10배, 20배 더 절감할 수 있다는 말을 종종 한다.
 

서버리스로의 전환

클라우드는 일반적으로 수요가 높은 애플리케이션에 가장 적합하다. 애플리케이션이 몇 시간 또는 며칠 동안 대부분 유휴 상태인 경우, 클라우드플레어 워커(Workers)나 AWS 람다와 같은 서버리스 프레임워크에서 실행되도록 코드를 수정하면 긴 다운타임 동안 비용을 지불할 필요가 없다. 또한, 부하가 낮을 때의 비용도 더욱 저렴하다.
 

ARM용으로 재컴파일

AWS를 비롯한 일부 클라우드 서비스 업체는 ARM CPU 기반의 새로운 서버를 추가하고 있다. 이와 같은 RISC 칩은 더욱 빠르고 저렴할 수 있지만, 이를 활용하려면 바이너리 애플리케이션을 다시 컴파일해야 하는 경우가 많다. 비용 절감 규모는 애플리케이션과 부하의 유형에 따라 다르다. 예를 들어, AWS는 그래비톤(Graviton) 칩이 경쟁 제품인 x86 칩에 비해 25%~100% 더 효율적일 것으로 예상한다. AWS가 최근 그래비톤3 프로세서를 출시한 만큼 속도는 더 빨라질 수 있다. AWS는 그래비톤3이 그래비톤2보다 3배 더 빠르다고 평가했다. 확실하게 단정지을 수는 없지만, 적어도 bfloat16 값에 의존하는 머신러닝 애플리케이션에 대한 벤치마크에서는 그렇다는 결과가 나왔다.

서버가 전체 부하로 실행되지 않는 한 이런 결과값을 얻는 것이 쉽지 않을 수 있다. 이 부분에 대해 데브옵스 담당자는 불안할 수밖에 없다. 한 가지 방법이 있다면, 전력으로 실행되는 백그라운드 프로세싱부터 ARM 칩을 사용하는 것이다. AWS 람다와 같은 ARM 프로세서를 제공하는 이벤트 기반 컴퓨팅 서비스로 전환하는 방법도 있다. 다만, 비용은 20% 더 절감할 수 있지만 일부 언어와 애플리케이션에 국한되기 된다. 이제 벤치마킹을 해야 할 때이다.
 

소형 기기 사용

ARM 옵션의 수는 빠르게, 때로는 예상치 못한 방식으로 증가하고 있다. 많은 사용자가 저렴한 라즈베리 파이(Raspberry Pi)나 젯슨(Jetson) 기기로 해킹에 입문한다. 임베디드 기기와 사물 인터넷 애플리케이션을 만들거나 실험만 하는 데에도 적합하다. 그런데 이런 기기가 이제 클라우드 인프라의 일부가 될 수도 있다. 예를 들어, 라즈베리 호스팅(Raspberry Hosting)과 미니노드(miniNodes)는 고속 인터넷 연결을 갖춘 전문적인 데이터센터에서 초소형 라즈베리 파이 또는 젯슨 나노 보드를 임대 형태로 제공한다. 따라서 사용자는 기초적인 소프트웨어를 비교적 저렴한 가격에 실행할 수 있다.
 

기본 구성에 유의

많은 클라우드 인스턴스는 구성하기 쉽도록 기본 크기가 적용되어 제공된다. 이로 인해 코드에서 불필요한 스토리지에 계속 비용을 지불하는 경우가 많다. 몇 개월 전 필자는 사용하지 않은 로컬 스토리지로 인해 평소의 거의 2배에 달하는 요금이 찍힌 클라우드 청구서를 받았다. 게다가 클라우드 서비스 업체는 이런 미사용 공간을 줄이기 어렵게 만드는 경우가 많다. 인스턴스를 만드는 과정에서 주의를 바짝 기울이면 애플리케이션을 실행하는 데 필요한 정도의 공간 만으로 시작할 수 있다.
 

투명한 비용 공개

필자는 클러스터를 두고 다른 프로그래머와 계속 부딪치다가 결국 관리자에게 전용 테스트 클러스터를 요청한 적이 있다. 그때 관리자의 표정을 지금도 잊을 수 없다. 말로는 생각해보겠다고 했지만, 표정은 말도 안 되는 비싼 것을 요청한다고 말하고 있었다. 하지만 필자는 전용 테스트 클러스터가 그렇게 비싼지 알 길이 없었다. 데브옵스 팀이 세부적인 부분을 모두 처리했기 때문에 필자가 소속된 팀의 개발자는 비용이 어떻게 책정되는지 아예 확인할 수 없었다.

비용을 공유하면 늘어나는 부하를 감당하기 위해 쿠버네티스 클러스터가 확장되면 시간당 몇 센트에 불과한 비용도 금방 쌓인다는 것을 엔지니어도 이해할 수 있게 된다. 개발자가 비용을 줄이는 것이 쉽지 않고 때로는 불가능하기도 하지만, 가격을 알면 클라우드 장비를 쌓아 두는 상황은 피할 수 있다.
 

공식적인 비용 엔지니어 고용

가장 집중해야 할 일이 무엇인지를 확실하게 규정하는 최고의 방법은 직책에 책임을 명시하는 것이다. 팀에서 일부 개발자를 클라우드 비용 절감 방법을 찾는 ‘비용 엔지니어’로 임명하는 경우도 있다. 마이크로서비스를 조정해 메모리 사용량을 줄일 수도 있고, 가끔씩 실행되는 작업을 서버리스 구성으로 이전할 수도 있다. 이 외에도 검토할 만한 좋은 방법은 많다. 개발자에게 클라우드 청구서에 따라 직무 성적이 좌우된다고 알리는 것은 이들이 비용 절감에 집중하도록 유도하는 좋은 방법이 될 수 있다.

editor@itworld.co.kr
Sponsored
IDG 설문조사

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

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

Copyright © 2024 International Data Group. All rights reserved.