Firebase 사용방법 초보도 쉽게 따라하는 완벽 가이드
- Firebase는 Google이 제공하는 BaaS — 서버 없이 인증·DB·스토리지·호스팅을 한 번에 해결
- 무료 Spark 플랜으로 MAU 5만 명까지 소셜 로그인 무제한, Firestore 일 5만 읽기 제공
- 프로젝트 생성 → SDK 설치 → 기능 연동의 3단계로 누구나 시작 가능
- Cloud Functions·Storage는 Blaze(종량제) 플랜 필요 — 무료 한도 내엔 비용 없음
앱을 만들고 싶은데 백엔드 서버를 직접 구축하려니 막막하다는 느낌, 한 번쯤 겪어봤을 것이다. Node.js로 서버를 올리고, 데이터베이스를 연결하고, 인증까지 직접 구현하다 보면 정작 핵심 기능을 만들기도 전에 지쳐버리는 경우가 많다.
Firebase는 그 반복적인 작업들을 대신 처리해주는 구글의 백엔드 서비스다. 2012년 인수 이후 꾸준히 발전해왔고, 지금은 전 세계에서 가장 널리 쓰이는 BaaS 플랫폼 중 하나다. 특히 모바일·웹 앱을 처음 만드는 개발자나 빠르게 프로토타입을 구성해야 하는 팀에서 자주 선택한다.
Firebase란 무엇인가
Firebase는 Google이 운영하는 Backend as a Service(BaaS) 플랫폼이다. 개발자가 별도의 서버를 구축하지 않아도 인증, 데이터베이스, 파일 저장, 실시간 메시지 전송, 앱 배포까지 필요한 백엔드 기능을 클라우드에서 바로 가져다 쓸 수 있도록 설계되어 있다.
💡 Firebase가 해결해주는 것들
- 로그인 시스템 구축 — 이메일·구글·카카오 소셜 로그인을 직접 구현하는 수고 없이 설정만으로 완성
- 데이터베이스 운영 — 서버 세팅 없이 NoSQL 기반 클라우드 DB를 즉시 사용
- 파일 관리 — 이미지·영상 업로드와 CDN 배포를 별도 인프라 없이 처리
- 앱 배포 — Firebase Hosting으로 HTTPS가 자동 적용된 웹사이트를 빠르게 공개
구글 생태계와 깊게 통합되어 있는 만큼 Google Analytics, Google Cloud와의 연동도 자연스럽게 이루어진다. 그래서 앱 사용자 데이터 분석부터 서버리스 함수 실행까지 하나의 콘솔에서 대부분의 작업이 가능하다.
핵심 기능 6가지 한눈에 보기
① Authentication — 인증 시스템
이메일/비밀번호, 구글, 페이스북, 깃허브, 익명 로그인 등 다양한 방식을 지원한다. JWT 기반으로 보안이 관리되며 Spark 플랜에서 소셜 로그인은 MAU 5만 명까지 무료로 제공된다. 전화번호 SMS 인증은 별도 비용이 발생하니 주의가 필요하다.
② Cloud Firestore — 실시간 NoSQL 데이터베이스
Firebase의 메인 데이터베이스다. 컬렉션과 문서(Document) 구조로 데이터를 저장하며, 데이터 변경이 실시간으로 클라이언트에 반영된다. Spark 플랜 기준 일 5만 건 읽기, 2만 건 쓰기, 1GB 저장이 무료로 제공된다.
③ Realtime Database — 레거시 실시간 DB
Firestore가 나오기 전부터 있던 실시간 데이터베이스다. JSON 트리 구조로 데이터를 저장하며 여전히 채팅 앱이나 실시간 게임에 사용된다. 신규 프로젝트라면 대부분 Firestore를 선택하는 게 낫다.
④ Cloud Storage — 파일 저장소
이미지, 영상, 문서 파일을 업로드하고 관리하는 기능이다. CDN을 통해 전 세계 어디서든 빠르게 파일을 불러올 수 있다. 현재는 Blaze(종량제) 플랜으로 업그레이드해야만 스토리지 기능을 활성화할 수 있다.
⑤ Cloud Functions — 서버리스 함수
Node.js 기반의 백엔드 로직을 서버 없이 실행할 수 있는 기능이다. Firestore 문서가 생성될 때 자동으로 특정 작업을 수행하거나 HTTP 요청에 응답하는 API를 만들 수 있다. Cloud Functions 역시 Blaze 플랜이 필요하다.
⑥ Firebase Hosting — 웹 배포
정적 파일과 동적 웹 콘텐츠를 빠르게 배포할 수 있는 호스팅 서비스다. HTTPS가 자동 적용되고, 전 세계 CDN을 통해 빠른 로딩 속도를 제공한다. 커스텀 도메인 연결도 지원하며 Spark 플랜에서 1GB 저장과 월 10GB 전송이 무료다.
Firebase 시작하기 — 프로젝트 생성부터 연동까지
① Firebase 콘솔에서 프로젝트 생성
1 console.firebase.google.com 접속 → 구글 계정으로 로그인
2 프로젝트 추가 클릭 → 프로젝트 이름 입력
3 Google Analytics 연동 여부 선택 (학습용이라면 사용 안 함으로 시작해도 무방)
4 프로젝트 생성 완료 → 콘솔 대시보드 진입
② 웹 앱 등록 및 SDK 설치
대시보드에서 웹 아이콘(</>)을 클릭해 앱을 등록하면 Firebase SDK 설치 코드와 앱 설정 객체(firebaseConfig)가 자동으로 생성된다. 이 설정값을 복사해 프로젝트에 붙여넣으면 연동 준비가 끝난다.
npm install firebase
// Firebase 초기화 (src/firebase.js)
import { initializeApp } from 'firebase/app';
import { getFirestore } from 'firebase/firestore';
import { getAuth } from 'firebase/auth';
const firebaseConfig = {
apiKey: "your-api-key",
authDomain: "your-project.firebaseapp.com",
projectId: "your-project-id",
};
const app = initializeApp(firebaseConfig);
export const db = getFirestore(app);
export const auth = getAuth(app);
③ Authentication 설정
Firebase 콘솔 → Authentication → 시작하기 → 로그인 방법 탭에서 원하는 공급업체를 활성화하면 된다. 구글 로그인을 켜고 저장하는 것만으로 소셜 로그인이 준비된다. 별도의 OAuth 흐름 구현이 필요 없다는 점이 편리하다.
Firestore 데이터 읽고 쓰는 기본 코드
Firebase를 처음 쓸 때 가장 많이 쓰는 코드가 Firestore 데이터 조회와 저장이다. SQL이 아니라 메서드 체이닝 방식으로 데이터를 다룬다.
import { collection, addDoc } from 'firebase/firestore';
await addDoc(collection(db, 'todos'), {
title: 'Firebase 공부하기',
done: false,
createdAt: new Date()
});
// 데이터 전체 조회
import { getDocs } from 'firebase/firestore';
const snapshot = await getDocs(collection(db, 'todos'));
snapshot.forEach(doc => console.log(doc.id, doc.data()));
실시간으로 데이터 변경을 감지하려면 onSnapshot을 사용한다. 데이터베이스에 변경이 생기는 즉시 클라이언트 화면이 자동으로 업데이트된다. 채팅 앱이나 알림 시스템에서 특히 유용하다.
요금제 완전 정리 — Spark vs Blaze
| 기능 | Spark (무료) | Blaze (종량제) |
|---|---|---|
| Firestore 읽기 | 일 5만 건 | 한도 초과분 유료 |
| Firestore 쓰기 | 일 2만 건 | 한도 초과분 유료 |
| Authentication (소셜) | MAU 5만 명 무료 | MAU 5만 초과 유료 |
| Cloud Functions | ❌ 사용 불가 | 월 200만 건 무료 후 유료 |
| Cloud Storage | ❌ 활성화 불가 | 1GB 무료 후 유료 |
| Firebase Hosting | 1GB 저장, 10GB/월 | 한도 초과분 유료 |
Firebase 장단점과 이런 프로젝트에 잘 맞는다
- 구글 계정 하나로 즉시 시작 가능
- 모바일 앱(iOS·Android)·웹 모두 SDK 지원
- 실시간 데이터 동기화가 내장 기능
- Google Analytics와 자연스러운 통합
- 문서·튜토리얼이 방대하고 한국어 공식 지원
- 무료 플랜 한도가 소규모 프로젝트에 충분
- SQL 미지원 — 복잡한 관계형 쿼리에 한계
- Google 생태계 종속 — 이전(migration)이 어려움
- 트래픽 증가 시 비용 예측이 어려움
- Cloud Functions·Storage는 유료 플랜 필요
- SMS 인증 비용이 국가별로 높을 수 있음
- 모바일 앱 개발 — iOS·Android SDK가 성숙하고 푸시 알림(FCM)까지 원스톱 처리
- 빠른 MVP 제작 — 인증·DB·배포를 하루 안에 붙이고 핵심 기능에만 집중 가능
- 실시간 기능이 핵심인 서비스 — 채팅, 라이브 대시보드, 협업 툴
- Google 생태계를 쓰는 팀 — Google Cloud, BigQuery, Analytics와 통합이 자연스러움
- 코딩 입문자·비개발자 — 콘솔 UI가 직관적이고 진입장벽이 낮음
반면 SQL 기반의 복잡한 데이터 관계가 많거나 벤더 종속 없이 자체 서버에 호스팅하고 싶다면 Supabase나 PostgreSQL 기반 스택을 고려하는 게 낫다. 도구는 프로젝트 성격에 맞게 고르는 게 결국 시간을 아끼는 길이다.
- Firebase는 구글이 운영하는 BaaS — 인증·Firestore·스토리지·호스팅·서버리스 함수를 한 플랫폼에서 제공
- Spark(무료) 플랜으로 소셜 로그인 MAU 5만, Firestore 일 5만 읽기까지 무료 사용 가능
- Cloud Functions·Cloud Storage는 Blaze 플랜 필요 — 무료 한도 내 청구 없음
- 프로젝트 생성 → SDK 설치 → 기능 활성화 순으로 30분 내 기본 연동 완료 가능
- 모바일 앱·MVP·실시간 기능 중심 서비스에 가장 잘 맞는 선택
'최신 IT 정보' 카테고리의 다른 글
| Replit AI로 웹앱 만드는 방법 — 단계별 쉽게 따라하기 (0) | 2026.05.09 |
|---|---|
| Threads vs 인스타그램 — 차이점과 장단점 완벽 비교 (0) | 2026.05.08 |
| Supabase 사용법 완벽 가이드 ? 백엔드를 쉽게 구축하는 방법 (0) | 2026.05.07 |
| Lovable AI로 웹앱 만드는 방법 완벽 가이드 ? 코딩 없이 5분 만에 완성 (0) | 2026.05.06 |
| 안드레 카파시 스킬 정체 ? 개발자들이 난리난 진짜 이유 (1) | 2026.05.05 |