클라우드 비용 관리: 규모가 커져도 청구서를 예측 가능하게 유지하기
클라우드 청구서를 열어 보고 속이 철렁 내려앉은 적이 있으십니까? 지난 분기에는 매달 4,000달러를 지불하셨습니다. 이번 분기에는 11,000달러이고, 트래픽은 두 배로 늘었을 뿐이며, 팀의 누구도 추가된 3,000달러를 한 줄씩 설명하지 못합니다. 제품이 성장하고 있다는 것은 좋은 소식이지만, 재무팀은 어려운 질문을 던지고 있고 엔지니어링은 어깨를 으쓱하는 것으로 답하고 있습니다. 지출한 금액과 설명할 수 있는 금액 사이의 그 격차가 진짜 비용 문제입니다. 금액 자체는 증상에 불과합니다.
클라우드 청구서는 공과금 청구서라기보다 매월 명세서가 없는 상태로 스무 명이 공유하는 신용카드에 더 가깝게 작동합니다. 모든 엔지니어는 두 번의 클릭으로 데이터베이스, 큐, GPU 인스턴스 또는 관리형 서비스를 띄울 수 있습니다. 그러한 클릭 하나하나가 조용히 월간 약정을 늘려 나갑니다. 의도적인 비용 전략이 없다면, 성장은 축하할 일이 아니라 불안의 원천이 되기 시작합니다. 좋은 소식은 예측 가능한 클라우드 지출이 기술적 문제가 아니라는 점입니다. 그것은 운영의 규율이며, 진지한 엔지니어링 팀이라면 어디든 채택할 수 있습니다.
클라우드 청구서가 트래픽보다 빠르게 증가하는 이유
대부분의 팀은 비용이 사용량에 비례하여 선형적으로 증가한다고 가정합니다. 사용자가 두 배가 되면 청구서도 두 배가 된다는 것입니다. 실제로는 제품의 초기 2년 동안 비용은 거의 항상 트래픽보다 빠르게 증가하며, 그 원인은 기술적이라기보다는 구조적입니다.
첫 번째 원인은 유휴 용량입니다. 개발 환경, 스테이징 클러스터, 잊혀진 테스트 데이터베이스, 오래된 스냅샷은 그것이 필요했던 기능이 출시된 지 한참 후에도 계속 실행됩니다. 저희가 중견 SaaS 고객사에 대해 진행한 한 검토에서, 월간 컴퓨트 청구서의 34퍼센트가 현재 팀의 누구도 식별할 수 없는 리소스에서 발생했습니다. 두 번째 원인은 과도한 프로비저닝입니다. 엔지니어는 최악의 금요일 오후 상황에 맞춰 인스턴스 크기를 잡고, 나머지 167시간 동안에도 그 크기를 유지합니다. 세 번째 원인은 아키텍처 표류입니다. 단순한 API로 시작한 서비스는 캐시, 검색 인덱스, 메시지 큐, 백그라운드 워커를 하나씩 갖추게 되며, 각각 고유한 기본 비용을 발생시키고, 아무도 한 걸음 물러서서 전체 형태가 여전히 타당한지 묻지 않습니다.
이 중 어느 것도 버그가 아닙니다. 이는 배포 속도를 최적화하고 클라우드 청구서를 다른 누군가의 문제로 취급하는 팀의 자연스러운 결과입니다. 운영 모델을 다루지 않고 청구서만 고치는 것은 다음 급증을 여섯 달 뒤로 미룰 뿐입니다.
비용 최적화는 비용 절감이 아닙니다
구체적인 전술에 앞서, 리더십 팀은 클라우드 비용 최적화가 실제로 무엇을 의미하는지에 대해 합의해야 합니다. 그것은 비용 절감 운동이 아닙니다. 모든 것을 가장 저렴한 등급으로 옮기라는 지시도 아닙니다. 그것은 인프라에 지출되는 모든 달러가 그에 비례하는 비즈니스 가치를 만들어 내도록, 그리고 팀이 그 관계를 명확하게 볼 수 있도록 보장하는 규율입니다.
잘 운영되는 비용 프로그램은 매월 세 가지 질문에 답합니다. 우리는 얼마를 지출했는가? 활성 사용자당 비용이나 트랜잭션당 비용처럼 비즈니스가 관심을 갖는 단위로 표현했을 때, 그 대가로 무엇을 얻었는가? 추세는 어떠하며, 우리의 성장 계획과 일치하는가? 이 세 가지 질문에 차분하게 답할 수 있는 팀은 통제하에 있습니다. 그렇지 못한 팀은 한 번의 나쁜 분기가 지나면 긴급 마이그레이션에 직면합니다.
이러한 프레이밍이 중요한 이유는, 엔지니어가 "클라우드 지출을 30퍼센트 줄이라"는 하향식 압박에 합리적으로 저항하기 때문입니다. 그러한 프레이밍은 문제에 가장 가까이 있는 사람들을 벌하며, 종종 나중에 장애를 만들어 내는 단기적 결정—모니터링을 끄거나 프로덕션 데이터베이스를 축소하는 것—을 유발합니다. 올바른 프레이밍은 다릅니다. 엔지니어에게 자신이 만든 것의 비용에 대한 가시성을 주시고, 절대적인 숫자가 아니라 비용 대 가치의 비율에 대해 책임을 지도록 하십시오.
예측 가능한 클라우드 지출을 위한 네 가지 기둥
성장하는 중소기업 고객사에 저희가 제공해 온 프로젝트 전반에 걸쳐, 네 가지 기둥이 예측 가능한 클라우드 청구서를 가진 팀과 다음 청구서를 두려워하며 사는 팀을 일관되게 구분해 왔습니다.
첫 번째 기둥은 가시성입니다. 볼 수 없는 것은 관리할 수 없습니다. 모든 계정의 모든 리소스는 팀, 제품, 환경으로 다시 매핑되는 태그를 지녀야 합니다. 비용 대시보드는 그러한 태그별로 세분화된 주간 추세를 보여 주어야 하며, 모든 엔지니어링 리드는 상점 주인이 매일의 계산대를 확인하듯 그것을 읽어야 합니다. 이 기준선이 없다면, 나머지 모든 기둥은 추측에 불과합니다.
두 번째 기둥은 적정 규모 조정과 탄력성입니다. 프로덕션 워크로드는 추측이 아니라 측정되어야 합니다. 오토스케일링 그룹, 서버리스 함수, 관리형 데이터베이스 계층은 정확히 사용한 만큼만 비용을 지불하도록 존재합니다. 트레이드오프는 실재합니다. 탄력적인 인프라는 복잡성을 더하며 트래픽 급증 시 더 신중한 용량 계획을 요구합니다. 그러나 대부분의 중소기업 워크로드에서, 하루 24시간 모든 것을 최대 크기로 실행하는 것은 어떠한 추가 안정성도 뒷받침하지 못하는 40에서 60퍼센트의 초과 지출입니다.
세 번째 기둥은 약정의 규율입니다. 워크로드가 프로덕션에서 여섯 달 동안 운영되었고 안정적인 기준선을 보인다면, 그 기준선은 제공업체에 따라 예약 인스턴스, 절감 플랜 또는 약정 사용 할인으로 커버되어야 합니다. 어차피 사용할 용량에 대해 1년 약정을 하면 30에서 55퍼센트의 할인을 받을 수 있습니다. 위험은 나중에 폐기할 워크로드에 대해 약정을 구매하는 것이며, 이 때문에 약정은 항상 입증된 사용을 뒤따라야 하며 결코 앞서서는 안 됩니다.
네 번째 기둥은 아키텍처 검토입니다. 분기에 한 번, 엔지니어링 리드는 상위 10개 비용 항목을 살펴보고 각각에 대해 간단한 질문을 던져야 합니다. 이것이 오늘의 작업에 맞는 형태인가, 아니면 문제가 달랐던 18개월 전에 선택한 형태인가? 사용자 1,000명일 때 타당했던 관리형 서비스는 100,000명일 때 지나치게 비쌀 수 있으며, 그 반대도 마찬가지입니다. 이 검토는 무언가를 뜯어내는 것이 아닙니다. 아키텍처의 관성이 비즈니스에 조용히 세금을 부과하지 않도록 하는 것입니다.
짧은 사례: 공황에서 예측 가능성으로
저희 고객사 중 한 곳인, 약 20만 명의 월간 활성 사용자를 보유한 베트남의 전자상거래 플랫폼은, 클라우드 청구서가 10개월에 걸쳐 매달 6,000달러에서 18,000달러로 증가한 반면 매출은 60퍼센트만 성장한 후 저희를 찾아왔습니다. 재무 이사는 클라우드에서 완전히 벗어나는 것을 고려하도록 권고하는 이사회 메모를 준비하고 있었습니다.
저희는 먼저 2주 동안 가시성 작업에 집중했습니다. 모든 리소스에 태그를 지정하고, 주문당 비용 대시보드를 구축하고, 각 서비스를 제품 담당자에게 매핑했습니다. 그런 다음에야 무언가를 손댔습니다. 발견 사항은 화려하지 않았습니다. 블랙 프라이데이 부하 테스트에서 남겨진 세 개의 과도한 데이터베이스 복제본, 팀이 최근 7일치만 조회하는데도 모든 요청 페이로드를 90일 동안 보관하는 로깅 파이프라인, 그리고 매일 밤 40분 동안 실행되는 워크로드를 위해 24시간 내내 가동되는 백그라운드 작업 클러스터였습니다. 이 세 영역을 적정 크기로 조정하고, 입증된 기준선에 1년 절감 플랜을 추가하고, 로깅 보존을 계층형 스토리지 정책으로 옮긴 결과, 애플리케이션 코드는 한 줄도 건드리지 않고 월 청구서가 18,000달러에서 9,400달러로 내려갔습니다. 더 중요한 것은, 팀이 이제 다음 분기 청구서를 10퍼센트 오차 범위 내로 예측할 수 있다는 점입니다.
엔지니어링 작업에는 6주가 걸렸습니다. 그 이후 14개월 동안 청구서를 예측 가능하게 유지해 온 것은 운영의 규율입니다.
이번 달에 시작할 수 있는 실용적 로드맵
귀사의 클라우드 청구서가 비즈니스보다 빠르게 증가하고 있고 이를 미리 앞서서 대응하고자 하신다면, 순서대로 다섯 단계를 밟는 것으로 대부분의 길을 가실 수 있습니다.
첫째, 단일 소유자를 임명하십시오. 책임을 지는 사람이 없는 비용 최적화는 계획이 아니라 소망입니다. 이것이 전임 역할일 필요는 없지만, 누군가의 직무 기술서에 명명된 책임이어야 합니다. 둘째, 태그 지정을 강제하십시오. 모든 새로운 리소스는 팀, 제품, 환경 태그를 지녀야 하며, 비용 대시보드는 그 기준선을 따라 세분화되어야 합니다. 엔지니어에게 2주의 시간을 주어 현재 환경을 백필하도록 하십시오. 셋째, 빠른 성과 감사를 실행하십시오. 유휴 리소스, 과도한 크기의 인스턴스, 잊혀진 환경을 찾아보십시오. 대부분의 팀은 이것만으로 첫 달에 15에서 25퍼센트의 절감을 발견합니다. 넷째, 안정된 것에 대해 약정하십시오. 기준선이 두 개의 전체 분기 동안 안정적이었다면, 그것에 대해 예약이나 절감 플랜을 구매하십시오. 투기적 성장에 대해서는 약정하지 마십시오. 다섯째, 분기별 캘린더에 아키텍처 검토를 넣으십시오. 폭주하는 클라우드 청구서는 보안 침해만큼 빠르게 회사를 끝낼 수 있으므로, 이를 보안 검토만큼 진지하게 취급하십시오.
이 단계들 중 어느 것도 기술적으로 어렵지 않습니다. 그것들은 조직적으로 어렵습니다. 왜냐하면 제품, 엔지니어링, 재무가 같은 테이블에 앉아 인프라에 대해 같은 언어로 이야기해야 하기 때문입니다.
마무리 생각
예측 가능한 클라우드 청구서는 더 작은 클라우드 청구서가 아닙니다. 그것은 이사회에 설명하고, 예측하고, 방어할 수 있는 청구서입니다. 그 상태에 도달한 팀은 클라우드 지출을 분기별 불안의 원천으로 취급하는 것을 멈추고, 비즈니스가 성장함에 따라 의도적으로 당길 수 있는 지렛대로 취급하기 시작합니다.
귀사의 팀이 답변보다 청구서가 더 빨리 도착하는 지점에 있다면, 첫 번째 검토를 위해 경험 있는 파트너를 데려오는 것이 가치가 있습니다. MerkTechs에서는 여러 중소기업 고객사를 공황에 빠진 감사부터 차분한 월간 검토에 이르기까지 정확히 이 여정을 안내해 왔으며, 귀사 제품에 대한 첫 90일의 비용 규율이 어떤 모습일지 이야기 나눌 준비가 언제나 되어 있습니다.