[Daily Contents] 파이어베이스 소개


DB, 로그인, 호스팅에 사용…

Firebase란?

개발, 성장, 수익 등에 쓰임

1. 인증

FirebaseUI는 Firebase 인증 SDK를 바탕으로 빌드된 라이브러리로, 앱에서 사용할 수 있는 삽입형 UI 흐름을 제공. 이점은 다음과 같다.
- 여러 제공업체
- 계정 연결
- 맞춤 설정
- 간편 가입 및 자동 로그인
- 현자화된 UI
- 익명 사용자 업그레이드

* 구글 로그인 Kotlin, JS, C++, flutter 등 지원

2. 데이터 베이스

Firebase는 실시간 데이터 동기화를 지원하며 클라이언트에서 액세스할 수 있는 2가지 클라우드 기반 데이터베이스 솔루션을 제공.
* Cloud Firestore는 모바일 앱 개발을 위한 최신 데이터베이스로서 직관적인 새로운 데이터 모델, 실시간 데이터베이스보다 풍부하고 빠른 쿼리와 원활한 확장성 제공.
* 실시간 데이터베이스는 Firebase기존 데이터베이스로, 여러 클라이언트에서 실시간으로 상태를 동기화해야 하는 모바일 앱을 위한 효율적이고 지연 시간이 짧은 솔루션.

# firestore가 여러 단점을 보강한 최신 DB이므로 추천.
# 실시간 수신대기-Vue나 React에서 작성(Web, IOS, Kotlin, flutter, python, C++, go, Unity, ruby, C# 등 지원)

3. 스토리지

Firebase용 Cloud Storage
- 사진, 동영상 등의 사용자 제작 콘텐츠를 저장하고 제공해야 하는 앱 개발자를 위해 제작
- Blob 또는 File에서 업로드, Byte 배열, 문자열에서 업로드

4. 호스팅

- Vue나 React로 코드 작성 후 압축, 별도 웹 서버에 설정 없이 Firebase에 올리면 호스팅 사이트 제공.
- 자신만의 도메인을 갖고 싶다면 따로 결제.

5. Function

Firebase용 Cloud Functinos
- Firebase 기능과 HTTPS 요청에 의해 트리거되는 이벤트에 응답하여 백엔드 코드를 자동으로 실행할 수 있는 서버리스 프레임워크.
- Google의 클라우드 서비스에 저장되고 관리형 환경에서 실행.
- 자체 서버를 관리하고 크기를 확장할 필요 없음.

Q&A

Q. 백엔드 서버 따로 두고 유저인증 부분만 Firebase 사용 가능한지?
A. 가능함.
Q. 대규모 트래픽에서 Firebase가 적합하지 않다고 하는데 어느 정도까지가 사용에 적합한가?
A. 대규모 트래픽에서 장애가 있었다는 소식을 들은 적은 없음. 일반적인 스타트업이나 싸피 프로젝트에서는 충분.
Q. 기업에서 많이 사용하는지?
A. 전체적으로 다 사용하는 기업은 얼마 없으나 인증, 호스팅, Function 등 기능 하나를 사용하는 기업은 다수.
Q. 계정 관련 이외에도 Firebase의 유용한 점은?
A. 인증 이외에도 Key-Value 기반 DB, Storage, Function, Cloud message(앱에 메세지 오는 것) 등등 가능.
Q. 서버리스하게 만들어주는 Function 통해서, DB 접근해서 데이터 줄 수 있을지.
A. Function이 Node.js, HTTP 기능 지원. REST 구현하고 데이터 전송.
Q. Firebase로 API 요청에 대한 응답을 각각 실행 가능한가?
A. 가능.
Q. 이미지 관련 처리만 Firebase로 처리, 백엔드 서버를 따로 두는 것도 가능한가?
A. 가능.
Q. Spring 백엔드가 있는 경우에 Firebase를 쓰는 것이 어떤 이점이 있을지.
A. 다른 기능을 사용하는 것을 추천. 인증이나 message, storage 등을 이용하면 좋을 것.
Q. 이런 좋은 기능이 왜 무상인지?
A. 일정 이상의 트래픽을 넘어가면 유료.
Q. 기존에 잘 작동하던 프로젝트로 Firebase로 이식하는 게 더 나은 경우가 있을지? 유지관리비용, 보수성, 편리성 측면 등에 대해 의문.
A. 코드가 줄어들기 때문에 유지관리비용 등은 감소.
Q. GCP 콘솔에서 제공하는 Firebase와 홈페이지에서 제공하는 것과 차이가 있을지?
A. GCP 콘솔이 더 방대하다고 함.

댓글남기기