강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김대훈님의 프로필 이미지
김대훈

작성한 질문수

클로드 코드 완벽 마스터: AI 개발 워크플로우 기초부터 실전까지

Supabase 프로젝트 생성하기

1인 개발자의 다수 프로젝트 운영을 위한 Supabase 비용 최적화 전략(DB 통합)에 대해 조언을 구합니다.

작성

·

65

·

수정됨

1

안녕하세요, 강사님! 강의 잘 듣고 있습니다. 들으면서 작은 서비스들을 몇개 만들어보고 있어요. 현재 Next.js와 Supabase를 기반으로 B2B 솔루션, 유틸리티 서비스등 총 7개의 프로젝트를 혼자서 개발 및 운영하고 있습니다.

현재는 프로젝트마다 별도의 Supabase 인스턴스를 생성하여 관리하고 있는데, 그러다 보니 Pro 플랜 기본료 25달러에 프로젝트당 추가 컴퓨트 비용 10달러가 붙어 매달 약 $85(11만 원 이상)의 고정비가 발생하고 있습니다. 1인 개발자로서 프로젝트를 계속 확장해 나가기에 비용적 부담이 커지고 있어, 다음과 같은 '단일 DB 통합 전략'을 검토 중입니다.

[검토 중인 통합 전략]

  1. 단일 프로젝트로 일원화: 하나의 Supabase Pro 프로젝트만 유지하고 나머지 인스턴스는 제거.

  2. Postgres 스키마(Schema) 활용: 기본 public 스키마 외에 서비스별로 별도 스키마(예: service_a, service_b)를 생성하여 데이터 격리.

  3. Client-side 대응: Supabase Client 설정 시 각 서비스에 맞는 스키마를 지정하여 호출.

[강사님께 여쭙고 싶은 점]

  1. 유지보수 및 확장성: 1인 개발자가 관리하기에 이러한 스키마 기반의 통합 방식이 장기적으로 서비스 간 간섭이나 관리 복잡도를 크게 높이는 요인이 될까요?

  2. 인증(Auth) 및 보안(RLS) 설계: 하나의 프로젝트 안에서 여러 서비스의 사용자(Auth)를 관리할 때, 메타데이터 등으로 유저를 구분하는 방식이 보안 아키텍처상 취약점이 될 가능성이 있을까요?

  3. 성능 리스크: Micro 인스턴스 하나에 7개 서비스의 부하를 몰아넣는 것이(현재는 초기 단계라 트래픽이 적지만) 운영상 위험한 선택일지 궁금합니다.

  4. 인프라 대안: 혹시 1인 개발자가 다수의 사이드 프로젝트를 저비용으로 안정적으로 운영할 때, 위와 같은 통합 방식 외에 더 권장하시는 인프라 구성이나 전략이 있으신지 조언 부탁드립니다.

비용 효율성과 기술적 부채 사이에서 최적의 균형점을 찾고 싶습니다. 강사님의 소중한 인사이트를 나눠주시면 개발 방향을 설정하는 데 큰 도움이 될 것 같습니다. 감사합니다!

답변 3

0

저도 1인 개발자로 여러 사이드 프로젝트를 운영하면서 비슷한 고민을 했었는데요, 실제 경험 기반으로 몇 가지 대안을 공유드립니다.

결론부터: DB 통합보다 인프라 전략을 바꾸는 게 낫습니다

강사님 말씀처럼 7개 서비스를 하나의 DB에 몰아넣는 건 위험합니다. 대신 비용을 줄이는 다른 방법들이 있어요.

1. 트래픽 낮은 프로젝트는 Supabase Free 티어 활용

7개 중 아직 초기 단계인 서비스들은 Free 플랜(2개 프로젝트 무료)으로 돌리고, 실제 매출이 나는 핵심 서비스만 Pro로 유지하세요. Supabase Free 티어가 500MB DB + 1GB 스토리지 + 50K 월간 활성 사용자를 줍니다. 초기 서비스라면 충분합니다.

2. Supabase 대신 자체 Postgres 고려

Railway나 Render에서 Postgres를 직접 띄우면 $5~7/월이면 됩니다. Supabase의 Auth, Storage, Realtime이 필요 없는 서비스라면 굳이 Supabase를 쓸 이유가 없어요. Next.js + Prisma 또는 Drizzle + Railway Postgres 조합이면 훨씬 저렴하게 운영 가능합니다.

3. 하이브리드 전략 (제가 실제로 쓰는 방식)

- 인증이 중요한 B2B 서비스: Supabase Pro (Auth + RLS 활용)
- 단순 CRUD 유틸리티: Railway Postgres + Prisma ($5/월)
- 정적 + 가벼운 서비스: Turso(SQLite edge DB) 무료 티어
이렇게 나누면 7개 서비스를 $30~40/월 수준으로 운영할 수 있습니다.

4. 서비스 정리도 전략입니다

솔직히 7개 중에 실제로 사용자가 있고 성장 가능성이 있는 건 몇 개인지 냉정하게 평가해보시는 것도 좋습니다. 1인 개발자가 7개 서비스를 동시에 유지보수하는 것 자체가 큰 부담이니까요. 핵심 2~3개에 집중하고 나머지는 pause하면 비용도 자연스럽게 줄어듭니다.

비용 최적화의 핵심은 "하나로 합치기"가 아니라 "각 서비스의 성격에 맞는 인프라를 골라쓰기"입니다. 화이팅하세요!

0

짐코딩님의 프로필 이미지
짐코딩
지식공유자

안녕하세요! 강의 잘 들어주시고 직접 서비스까지 만들어보고 계시다니 정말 대단하세요 😊

그리고 솔직히 말씀드리면, 저는 하나의 프로젝트 안에서 DB를 여러 스키마로 나눠본 경험은 있는데, 반대로 서로 다른 프로젝트들을 하나의 DB에 통합하는 건 해본 적도, 설계해본 적도, 상상해본 적도 없어서요.

그리고 Supabase Auth는 스키마가 아닌 프로젝트 단위로 동작하는데요. 스키마를 service_a, service_b로 나눠도 auth.users는 모든 서비스가 공유하는 구조예요. B2B 솔루션처럼 테넌트 격리가 중요한 서비스가 섞여 있다면, RLS 정책 설계가 꼼꼼하지 않을 때 서비스 간 데이터 노출 위험이 생길 수 있어요.

더 솔직히 말씀드리면, 검토하신 단일 DB 통합 전략은 저는 추천드리기 어려워요.

서로 다른 도메인의 7개 프로젝트를 하나의 DB에 몰아넣으면, 스키마로 데이터를 분리해도 RLS 정책 한 곳만 실수해도 서비스 간 데이터가 뚫릴 수 있어요. 하나의 서비스가 DB를 과부하시키면 나머지 서비스도 같이 영향을 받는 구조예요.

지금은 초기라 어떻게든 돌아갈 수 있어도, 나중에 특정 서비스만 분리하는 상황이 오면 그때 드는 비용이 지금 절약하는 비용과 비교가 안 될 거예요 🙂

0

안녕하세요, 인프런 AI 인턴입니다. 김대훈님.

지금 고민하고 계신 Supabase를 이용한 다수 프로젝트 통합 운영 전략에 대해 여러 가지 관점을 고려해보시는 것은 매우 유익한 접근입니다. 제가 제공할 수 있는 의견과 관련된 기존 질문들을 참고하여 도움이 되기를 바랍니다.

스키마 기반 통합 전략의 장단점

  1. 유지보수 및 확장성

    • 스키마를 통한 데이터 격리는 우선적으로 데이터 간의 간섭을 줄일 수 있다는 점에서 장점을 가집니다. 그러나 전체적인 DB 구조가 복잡해질 수 있기 때문에, 스키마 설계를 초기 단계에서 잘 하는 것이 중요합니다. 이와 관련된 관리 복잡성을 줄이는 전략으로는 엄격한 네이밍 규칙과 문서화를 꼽을 수 있습니다.
  2. 인증(Auth) 및 보안(RLS) 설계

    • 스키마 내에서 사용자(Auth)를 메타데이터로 구분하는 것은 관리 효율성이 클 수 있지만, 사용자가 여러 서비스에 걸쳐 있다면, 권한 관리 및 보안 취약점의 가능성이 존재할 수 있습니다. RLS(Row Level Security)를 적극적으로 활용하여 사용자 접근 권한을 철저히 관리하는 것이 좋습니다. 이와 관련된 보안 설정은 계속해서 검토하고 테스트하는 것이 중요합니다.
  3. 성능 리스크

    • 초기 단계에서 Micro 인스턴스에 대한 부하는 아직 걱정할 필요가 없을 수 있지만, 트래픽이 늘어나면서 성능 이슈가 발생할 가능성을 고려해야 합니다. 부하 테스트를 통해 문제가 발생할 수 있는 지점들을 미리 파악하는 것도 좋은 방법입니다.
  4. 다른 인프라 및 비용 효율화 전략

이 방법들이 대훈님께서 운영하시는 프로젝트들에 적용 가능한지 검토하시고, 필요하다면 몇 가지를 시도해 보시기를 추천드립니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김대훈님의 프로필 이미지
김대훈

작성한 질문수

질문하기