작성
·
22
0
Firebase나 Supabase Aws amplify 같이 백엔드를 쉽게 처리할 수 있는 프레임워크들에 대해서 어떻게 생각하시는지 궁금했는데 아예 언급을 안하시네요.
위와 같은 프레임워크들을 사용해 백엔드를 처리하고 프론트를 개발해 서비스하는 조합에 대해서는 어떻게 생각하시는지 궁금합니다
답변 2
0
또 한가지, 서버 개발을 학습해서 도입해야되는 단계라면 러닝커브와 거기에 들어가는 시간또한 필요할테니 이것또한 중요한 선택 요소가 될 수 있겠죠.
장기적으로는 서버를 직접 운영하는게 좋다고 생각하고,
단기적, 서비스가 그리 크지 않을땐 Firebase나 Supabase도 충분하다 생각합니다!
0
안녕하세요!
Firebase, Supabase와 같은 BaaS(Backend as a Service) 솔루션들은 백엔드 개발을 간소화할 수 있는 훌륭한 도구입니다. 특히 초기 개발 단계나 프로토타입 제작시 빠른 개발이 가능하다는 큰 장점이 있죠.
하지만 저는 현재 서버를 직접 구축하여 운영하고 있습니다. Spring Boot + Kotlin 기반으로 서버를 개발하고 AWS 환경(EC2 + RDS)에 배포하여 사용 중입니다. 이러한 선택을 하게 된 주된 이유들은 다음과 같습니다.
비용 효율성
Firebase/Supabase는 사용량이 증가할수록 비용이 선형적으로 증가하는 경향이 있습니다
반면 직접 구축한 서버는 t2.micro/t3.micro 정도의 낮은 사양으로도 수천 명의 일간 활성 사용자를 처리할 수 있으며, 비용이 월 $20-30 정도로 예측 가능하고 안정적입니다
데이터 처리의 자유도
복잡한 비즈니스 로직 구현이 자유로움
외부 API 연동, 웹 크롤링, 데이터 가공 등의 작업을 제약 없이 수행 가능
실행 시간 제한 없이 장시간 실행이 필요한 작업 처리 가능
시스템 최적화
캐싱 전략을 상황에 맞게 세밀하게 구현 가능
스케줄러를 활용한 배치 작업의 자유로운 구현
데이터베이스 쿼리 최적화와 인덱싱 전략 수립 가능
저의 경우, 이전에 Firebase를 사용했던 경험이 있습니다. 초기에는 빠른 개발과 간편한 관리가 매력적이었지만, 서비스가 성장하면서 몇 가지 한계점을 경험했습니다.
복잡한 데이터 처리 시 제약사항 발생
사용자 증가에 따른 급격한 비용 상승
커스텀 기능 구현의 제한
Cloud Functions의 실행 시간 제한 (9분)
이러한 경험을 바탕으로 현재는 서버를 직접 구축하여 운영하고 있으며, 이를 통해 더 나은 서비스 품질과 비용 효율성을 달성할 수 있었습니다.
다만, 이는 절대적인 정답이 아닙니다. Firebase나 Supabase도 다음과 같은 상황에서는 훌륭한 선택이 될 수 있습니다.
MVP 개발이나 프로토타입 검증이 필요한 경우
백엔드 개발 리소스가 제한적인 경우
실시간 데이터 동기화가 중요한 경우
기본적인 CRUD 작업이 주를 이루는 경우
결론적으로, 서비스의 특성, 개인의 개발적 역량, 달성하고자 하는 개발 일정, 그리고 비즈니스 요구사항을 종합적으로 고려하여 적절한 선택을 하는 것이 중요할 것 같습니다.