기능이 풍부한 백엔드 제품군인 Supabase
Supabase란 백엔드 서비스로 관리할 수 있는 백엔드 기능 세트라고 할 수 있다. 기능 세트란 "Google Cloud Platform"을 기반
으로 하는 Goggle제품인 Firebase와 매우 유사한 서비스로써 백엔드 환경에서도 실행할 수 있다.
Firebase의 대안책이 될 수 있는 Supabase
Supabase와 Firebase 둘 모두 핵심 기능이 많이 교차되는 부분이 있으며 Supabase는 Firebase의 대안으로 간주될 수도 있다.
Supabase에서 제공되는 기능은 다음과 같은데
- 인증 관리
- 영구 저장용 데이터베이스
- 이미지, 비디오 또는 문서와 같은 파일을 위한 자산 저장소
- 서버리스 기능
등등이 있는데 보시다시피 가장 중요한 기능은 Supabase에서 제공하며 서버리스 기능은 추후에도 제공될 예정이다.
Supabase에서 호스팅하는 서비스를 사용하고 몇 분 만에 프리티어로 시작해서 실행할 수 있다. 더 많이 사용하기 위해서는
추가적인 유료 요금제로 업그레이드할 수 있다. 이부분은 Firebase와 동일하다.
Supabase 또한 CLI를 통해 개발 중 테스트하기 위해 로컬 설정을 사용하는 옵션을 제공해준다. 이는 효과적으로 구성할 수 있는
기본 제공 스테이징 및 프로덕션 환경과 함께 제공됨을 의미한다. 로컬 스테이징, 클라우드에서의 프로덕션, 물론 이것은 매우
간단하면서도 완전한 로컬 테스트를 위해 CLI를 제공한다는 점
Supabase에서 무엇을 제공하는가
Supabase에서는 프로젝트를 구축하는 데 필요한 모든 백엔드 기능이 포함되어 있다. 다음과 같은 모든 도구를 사용하거나 가장 필요한 도구만 사용할 수 있다.
- 데이터 베이스: 확장 가능한 전용 Postgres 데이터베이스.
- 인증: 행 수준 보안을 통한 사용자 관리.
- 파일 스토리지: 대용량 파일을 저장, 구성 및 제공.
- 자동 생성 API: 데이터베이스용 API를 즉시 생성.
Supabase는 오픈 소스 소프트웨어를 기반으로 하는 프로그램이다. 도구와 커뮤니티가 MIT, Apache 2 또는 호환 가능한
라이선스에 따라서 사용이 가능할 경우 이를 활용해 홍보할 것이다. 프로그램이 아직 존재하지 않을 경우
프로그램을 빌드하고 릴리스작업을 하며, Supabase는 기능 측면에서 보면 Firebase의 일대일 매핑이 아니며,
이들의 목표는 개발자에게 오픈 소스 기술을 활용해 유사한 개발 경혐을 제공해주는 역할을 한다.
Supabase는 일종의 호스팅 플랫폼이다. 서버에 아무것도 설치할 필요 없이 가입하고 바로 Supabase를 사용할 수 있다. 또한
로컬에서 무엇이든 호스팅이 가능하고 개발할 수 있다.
Supabase는 각 라이브러리를 개별적으로 사용할 수 있는 작은 조각으로 나누고, 각 하위 라이브러리는 하나의 외부 시스템의
독립된 실행형 구조이다.
Supabase와 Firebase의 차이점
두가지 모두 공통된 기능을 제공하지만 구현과 개발 전략 모두 Goggle의 Firebase와는 상당히 다르다. 무엇보다 Supabase는
완전히 오픈 소스로만 개발되었으며 기본적으로 프로젝트의 모든 측면에 기여할 수 있는 반면
Firebase에서는 서비스의 실제 구현이 숨겨저 있는 오픈 소스 솔루션이므로 사용할 수 있는 클라이언트와
admin-SDK만 사용할 수 있다.
Supabase의 개방형 접근 방식은 실제로 자체 인프라에서 직접 호스팅이 가능하다는 점, 이는 필요할 경우
사용자 지정 서비스를 분기하고 개발할 수 있는 옵션이 존재하므로 Firebase에 비해 큰 이점이라 볼 수 있다.
이는 제품의 핵심 구성 요소의 수명을 고려 할 때 중요한 측면이다.
또 매우 중요한 차이점으로는 Supabase가 Firebase와 같은 NoSQL 데이터베이스 대신 PostgresSQL을 사용한다는 것
Firebase 데이터베이스인 Firestore가 완전히 독점작이라는 점을 고려하면 그것또한 큰 차이점으로 볼 수 있으며,
PostgreSQL은 기술적으로 미래에 Supabase에서 다른 PostgreSQL-DB로 데이터를 마이그레이션할 수 있는
일반적인 스토리지 솔루션이다.
알림 또는 ML 솔루션과 같이 Firebase에서 제공하는 다른 서비스와 관련해 Supabase에는 이와 유사한 기능이 없다.
예를 들어서 AWS, Azure 또는 분면히 Firebase에서 이러한 것을 배포하려면 다른 공급자가 필요할 것이다.
결론
Supabase는 Firebase가 제공해주는 장점이 있지만 Google 제품을 사용하고 싶지 않다면 대안으로 선택할 수 있는
프로그램이다. 또한 향후 데이터베이스 마이그레이션이나 FIrebase 서비스의 독점 코드와 관련해
우려 사항일 있을 경우에 Supabase는 오픈 소스 제품으로 개발하는 과정이며, 중간 규모의 프로젝트에서 사용할때
유용하게 사용할 수 있을 것이다.
참고 자료
'백엔드' 카테고리의 다른 글
[BackEnd] 백엔드란? 백엔드의 공부 순서 정리 (2) | 2022.02.27 |
---|