여러분의 회사는 매달 AWS에 얼마를 지불하고 있나요? 그 비용이 정말 합리적이라고 생각하나요?
한 개발자가 최근 모든 프로젝트를 AWS에서 자체 서버로 이전하면서 놀라운 결과를 얻었습니다. 월 1,400달러(약 190만원)에서 120달러(약 16만원)로 비용을 10분의 1로 줄이면서도 성능은 오히려 2배 향상시킨 것입니다. 벤더 종속에서도 자유로워졌습니다.
그러나 이 소식을 트위터에 공유하자 예상치 못한 반응이 쏟아졌습니다. 많은 개발자들이 관심을 보인 반면, 상당수는 강한 반감과 대립적 태도를 드러냈습니다. 흥미롭게도 반대 의견을 낸 사람들의 프로필에는 공통점이 있었습니다. “DevOps”, “Cloud Engineer”, “AWS Certified” 같은 키워드였습니다.
클라우드 엔지니어들이 말하지 않는 진실
여기서 중요한 사실 하나를 짚고 넘어가야 합니다. 이들 중 대부분은 자신의 프로젝트를 클라우드에서 운영하지 않으며, 클라우드 비용을 직접 부담하지도 않습니다. 매달 수천 달러가 낭비되는 고통을 체감하지 못하는 것입니다. 다른 사람의 돈으로는 누구나 용감해질 수 있습니다.
그들에게 AWS는 매우 편리한 선택입니다. 기술적으로 복잡해 보여 다른 개발자 앞에서 똑똑해 보이게 하고, 의존성을 만들어 직원으로서 대체 불가능해지게 합니다. 무엇보다 클라우드 사용이 높은 월급을 보장합니다. 비즈니스를 위한 효율적 결정을 할 인센티브가 없는 것입니다. 오히려 비즈니스 인프라가 복잡하고 난해할수록 자신의 일자리가 안전해집니다.
그래서 이들은 서버가 실제로는 저렴하다는 진실을 말하지 않을 것입니다.
서버는 생각보다 훨씬 저렴합니다
Hetzner라는 회사를 예로 들어보겠습니다. 이곳에서는 80코어 베어메탈 서버를 월 190달러 미만에 임대할 수 있습니다. AWS의 유사 사양 C5-C6 계열 인스턴스는 월 2,500~3,500달러로 13~18배 더 비쌉니다. 예약 인스턴스로도 월 1,300달러 수준으로 여전히 7배 비싸며, 46,000달러 선불과 3년 계약이 필요합니다.
더 작은 서버가 필요하다면 어떨까요? VPS 옵션도 매력적입니다. 48개 vCPU 머신을 월 300달러에, 8코어 32GB RAM 머신을 월 50달러에 제공합니다. 설정 수수료나 장기 계약 없이 완전한 유연성을 보장합니다. 일일 수백만 요청이 아니라면 이 정도 사양으로도 모든 프로젝트를 동시에 실행할 수 있습니다.
장기적으로는 서버를 직접 구매하는 것이 더 저렴합니다. 44 CPU, 256GB RAM, 2TB NVMe SSD를 갖춘 랙 마운트 서버를 1,000달러 미만에 구매할 수 있습니다. 월 클라우드 비용보다 저렴한 가격으로 앱을 수년간 운영할 수 있는 것입니다.
“그것도 여전히 클라우드 아닌가?”라는 반박에 대하여
가장 흔한 비판은 “그것도 여전히 클라우드 아니냐”는 것입니다. 하지만 이는 핵심 논점을 놓친 비판입니다.
중요한 것은 자체 서버 관리와 클라우드를 당연시하는 것 사이의 가치 차이입니다. 작은 리눅스 머신을 운영해 RDS 같은 비용 소모적 관리형 서비스를 대체하면 10~100배 적은 비용을 지불할 수 있습니다. 실제 세계에서는 거의 아무도 클라우드의 비싼 관리형 서비스가 필요 없으며, 몇 대의 리눅스 박스에서 일반 소프트웨어로 충분히 가능합니다.
VPS든, 베어메탈이든, 온프레미스든 명칭은 중요하지 않습니다. 서버를 어딘가에 두어야 하는 것은 사실이며, 중요한 것은 돈을 주머니에 더 많이 남겼는지 아니면 아마존 주주들에게 넘겼는지입니다.
클라우드 옹호자들의 가스라이팅
“클라우드를 잘못 사용하고 있다”, “비싼 이유는 잘못 하고 있어서다”, “클라우드 사용법을 알아야 한다”는 말을 들을 것입니다. 하지만 이들은 대안을 실제로 시도해본 적이 없으며, 자신의 프로젝트를 위해 서버를 관리한 실제 경험이 없습니다.
글의 작가는 AWS에 익숙하며 AWS 자격증도 공부했다고 합니다. 인프라가 과다 프로비저닝되지 않았는지, 사용하지 않는 서비스에 비용을 지불하고 있는지 확인했습니다. AWS 비용 최적화에 수없이 많은 시간을 투자했으며, 월 5,000달러 이상이던 AWS 청구서를 절반 이상 줄이는 성공도 거뒀습니다.
모든 시도 끝에 내린 결론은 하나였습니다. 클라우드는 단순히 너무 비쌉니다.
왜 이렇게 많은 사람들이 신경 쓰는가
두 가지 주요 이유가 있습니다.
첫째, 생계가 달려 있습니다. 충분히 많은 사람이 설득되면 클라우드 전문가들은 일자리를 잃을 수 있습니다. 지난 10년간 클라우드 구축이 트렌드였고 수백만 명의 “DevOps”와 “Cloud Engineers” 직군이 생성되었습니다. 이제 클라우드를 벗어나는 것이 트렌드가 되면 많은 클라우드 전문가의 경력이 종료될 수 있습니다.
둘째, 두려움으로 인한 비이성적 논쟁입니다. 많은 개발자가 클라우드가 초기 약속만큼 좋지 않다는 것을 은밀히 알고 있습니다. 고용주의 AWS 지출이 적정 수준의 10배라는 것을 보면서도 “괜찮다”고 넘어갑니다. 관리자를 화나게 하거나 책임을 떠안을 위험을 감수하고 싶지 않기 때문입니다.
AWS는 강한 컬트적 추종을 보유하고 있습니다. 인증을 통해 실제 판매 페이지와 제품 설명을 암기하도록 교육하고, 실용주의 대신 교조주의를 주장하는 복음 전도자를 보유하며, 외부 세계에 대한 두려움을 주입합니다(서버는 위험하다! 확장되지 않는다!). “클라우드 엔지니어”를 정체성으로 만들고, 진입은 쉽게 하되 탈출은 어렵게 만듭니다.
클라우드 마케팅의 역사
과거에는 모두가 자체 서버를 운영했습니다. VPS, 호스팅 서비스, 데이터센터의 베어메탈, 회사 내 서버실, 또는 집에서 말입니다. 모두가 머신에 SSH 접속하는 것에 익숙하고 편안했습니다.
2010년대 초 클라우드 마케팅 캠페인이 시작되었습니다. 기업 기술을 초기 단계 스타트업에 판매하려는 의도적 움직임이었습니다. AWS의 전략은 간단했습니다. 스타트업 전용 크레딧을 제공하고, 스타트업 액셀러레이터를 돌며 모든 스타트업을 온보딩하려 했습니다.
트릭은 명확했습니다. 스타트업이 인프라를 구축할 때 극도로 저렴하게(무료!) 만들고, 성장하면 모든 것을 극도로 비싸게 만들어, 종속되어 생태계 탈출이 어려운 상황을 즐기는 것이었습니다.
지난 10년간의 제로 금리 정책과 수백만 달러의 클라우드 홍보 캠페인이 현재 상태에 도달하는 데 기여했습니다.
대부분의 비즈니스는 클라우드가 필요 없습니다
일부는 실제 소프트웨어 비즈니스가 어떤 모습인지 완전히 동떨어진 인식을 가지고 있습니다. Fortune 500 관점으로 생각하며, 엔터프라이즈가 표준이라고 믿습니다. 평균 비즈니스에 고가용성, 멀티존 복제, 자동 페일오버, 분산 Kubernetes 클러스터 등 클라우드의 모든 기능이 필요하다고 생각합니다.
실제로는 극소수의 소프트웨어 비즈니스만 이런 것이 필요합니다. 대부분의 비즈니스는 멱함수 법칙에 따라 항상 소규모일 것입니다. 미국에서는 소규모 비즈니스가 전체 비즈니스의 99.9%를 차지합니다. 유럽연합에서는 직원 250명 미만의 SME가 전체 비즈니스의 99%를 차지합니다.
대부분의 개발자가 확장 요구사항을 과대평가합니다. “높은 트래픽”에 대한 기준이 너무 낮습니다. 참고로 현재 2서버 설정으로 일일 수백만 건의 요청을 수백만 월간 방문자에게 처리하는 사례가 있습니다. 레벨스 아이오 같은 인디 메이커는 모든 것을 단일 서버로 처리합니다.
Netflix 같은 경우는 다릅니다. 전 세계 고객에게 엄청난 양의 비디오를 트랜스코딩하고 스트리밍해야 하므로 분산 시스템, CDN, 엣지 컴퓨팅이 필요합니다. 하지만 천 명의 사용자를 가진 작은 앱이 JSON 객체만 주고받는다면 그런 것이 절대 불필요합니다.
서버 관리는 생각보다 어렵지 않습니다
충분히 오래 서버를 관리한 사람은 초기 설정에 대부분의 시간을 소비하며, 이후 서버는 비교적 안정적임을 알고 있습니다. 하드웨어 장애는 비교적 드물며, 서버가 가동되면 보통 수년간 큰 개입 없이 완벽하게 작동합니다.
자체 서버 관리는 풀타임 작업이 아닙니다. 5명의 DevOps 팀 고용이 불필요하며, 서버 담당자 고용도 불필요합니다. 직접 할 수 있으며 그렇게 어렵지 않습니다.
Claude와 ChatGPT가 리눅스 시스템과 관리 방법에 대한 좋은 이해를 보유하고 있어 도움을 요청할 수 있습니다. 실제로 서버를 잘 다루기에 이보다 좋은 시기는 없었습니다. 기술 역사상 전례 없는 방식으로 단계별 안내가 가능합니다.
현대 데이터센터는 이미 모든 문제를 고려하고 많은 보호 장치를 구비하고 있습니다. 번개 같은 평범한 것뿐 아니라 가동 시간을 위협할 수 있는 거의 모든 것에 대한 보호 장치가 있습니다. 중복 전원, 중복 냉각, 중복 인터넷 연결, 중복 소화 시스템, 중복 보안 시스템과 많은 물리적 보안을 갖추고 있습니다.
보안에 대한 우려
“자체 서버 운영이 AWS 서버 운영보다 덜 안전하다”는 주장은 무시해도 좋습니다. EC2 인스턴스가 해커로부터 마법처럼 보호된다는 듯이 말입니다. 실제로는 올바르게 설정하는 것이 그렇게 어렵지 않습니다.
ChatGPT에게 리눅스 서버 강화 방법과 보안 모범 사례(비밀번호 인증 사용 안 함, 강력한 SSH 키만 사용)를 따르는 법을 물어보면 90% 완료됩니다. 리눅스 박스를 잠근 후 모든 것 위에 Cloudflare를 실행하면 완벽합니다. DNS에서 서버 IP를 프록시해 노출하지 않으면 DDoS 보호, 엣지 캐싱, 최고급 DNS를 본질적으로 무료로 제공받을 수 있습니다.
여러분도 괜찮을 것입니다
코드 생성이 표준이고 코드가 상품이 될 수 있는 AI 시대에, 그 코드를 저렴한 프로덕션 서버에 배치하고 실제로 최종 사용자에게 유용하게 만드는 방법을 아는 것이 개발자로서 핵심 차별화 요소가 될 수 있습니다.
자체 서버를 관리한 적이 없고 백엔드 냄새가 나는 모든 것이 두렵더라도 괜찮을 것입니다. 무지는 이중 대가를 치릅니다. 무지 자체와 사람들이 그 무지를 이용하는 데 지불하는 대가입니다. 사물이 어떻게 작동하는지 모르면 실제로 돈이 듭니다.
클라우드가 모든 문제의 해결책인 것처럼 보이지만, 실제로는 대부분의 비즈니스에 과도한 비용을 부담시키고 있을 수 있습니다. 여러분의 비즈니스가 정말 엔터프라이즈급 인프라가 필요한지, 아니면 클라우드 마케팅에 속고 있는 것은 아닌지 한 번쯤 진지하게 고민해볼 시간입니다.
참고 자료: rameerez, “Send this article to your friend who still thinks the cloud is a good idea”