Offcanvas

CIO / How To / 개발자 / 서버 / 클라우드

서버리스 클라우드 비용 관리하기··· 7가지 체크포인트

2023.04.20 Will Kelly  |  InfoWorld
2022년 CNCF 클라우드 네이티브 설문조사에 따르면, 서버리스 컴퓨팅의 도입이 2022년에 급증했다. 그러나 이는 서버리스 비용에 대한 사전 예방적 접근 방식을 취하지 않으면 클라우드 크게 지출이 증가할 수 있다는 의미이기도 하다. 

다음은 개발팀이 서버리스 프로젝트가 시작된 후 CFO가 첫 클라우드 청구서를 받고 나서야 대응하지 않게, 사전에 서버리스 클라우드 비용에 대처할 수 있도록 준비하는 방법에 대한 몇 가지 팁이다.
 
Image Credit : Getty Images Bank


제공업체의 요금 체계와 모델 알아보기
적절한 서버리스 컴퓨팅 솔루션을 선택하는 작업은 클라우드 서비스 제공업체(CSP)에 대한 탐색부터 시작된다. 여러 요금 체계 모델도 이해해야 한다. 주요 CSP는 각각 자체적인 요금 체계 모델로 서버리스 컴퓨팅을 제공한다. 예를 들어, 아마존 웹 서비스(Amazon Web Services)는 서버리스 컴퓨팅 서비스인 AWS람다(AWS Lambda)에 대한 계층화된 요금제를 발표했다. 이러한 뉴스가 나오면, 서버리스 요금 체계 모델을 살펴보라는 신호인 경우가 많다.

서버리스 프로젝트에 효율적인 코딩 관행 도입하기
클라우드 기술 스택에 서버리스 컴퓨팅을 도입하는 것은 조직의 코딩 관행을 검토할 수 있는 좋은 기회다. 서버리스 개발 프로젝트에 효율적인 코딩 사례를 도입하는 것은 서버리스 컴퓨팅 비용 최적화 이니셔티브의 일환으로 취할 수 있는 첫 번째이자 아주 중요한 단계 중 하나다. 서버리스 컴퓨팅 비용을 낮추는 데 도움이 되는 코딩 관행에는 다음이 포함된다.
 
• 코드 크기 최소화
• 최적의 라이브러리 사용
• 함수 성능 최적화

설계 단계부터 적정한 크기의 함수로 시작하기
오버 프로비저닝 메모리와 CPU 할당은 서버리스 컴퓨팅 비용을 증가시키는 2가지 원인이다. 클라우드 애플리케이션에서 서버리스 함수를 실행하면 CSP가 해당 함수의 구성에 따라 리소스를 할당한다. 그런 다음 청구 시기가 되면 CSP는 애플리케이션이 소비한 리소스의 양을 기준으로 요금을 청구한다.

설계 단계에서 추가 시간을 투자하여 각 서버리스 함수에 필요한 적절한 리소스 양을 결정하는 것이 합리적이며, 비용을 최소화할 수 있다.

필요한 경우에만 컴퓨팅 사용하기
클라우드 개발자가 필요할 때만 컴퓨팅을 사용하도록 교육해야 한다고 클라우드제로(CloudZero)는 조언하고 있다. 예를 들어 람다(Lambda) 함수 대신 계단 함수를 사용하여 API를 호출하면 계단 함수에 대한 비용만 지불하게 된다.

관련 서버리스 비용 KPI 설정 및 추적
주요 CSP와 클라우드 관리 플랫폼에는 어떤 형태로든 핵심 성과 지표(KPI) 모니터링 대시보드가 포함되어 있다. 데이터도그(Datadog)와 같은 통합 가시성 도구를 사용하여 KPI를 모니터링할 수도 있다. 서버리스 KPI 모니터링은 프로젝트 및 배포 계획에서 중요한 부분을 차지해야 한다.

서버리스 비용 관리 및 추적의 핵심은 다음과 같은 KPI를 수용하는 것이다.

• 실행당 비용.  이 지표는 단일 함수를 한 번 실행하는 평균 비용을 반영한다. 총 비용을 함수 실행 횟수로 나누어 실행당 비용을 계산한다. 이 KPI를 추적하면 어떤 함수가 실행 비용이 가장 비싼지, 클라우드 비용을 줄이기 위해 최적화가 필요한지 파악할 수 있으므로 필수적이다.

• 함수 실행 기간.  함수 실행 시간이 길수록 비용이 증가하므로 함수 실행 기간은 추적해야 할 중요한 KPI이다. 이 지표를 분석하면 실행하는 데 너무 오래 걸리는 함수를 식별하고 추가 비용 절감을 위해 최적화가 필요한지 파악하는 데 도움이 된다.

• 유휴 시간.  이는 추적할 필요가 없는 KPI처럼 보일 수 있다. 그러나 서버리스 함수가 입력 또는 출력을 기다리는 등 유용한 작업을 수행하지 않고 실행 중일 때에도 CSP는 여전히 요금을 청구한다. 서버리스 함수의 유휴 시간을 줄이는 것은 리소스 활용도를 최적화하는 동시에 클라우드 비용을 절감하기 위한 또 다른 중요한 전략이다.

메모리 사용량, CPU 사용량, 호출 횟수 및 오류율도 클라우드 비용 증가에 영향을 미치므로 이에 따라 모니터링해야 한다. 추세를 분석하고 프로젝트 보고에서 서버리스 클라우드 비용에 대해 논의할 시간을 확보하면 모두가 클라우드를 더 효율적으로 사용하는 방법을 배우는 데 도움이 될 수 있다.

비용 관리에 대한 종합적 접근
현재 조직의 클라우드 핀옵스(FinOps) 전문성과 준칙은 아직 미비할 가능성이 높다. 그렇다면 기술 스택에 서버리스 컴퓨팅을 추가하면 클라우드 지출 문제에 대한 새로운 문제가 발생할 수 있으므로 서버리스 클라우드 비용 관리에 대한 전면적인 접근 방식이 필수이다. 다음은 이를 위한 몇 가지 팁이다.

• 최소한 파일럿 서버리스 컴퓨팅 프로젝트 기간 동안에는 청구 및 사용량 보고서 분석을 2배로 늘려 클라우드 팀의 학습 곡선을 지원하라.

• 가능한 경우 비용 관리 관행을 자동화하되, 자동화를 일회성으로 ‘설정하고 잊어버리는’ 이벤트로 취급하면 안 된다. 첫 서버리스 프로젝트의 비용 관리는 개발자와 핀옵스(FinOps) 팀원 모두에게 학습 프로세스가 될 수밖에 없다. 반복적인 개선을 수용하라.

• 프로젝트 수명 주기 초기에 서버리스 컴퓨팅 프로젝트에 대한 비용 모니터링과 알림을 구현하라. AWS 코스트 익스플로러(AWS Cost Explorer)와 같은 도구를 사용하여 서버리스 비용을 직접 모니터링하고, 서버리스 비용이 예산을 초과할 때 알림을 설정할 수 있다. 이러한 알림을 반복적으로 조정하여 예기치 않은 사용량 급증이나 예상치 못한 비용 증가를 초래하는 애플리케이션 비효율성을 팀에서 인지할 수 있도록 하는 데 시간을 할애해야 한다.
 
전용 서버리스 비용 최적화 도구 사용 고려하기
서버리스 컴퓨팅에 대한 전반적인 전략의 일환으로 서버리스 비용 최적화 도구 업그레이드를 고려할 만하다. 새로운 종류의 클라우드 최적화 도구는 서버리스 비용 최적화에 중점을 두고 있다. 가령 엡사곤(Epsagon)과 IO파이프(IOpipe), 루미고(Lumigo) 등은 머신러닝 알고리즘을 사용하여 사용 패턴을 분석하고, 개발자가 비용을 줄일 수 있는 서버리스 컴퓨팅 애플리케이션의 추가적인 최적화를 권장한다.

서버리스 컴퓨팅의 출시는 전반적인 클라우드 비용 최적화 노력에 또 다른 수준의 복잡성을 더할 수 있다. 하지만 비용 관리에 어려움을 겪거나 치솟는 클라우드 요금으로 CFO에게 충격을 줄 필요는 없다. 팀이 선제적으로 적절한 도구와 프로세스를 마련한다면 서버리스 컴퓨팅을 클라우드 기술 스택에 도입하는 것만큼이나 원활하게 클라우드 비용 최적화 프로그램에 서버리스 비용 제어를 도입할 수 있다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

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

Copyright © 2024 International Data Group. All rights reserved.