개발 외주

실시간 채팅, 왜 개발비보다 매달 나가는 돈이 더 클까요 | 견적서에서 볼 6가지

채팅창 하나에 연결 유지·기록 저장·모더레이션이 겹쳐 있어요. 자체 구축은 4~10주, SDK는 1~2주로 짧아지지만 무료 구간(1,000명)을 넘으면 월 399~599달러부터 사용자 수만큼 붙어요. 견적서에서 볼 6가지를 정리했어요.

크리에이티브소프트
크리에이티브소프트
2026년 8월 22일 ·

핵심 요약 — 기능 목록의 “채팅 기능”이라는 한 줄에는 연결을 계속 붙잡아두는 일, 오간 말을 저장하고 다시 찾는 일, 누가 언제 읽었는지와 무엇을 걸러낼지 정하는 일이 겹쳐 있어요. 오픈소스로 직접 짜면 1~2주짜리 일부터 시작하지만, 파일 전송·다중 기기 동기화·신고 처리까지 넣으면 6~10주로 늘어나요. 센드버드·스트림 같은 서드파티 SDK를 붙이면 개발 기간은 1~2주로 줄지만, 무료로 쓸 수 있는 가입자 1,000명 선을 넘는 순간 월 399~599달러부터 사용자 수만큼 매달 비용이 붙어요. 개발비는 한 번이고 이 값은 매달이라, 어디서 갈리는지 운영해본 개발사 기준으로 정리했어요.

“채팅 기능만 하나 추가해주세요. 요즘은 다 되는 거잖아요.”

카카오톡을 매일 쓰다 보니 채팅이 쉬워 보이는 건 자연스러워요. 그런데 저희가 견적을 잡을 때는 이 한 줄이 검색이나 알림보다 오래 걸리는 경우가 많아요. 화면에 입력칸과 말풍선만 있으면 되는 게 아니라, 그 뒤에서 서버가 계속 켜져 있어야 하거든요.


1. 채팅 기능, 왜 견적이 예상보다 커질까요

서울 사무실에서 채팅 화면 기획안을 두고 논의하는 개발팀

채팅은 하나의 기능처럼 보이지만 실제로는 세 가지 일이 겹쳐 있어요.

하는 일발주자가 정할 것
연결 유지사용자와 서버가 끊기지 않고 계속 붙어 있게 해요몇 명이 동시에 접속하나요, 1:1인가요 그룹인가요
기록 관리오간 메시지를 저장하고 나중에 다시 찾을 수 있게 해요몇 개월치를 보관하나요, 대화 내용 검색이 필요한가요
운영 규칙누가 언제 읽었는지, 무엇을 걸러낼지 정해요읽음 표시가 필요한가요, 신고·차단 기능이 필요한가요

발주 문서에는 대개 첫 번째 줄만 적혀 있어요. 그런데 개발 시간과 매달 나가는 비용은 두 번째와 세 번째에서 붙어요.

2. “실시간”이라는 말이 인프라를 바꿔요

여러 대의 모니터에 서버 연결 상태를 띄워놓고 확인하는 엔지니어

일반적인 웹페이지는 사용자가 요청할 때만 서버가 응답해요. 필요할 때 잠깐 연락하고 끊는 구조라 서버 부담이 적어요. 채팅은 달라요. 상대가 언제 메시지를 보낼지 모르니 서버와 연결을 계속 열어둬야 해요. 이 방식을 웹소켓(WebSocket)이라고 불러요.

연결을 계속 열어둔다는 건 서버가 접속자 수만큼 자리를 항상 차지하고 있다는 뜻이에요. 방문자가 페이지를 보고 나가면 자리가 비는 일반 웹서비스와 다르게, 채팅 서버는 접속자가 앱을 켜둔 시간만큼 계속 자원을 써요. 그래서 동시접속자가 늘면 서버 대수를 늘려야 하고, 이건 개발이 아니라 인프라 비용으로 나가요.

한 가지 대안도 있어요. 몇 초마다 “새 메시지 있나요”라고 서버에 물어보는 폴링(Polling) 방식이에요. 구조는 단순하고 서버 부담도 적지만, 물어보는 간격만큼 메시지가 늦게 도착해요. 알림 게시판처럼 즉시성이 중요하지 않은 곳엔 괜찮지만, 대화를 주고받는 채팅에는 어색하게 느껴져요.

3. 직접 만들까요, SDK를 붙일까요

두 가지 개발 방식을 화이트보드에 비교해 그려놓은 회의 장면

채팅을 넣는 방법은 크게 두 가지예요.

  • 직접 구축 — Socket.IO 같은 오픈소스 라이브러리로 웹소켓 서버를 직접 짜요. 초기 개발비는 들지만 이후 사용자가 늘어도 서버 비용만 오를 뿐 사용자 1명당 별도 요금이 붙지 않아요. 대신 재연결 처리, 메시지 유실 방지, 서버를 여러 대로 늘렸을 때 사용자를 나눠 붙이는 설계까지 저희 쪽에서 책임져요.
  • 서드파티 SDK 연동 — 센드버드(Sendbird), 스트림(Stream), 파이어베이스(Firebase) 같은 채팅 전용 서비스를 붙여요. 검증된 안정성과 짧은 개발 기간이 장점이고, 대신 가입자 수(MAU)에 따라 매달 비용이 붙어요.

업계에서도 비슷한 이야기가 나와요. 채팅의 각 요소를 하나하나 직접 개발하고 검증하다 보면 시간과 비용이 예상보다 커지기 쉽다는 거예요. 반대로 채팅이 서비스의 핵심이고 사용량이 월 수천만 건을 넘어갈 정도로 크면, 장기적으로는 직접 구축이 유리해지는 지점도 있어요. 결국 “지금 이 서비스의 채팅이 부가 기능인지, 핵심 기능인지”가 방향을 가르는 첫 질문이에요.

4. 메시지가 쌓이고 기기가 늘면 무엇이 붙나요

스마트폰과 노트북 두 화면에서 같은 대화가 동시에 뜨는 모습을 확인하는 사람

채팅창이 열리고 나면 그다음부터 값이 붙는 부분이 하나씩 나와요.

  • 메시지 저장과 페이지네이션 — 스크롤을 올릴 때마다 예전 대화를 끊김 없이 불러오려면 저장 구조를 따로 설계해야 해요.
  • 대화 내용 검색 — “지난달에 보낸 파일 어디 있지”를 찾으려면 검색 기능이 필요해요. 이 부분은 검색창 하나 붙이는 데 무엇이 붙나요에서 다룬 내용과 그대로 이어져요.
  • 첨부파일 전송 — 이미지나 문서를 보내려면 별도 저장소와 용량 제한, 미리보기 처리가 필요해요. 자세한 값은 파일 첨부 기능, 한 줄인데 무엇이 붙나요를 참고하세요.
  • 읽음 표시 — 1:1 대화는 간단하지만, 그룹채팅은 “몇 명 중 몇 명이 읽었는지”를 세야 해서 복잡도가 확 올라가요.
  • 다중 기기 동기화 — 폰에서 보낸 메시지가 PC에도 바로 뜨려면 기기 사이에 상태를 맞추는 로직이 하나 더 필요해요.
  • 푸시 알림 연동 — 앱을 꺼둔 사이에도 새 메시지를 알려주려면 별도 알림 서버와 연결해야 해요. 이건 알림 하나 보내는 데 왜 심사가 필요할까요에서 다룬 영역과 겹쳐요.

목록에는 “채팅 기능”이라고 한 줄만 있어도, 실제 견적서에는 이 여섯 개가 각각 다른 줄로 잡혀요.

5. 신고·차단, 모더레이션은 어디까지 필요할까요

관리자 화면에서 신고 접수 목록을 확인하는 운영 담당자

1:1 문의용 채팅이면 크게 신경 쓰지 않아도 되는 부분이에요. 그런데 불특정 다수가 모이는 그룹채팅이나 오픈채팅이라면 이야기가 달라져요.

  • 욕설이나 광고성 메시지를 걸러내는 금칙어 필터
  • 사용자가 문제를 알리는 신고 접수
  • 문제 계정을 조용히 막는 차단·정지
  • 신고가 들어온 대화를 관리자가 확인할 수 있는 모더레이션 화면

이 부분은 견적서에 잘 안 적혀요. 그런데 실제로는 채팅창 자체보다 관리자용 모더레이션 화면을 만드는 데 시간이 더 들어가는 경우도 있어요. 사용자가 몇 명이든 상관없는 항목이 아니라, 그룹채팅 여부와 회원 규모에 따라 필요한 수준이 달라지니 처음부터 범위를 정해두시는 게 좋아요.

6. 매달 나가는 비용은 얼마나 될까요

요금제 표를 화면에 띄워놓고 항목별 비용을 비교하는 담당자

여기가 이 글에서 가장 중요한 대목이에요. 채팅은 검색보다도 매달 나가는 값이 개발비를 넘어서는 시점이 빨리 와요.

방식무료 구간무료 구간 이후
센드버드(Sendbird)가입자 1,000명, 동시접속 20명까지월 399달러(연 약정 349달러)부터, 상위 요금제는 월 599달러(연 약정 499달러)
스트림(Stream)가입자 1,000명, 동시접속 100명까지월 499달러(연 약정 399달러, 약 1만 명 포함) 이후 초과 인원당 추가 요금
파이어베이스 리얼타임 데이터베이스소규모 무료 한도 제공저장 용량과 데이터 전송량 기준 종량제

파이어베이스는 조금 다른 방식이에요. 요청 건수가 아니라 오간 데이터의 양과 저장 용량으로 계산돼요. 채팅처럼 짧은 메시지가 자주 오가는 서비스엔 유리한 구조예요. 그런데 같은 파이어베이스 안에서도 파이어스토어(Firestore)는 읽기·쓰기 건수 기준으로 과금돼요. 실시간으로 자주 갱신되는 채팅 데이터를 파이어스토어에 그대로 얹으면 요금이 예상보다 빠르게 뛰는 경우가 나와요. 어느 쪽 데이터베이스를 쓰느냐가 요금 구조 자체를 바꾼다는 뜻이에요.

운영사 Tip 저희도 자체 SaaS를 운영하면서 이 판단을 해본 적이 있어요. 결론은 사용자 규모에 달려 있었어요. 가입자가 적을 때는 SDK 쪽 총액이 낮아요. 서버를 직접 관리할 필요가 없으니까요. 그런데 사용자가 늘어 무료 구간을 한참 넘기면, 어느 시점부터는 직접 구축한 서버의 정액 비용이 SDK의 인원수 비례 요금보다 낮아지는 교차점이 와요. 그 교차점이 언제인지는 서비스마다 달라서, 저희는 착수 전에 “1년 뒤 예상 사용자 수”를 먼저 여쭤보고 그 위에서 방식을 권해드려요.

7. 견적서에서 확인할 6가지

견적서를 항목별로 짚어가며 확인하는 발주 담당자

  1. 동시접속 규모 — 몇 명이 동시에 채팅창을 열어두나요, 1:1인가요 그룹인가요
  2. 기록 보관 기간과 검색 — 몇 개월치를 저장하나요, 대화 내용 검색이 필요한가요
  3. 부가 기능 범위 — 첨부파일, 읽음 표시, 다중 기기 동기화, 푸시 알림 중 무엇이 들어가나요
  4. 구현 방식 — 직접 구축인가요, 센드버드·스트림 같은 SDK를 붙이나요
  5. 매달 나가는 값 — SDK라면 무료 구간이 얼마고, 그 이후 요금 구조는 어떻게 되나요
  6. 모더레이션 수준 — 신고·차단·관리자 확인 화면이 필요한가요

네 번째와 다섯 번째 줄이 견적서에 함께 없으면 반드시 물어보세요. 채팅은 개발비보다 매달 나가는 값이 서비스 수명 내내 쌓이는 항목이라, 2~3년으로 보면 여기서 총액이 크게 갈려요.

채팅 기능을 넣으려는데 자체 구축과 SDK 중 어느 쪽이 맞을지 판단이 안 서시면, 예상 사용자 규모부터 같이 짚어드릴 수 있어요 →

8. 자주 묻는 질문 (FAQ)

채팅 기능은 오픈소스 라이브러리만 있으면 되는 거 아닌가요?

연결을 여는 것과 서비스로 계속 운영하는 것은 다른 이야기예요. Socket.IO 같은 오픈소스 라이브러리는 채팅창의 뼈대는 만들어주지만, 접속이 끊겼을 때 다시 붙는 처리나 메시지 유실 방지, 서버가 여러 대로 늘었을 때 사용자를 나눠 붙이는 문제는 별도로 설계해야 해요. 사용자 수가 작고 안정성 요구가 크지 않으면 오픈소스만으로 충분하지만, 동시접속자가 늘거나 끊김 없이 떠 있어야 하는 서비스라면 그 설계 자체가 몇 주짜리 일이 돼요.

SDK를 쓰면 매달 얼마나 나가나요?

센드버드와 스트림은 둘 다 무료 구간이 있어요. 가입자 1,000명, 동시접속 20~100명 수준까지는 비용이 없어요. 그 선을 넘으면 센드버드는 월 399달러(연간 약정 시 349달러)부터, 스트림은 월 499달러(연간 약정 시 399달러, 약 1만 명 포함) 이후 사용자 수만큼 초과 요금이 붙어요. 원화로 보면 매달 50만 원대 후반에서 시작해 사용자가 늘수록 커지는 구조라, 개발비 한 번보다 이 값을 먼저 확인하셔야 해요.

지금은 SDK로 시작하고 나중에 자체 구축으로 옮길 수 있나요?

가능은 하지만 검색 기능만큼 간단하지 않아요. 채팅은 메시지 기록과 읽음 상태, 사용자 세션이 전부 SDK 쪽 데이터베이스에 쌓여 있어서, 옮기려면 그 기록을 통째로 내보내 새 구조에 맞게 다시 넣어야 해요. 서비스를 멈추지 않고 옮기려면 한동안 두 시스템을 같이 띄워두는 방법도 고려하셔야 하고요. 그래서 저희는 처음 규모를 잡을 때 사용자 수가 어느 선을 넘을 것 같은지 미리 여쭤봐요. 그 선이 보이면 처음부터 자체 구축으로 가는 편이 나을 때도 있어요.

9. 마무리 — 채팅은 켜두는 순간부터 비용이 흘러요

검색이나 알림은 안 쓰는 순간엔 비용이 멈추는 경우가 많아요. 채팅은 달라요. 사용자가 앱을 켜두기만 해도 서버는 연결을 붙잡고 있어야 하고, SDK를 쓴다면 그 인원수만큼 매달 요금이 흘러요. 그래서 저희는 채팅 견적을 잡을 때 화면보다 두 가지를 먼저 봐요. 1년 뒤 사용자가 몇 배로 늘 것 같은지, 그리고 그 규모에서 직접 구축과 SDK 중 어느 쪽이 총액이 낮아지는지요.

채팅 기능을 계획 중이시라면 예상 사용자 규모와 필요한 부가 기능부터 함께 정리해보실 수 있어요 → 저희는 10년 이상 50개가 넘는 프로젝트를 진행하고 자체 SaaS 4종을 직접 운영해온 개발사예요. 롯데·캐논 같은 곳과도 함께해 왔고요. 채팅은 저희 서비스에도 직접 들어가 있는 기능이라, 무료 구간을 넘기고 나서 어느 쪽으로 방향을 트는 게 맞는지는 몸으로 겪어본 편이에요.

관련해서 함께 보면 좋은 글이에요.