[Firebase 웹] 파이어베이스란? 주요 기능들과 유사 제품들

2022. 2. 21. 20:37Firebase

728x90

파이어 베이스 기능들은 하나하나 알아가 보기 전에 Firebase(파이어 베이스)에 대해서 간단히 알아보는 시간을 가져보겠다.

 

필자도 Firebase를 사용하기 시작한지 얼마 되지는 않았지만,

회사 입사이후 매번 함께 하면서 주요 기능들은 어느 정도 숙지했기 때문에

입문자들에게 조금이라도 도움이 되고자 관련글을 하나하나씩 써보려고 한다.

 

Firebase란?

구글에서 운영하고 있는 웹, 모바일 개발 플랫폼이다.

 

손쉽게 앱을 만들고, 유지 보수하고  확장시킬 수 있도록 여러 가지 기능, 툴 셋을 제공한다 (Authentication, Analytics, Storage, Hosting 등등).

 

원래 서버 개발자가 특히 신경 써야 할 서버, 인증, DB 관련 기능들을 구글 자체적으로 제공하고 쉽게 scale up까지 가능하기 때문에 개발자들은 온전히 좋은 사용자 경험을 전달하는데만 신경을 쓰면 된다.

 

쉽게 이해하기 위해 그림으로 살펴보자. 위에 기존 클라이언트에서 백엔드 서버에 API 엔드포인트에 요청을 하면 서버에서 응답하는 방법이고 아래가 Firebase를 통해서 앱을 개발했을 때의 프로세스다.

 

What is Firebase? The complete story, abridged.

 

따로 관리해야 할 서버가 없기 때문에 클라이언트 측에서 바로 Firebase에서 제공하는 API를 사용하여 기능들을 구현하는 게 가능하다. 

 

물론 백엔드 개발자 없이 한계는 있을 수 있지만, 초기 프로토타입이나 작은 규모의 앱 정도는 프론트엔드 개발자가 혼자서도 전부 개발할 수 있을 만큼 수많은 기능들을 제공한다.

 

아래는 현재 파이어 베이스에서  제공하고 있는 기능들이다.

카드를 등록해야 쓸 수 있는 기능들이 몇있지만 소규모 프로젝트를 진행한다면 대부분 무료로 가능하다 (가격 확인).

Firebase 공식문서

 

이 포스트에서는 대표적인 제품(기능)들과 필자가 사용해본 유사 제품들을 나열하고, 자세한 건 새로운 포스트에 하나씩 올리도록 하겠다.

 

Authentication (인증)

 

인증 관련 기능을 직접 개발하게 되면 과정이 보다 까다롭고 보안 측면에서도 신경 써야 할 부분이 참 많다. 

파이어 베이스는 소셜 로그인부터 시작해, 이메일 인증, 비밀번호 재설정 등 여러 가지 기능들을 다 제공하기 때문에 공식문서에 나와있는 코드 몇 줄로 손쉽게 구현이 가능하다.

 

유사 제품 - AWS Cognito 

 

Cloud Firestore (클라우드 파이어 스토어)

 

아마 파이어 베이스를 사용한다면 가장 많이 쓰게 될 녀석이다. 

클라우드에 호스팅 된 noSQL(비 관계형) 데이터베이스로 앱에서 사용될 데이터를 저장, 싱크하고 손쉽게 쿼리까지 할 수 있도록 해준다.

클라이언트 측에서 실시간으로 업데이트를 확인할 수 있는 Realtime Database 도 존재한다.

 

유사 제품 - AWS DynamoDB, MongoDB atlas 

 

Cloud Storage (클라우드 스토리지)

 

클라우드에 호스팅 되는 확장 가능한 파일 스토리지 저장소이다. 이미지, 오디오 파일 등을 저장할 수 있다.

 

유사 제품 - AWS S3, Cloudinary 

 

Cloud Function (클라우드 함수)

 

Firebase를 사용하면 서버가 없이 앱을 개발할 수 있다곤 했지만,

어느 정도 규모가 있는 앱을 개발한다면 서버의 역할을 해줄 수 있는 환경 (node js 백엔드 코드를 실행시킬 수 있는 환경)이 필요하기 마련이다. 예를 들어서 매일 12시마다 특정한 코드를 실행시켜야 한다던가, 푸시 알람을 보낸다던가 할 때 사용할 수 있는 게 바로 이 클라우드 함수다.

 

유사 제품 - AWS Lambda

 

Cloud Messaging (클라우드 메세징)

 

위에 언급한 푸시알람 기능을 가능하게 해준다. 운영체제와 상관없이 여러 기기에 메세지를 보낼수 있도록 도와준다 (웹 관리자 페이지에서 일괄적으로 모바일로 푸시알람을 보낼수도 있고 클라우드 함수를 통해 데이터 베이스 업데이트를 감지해 자동으로 푸시 알람을 보낼수도 있다). 

 

파이어 베이스 호스팅(Firebase Hosting)

 

파이어 베이스는 모바일 앱 개발을 수월하게 하기 위해 처음 만들어졌긴 했지만,

요즘은 웹 앱을 만들 때도 많이 쓰이고 있기 때문에 이를 손쉽게 배포할 수 있게끔 호스팅 서비스도 지원한다. 

 

유사 제품 - AWS S3 Hosting, EC2 Hosting,  Heroku 등