Firebase?

Firebase는 원래 데이터 베이스였다. 하지만 구글이 인수를 하고 시간이 지나, 지금의 Firebase는 데이터 베이스 뿐만 아니라 다양한 백엔드 기능을 제공해주는 플랫폼으로 바뀌었다. Firebase를 이용하면 사용자 인증, 데이터 베이스, 스토리지 등과 같은 백엔드 단에서 필요한 기능을 구축하는데에 쓰이는 시간을 아낄 수 있고 오직 프론트엔드에서의 비지니스 로직만을 구현하는데에 집중할 수 있다.

 

 

FirebaseServerless BaaS(Backend as a Service)의 한 예이기도 하다. 이 Severless는 그대로 해석하면 '서버가 없는'이라는 뜻이지만, 서버가 없는게 아니라 쉽게 말해 서버를 빌려 쓴다는 의미이다. 빌려 쓴다는 것은 내가 직접 서버를 쌓아 올리지 않는다는 것을 말한다. 즉 서버가 어떤 방식으로 돌아가고 자세한 설정 등을 어떻게 해야할지 고민을 하지 않아도 된다. 나중에 이에 대한 포스팅을 따로 할 예정이므로 여기서는 자세히 다루지는 않을 것 이다. 

 

앞서 말한 Serverless의 BaaS에서는 Firebase가 가장 대중적이고 커뮤니티 또한 많이 활성화 되어 있다. 또한 구글에서 관련 문서들도 자세하고 알기 쉽게 제공해주고 있어 개발자들이 사용하기 쉽게 환경 조성이 되어있다는 특징이 있다. 비슷한 서비스로는 AWS의 Amplify가 있는데, 이와 관련된 포스팅도 나중에 다뤄볼 예정이다.

 

 

Firebase에서 제공하는 서비스들이다. 주요 서비스들을 살펴보자.

 

Cloud Firestore, Realtime Database

둘 다 Firebase에서 제공하는 데이터베이스이다. Realtime Database가 이전에 제공하던 데이터베이스이고, Firestore가 더 최근에 추가된 데이터베이스이다. 두 데이터베이스 다 실시간으로 데이터에 대한 접근 및 수정이 가능하며 NoSql 데이터베이스이다. Realtime Database는 데이터를 JSON트리 로 저장을 하고, Firestore는 문서 컬렉션으로 저장을 한다. 또한 Realtime Database의 경우 사용자가 온라인인지 오프라인인지, 즉 접속 상태를 파악할 수 있다. 가격은 Realtime Database가 비교적 더 높게 책정이 된다. 

 

Authentication

인증 서비스이다. Firebase에서 제공하는 SDK를 이용하여 쉽게 구성을 할 수 있고 비밀번호, 전화번호, 다양한 소셜 로그인(Google, Facebook, Twitter, Github)을 통한 인증이 지원된다.

 

Cloud Storage

콘텐츠를 쉽고 빠르게 저장할 수 있는 스토리지 서비스이다. Cloud StorageFirebase SDK는 Firebase 앱의 파일 업로드 및 다운로드에 Google 보안을 적용하고 있고 이 SDK를 사용하여 이미지, 오디오, 동영상 등의 콘텐츠를 저장할 수 있다.

 

Google Analytics

앱을 배포하고 사용자에 대한 여러 데이터들을 제공받을 수 있다. 다양한 이벤트와 사용자 속성을 SDK가 자동으로 포착하며 포착된 데이터는 Firebase Console의 대시보드에서 확인할 수 있다. 이 대시보드는 활성 사용자 수 및 인구통계와 같은 요약 데이터부터 가장 많이 구매된 상품과 같은 상세 데이터에 이르기까지 데이터에 대한 세부 통계를 제공한다.

 

요금

 

요금제로는 무료 요금제인 Spark와 규모별로 계산하는 Blaze가 있다.

 

 

인증에 대한 요금은 거의 무료이다. 전화 인증의 경우만 요금을 받고 있는 것을 볼 수 있다.

 

 

Firestorestorage의 요금이다. 

 

위에서 설명한 것처럼 Firebase를 사용하면 백엔드에 투자하는 시간을 아껴 앱 개발을 쉽고 빠르게 진행할 수 있다. 또한 간단한 프로젝트의 경우 저렴한 가격으로 부담없이 개발을 진행할 수 있다. 하지만 앱의 규모가 커지고 사용자가 급격히 증가하는 경우 비용적으로 부담이 될 수 있다. 행복한 고민이지만 어쨋든 꽤 비싼 가격이 책정된다 😂또한 서버를 직접 구축하는것이 아니기 때문에 백엔드 로직에 대한 수정 등에 있어 제한적인 부분이 있다.

 

 


생강강

,