서버리스(Serverless) 아키텍처 AWS Lambda로 비용을 90% 절감한 후기
"이번 달 서버 비용 청구서 보셨어요?"
이 한마디가 저희 팀 아침 회의의 단골 오프닝 멘트였습니다.
마치 매달 어김없이 날아오는 공과금 고지서처럼,
그 숫자를 마주하는 건 늘 가슴 철렁한 일이었죠.
저희 서비스는 24시간 내내 돌아가는 거대한 '전통 서버'라는
월세 비싼 상가를 빌려 쓰는 것과 같았거든요.
손님이 있든 없든, 새벽이든 낮이든, 상가 월세는 꼬박꼬박 나갔습니다.
특히 사용자가 거의 없는 새벽 시간에는 텅 빈 상점에서
홀로 불을 켜놓고 돈을 태우는 기분이었어요.
"이 '좀비 비용'을 어떻게든 잡아야 하는데..."
밑 빠진 독에 물 붓기 같던 고민의 나날들 속에서,
'서버리스(Serverless)'라는, 당시에는 뜬구름 잡는 소리 같았던
개념을 마주하게 되었습니다.
솔직히 처음엔 '또 새로운 마케팅 용어겠거니' 했어요.
하지만 속는 셈 치고 도입해 본 AWS Lambda는
저의 20년 개발 인생을 통틀어 가장 충격적인 경험을 선사했습니다.
매달 나가던 서버 비용의 앞자리가 두 번이나 바뀌었거든요.
이건 단순한 절감이 아니라, 비즈니스의 패러다임을 바꾼 혁명이었습니다.



🚀 '서버 없는 서버'? 서버리스의 진짜 의미
서버리스(Serverless)라는 이름 때문에 많은 분들이
"정말 물리적인 서버가 아예 없는 건가?" 하고 오해하십니다.
아니요, 서버는 당연히 있습니다! 구름 저편 어딘가에 아주 많이요.
핵심은, 그 서버의 존재를 우리가 전혀 신경 쓸 필요가 없다는 겁니다.
기존 서버(EC2)는 집 전체를 빌리는 '월세'와 같아요.
내가 방 한 칸만 쓰더라도 집 전체 월세를 내야 하죠.
하지만 서버리스(Lambda)는 '수도요금'과 같습니다.
수도꼭지를 틀어서 실제로 물을 쓴 만큼만 돈을 내잖아요.
물을 안 쓸 땐 요금이 '0원'인 것처럼, 서버리스도 요청이 없을 땐
비용이 발생하지 않습니다. 정말 합리적이죠?
AWS Lambda는 바로 이 '수도꼭지' 역할을 해주는 서비스입니다.
우리는 '물을 어떻게 쓸지'(코드)만 정해서 알려주면,
AWS가 거대한 상수도 시설(서버 인프라)을 알아서 관리해주고
우리는 딱 쓴 만큼의 물값만 내는 거죠.
이제 더 이상 "물이 얼마나 필요할까?"(트래픽 예측)를 고민하며
집 안에 거대한 물탱크(오버 프로비저닝)를 미리 설치해 둘 필요가 없어진 겁니다.



💰 월세에서 수도요금으로, 충격적인 비용 변화
뜬구름 잡는 이야기는 그만하고,
저희 회사의 실제 통장 내역과도 같았던
서버 비용 청구서의 전후를 투명하게 공개하겠습니다.
• Before (EC2 / '월세' 방식): 월 평균 2,500,000원
(24시간 켜두는 고정비 + 피크 타임 대비용 추가 서버 비용)
새벽 시간의 '유령 비용'이 대부분을 차지했죠.
• After (AWS Lambda / '수도요금' 방식): 월 평균 235,000원
(요청 횟수 x 함수 실행 시간(ms) 만큼만 정확히 과금)
낭비되는 비용이 '0'에 수렴했습니다.
그 결과, 월간 보고서에서 보던 서버 비용이 약 90.6% 증발하는 마법을 경험했습니다.
월간 비용 보고서를 받아들 때의 기분이
공포 영화를 보던 것에서 가벼운 에세이를 읽는 것으로 바뀌었어요.
특히 사용자가 몰리는 특정 시간대를 대비해
울며 겨자 먹기로 유지하던 비싼 '상가'를 처분하고,
필요할 때만 나타나는 '푸드트럭'으로 바꾼 것 같은 해방감이었습니다.



📋 우리도 '월세 탈출', 어떻게 시작할까?
"와, 우리도 당장 수도요금 내고 싶다!"는 생각이 드실 텐데요.
성급하게 집(서버)을 다 빼면 큰일 납니다.
제가 직접 땅을 파고 길을 내면서 깨달은
안전한 '이사' 체크리스트를 공유할게요.
✅ 1단계: '레고 성' 분해하기 (현재 서비스를 기능 단위로 잘게 쪼개기)
✅ 2단계: 가장 작은 '레고 블록'부터 옮기기 (이미지 리사이징, 알림 메일 발송 등 가장 독립적인 기능부터 테스트)
✅ 3단계: '정문' 만들기 (API Gateway와 Lambda를 연결해 외부 요청을 받을 창구 마련)
✅ 4단계: '기억 저장소' 연결하기 (상태가 없는 Lambda를 위해 DB 연결 방법을 고민하기. '금붕어 기억력' 대비!)
✅ 5단계: '두 집 살림' 시작하기 (기존 서버와 병행 운영하며 트래픽을 조금씩 새집으로 옮기기)
가장 중요한 건 1단계, 바로 '기능 쪼개기'입니다.
거대한 성을 통째로 옮길 순 없잖아요?
성벽, 탑, 문 하나하나를 독립적인 블록으로 분해하는
설계 과정이 성패의 90%를 좌우합니다.
• 첫 손님의 기다림 (콜드 스타트): 오랫동안 손님이 없던 푸드트럭은 첫 주문 시 불을 지피는 시간이 조금 걸립니다. 이 몇 초의 지연이 치명적인 서비스라면 '약한 불'을 계속 켜두는(Provisioned Concurrency) 옵션을 고려해야 합니다.
• 금붕어 기억력 (상태 관리): Lambda 함수는 요청이 끝나면 방금 뭘 했는지 까먹는 '금붕어'와 같습니다. 고객 정보를 기억해야 한다면, 별도의 '기억 노트'(DynamoDB 같은 외부 저장소)가 필수입니다.
• CCTV 없는 가게 (디버깅): 문제가 생겼을 때 원인을 찾기가 기존 서버 환경보다 조금 까다로울 수 있습니다. 로그를 꼼꼼히 남기는 습관이 중요해요.



💡 돈 그 이상의 것, 우리가 얻은 진짜 자유
AWS Lambda 도입 후 1년, 저희 팀은 단순히 돈을 아낀 것을 넘어
일하는 방식과 생각하는 방식 자체가 완전히 바뀌었습니다.
개발팀에 '족쇄'가 풀린 듯한 자유가 찾아왔어요.
• 아이디어가 현실로 (엄청난 개발 속도): 서버 구축, OS 패치 같은 '가게 관리' 업무가 사라지니, 개발자들은 온전히 '신메뉴 개발'(핵심 비즈니스 로직)에만 몰두할 수 있게 됐습니다.
• 백만 손님도 두렵지 않은 가게 (무한한 확장성): 갑자기 방송을 타서 손님이 100만 명 몰려와도 걱정 없습니다. 푸드트럭이 순식간에 100만 대로 복제되니까요! 그리고 손님이 빠지면 다시 1대로 돌아옵니다.
• 실패가 두렵지 않은 실험실 (혁신 문화): "이런 메뉴 한번 팔아볼까?" 하는 아이디어가 생기면, 가게를 차릴 필요 없이 푸드트럭 하나만 불러서 테스트하면 됩니다. 실패 비용이 거의 '0'이 되니, 팀원들이 훨씬 과감하고 창의적인 시도를 하게 됐습니다.
이제 저희 팀의 회의는 "서버 용량이 될까요?"라는 질문 대신
"이건 어떤 멋진 함수로 만들어볼까요?"라는 설렘으로 시작됩니다.
이 생각의 전환이 가져온 비즈니스의 성장은,
솔직히 돈으로 환산하기 어렵습니다.
#서버리스, #AWSLambda, #비용절감, #서버비용, #클라우드, #아키텍처, #개발자, #스타트업, #EC2, #서버관리, #IT꿀팁, #개발후기, #AWS, #Serverless, #비용최적화