firebase: introduction, pricing
왜 파베함? 그거 비싸지 않음?
단순 아이디어를 증명하기위해 타입스크립트를 이용해 정성스럽게 타이핑하고, 부하테스트하고, 배포 자동화를 만드는 등의 작업이 과투입
이라고 생각이 들었다. 그러니까, 단순 아이디어 확인용으로 정성스러운 코드를 작성하는게 부담스러워지기 시작했다는 것이다.
따라서 괜한 고집을 부리지 말고 정식 프로덕트에서는 직접 구현하되, 아이디어를 실현해보는 과정은 firebase를 적극적으로 활용하기로.
게다가 생각보다 무료로 제공하는 서비스가 많아서 (FCM도 무료다) 적절하게 활용하면 큰 프로덕트에서도 쉽게 일을 할 수 있다.
물론, 정식 프로덕트에서 파이어베이스에게만 의존할 수는 없다. 유저들에게 개인화된 서비스를 제공하기 위해서는 로그인, 회원가입 등의 로직에서 단순히 유저 검증 외에도 처리해야 할 비즈니스 로직이 많은데 이런 부분은 firebase에서는 구현할 수 없다.
그래서 무슨 기능을 쓸 수 있는데
문서에 따르면 다음과 같은 기능들을 사용할 수 있다. ios, android, web, unity, C++ 별로 사용할 수 있는 분야가 다르다.
대개 firebase는 모바일 앱 기반 프로젝트에서 주로 사용되므로 특정 기술은 웹을 지원하지 않을 때가 있다.
어쨌거나 관련 기능을 살펴보면 다음과 같다.
Cloud Firestore : DB
Cloud Storage : aws s3라 생각하면 편하다. storage
Cloud Functions : serverless
Realtim Database : 말 그대로 realtime DB
authentication : 편리하게 소셜 로그인, 로컬 로그인 구성 가능
Firebase ML : gcp ML 기반, tensorflow lite 모델 주입 가능 등 모바일 환경에서 ML 제공을 편리하게 해줌
Hosting : 말 그대로 호스팅
Crashlytics : 앱을 위한 Sentry라고 생각하자
Test Lab : 다양한 디바이스 크기에서 테스트해보기 위한 기능. 테스트 코드를 말하는 게 아니다.
App Distribution : Crashlytics의 개선 버전으로 나왔다고 한다. 사전 출시 테스트부터 배포 버전 관리 등을 제공한다고.
Personformance Monitoring : 퍼포먼스 감시를 위해 사용됩니다.
Cloud Messaging : 푸쉬 알람
등등...
firebase 이용 비용
무료 기능은 언급해보자면 다음과 같다. 구글이 데이터를 뽑아 먹을 수 있는 부분들은 무료로 만들어놨다.
A/B Testing, Analytics, App Distribution, App Indexing, FCM, Remote Config, Dynamic Links, Crashlytics,
In-App Messaging, Performance Monitoring, Predictions
Authentication => 일반 소셜 로그인은 무료, 핸드폰 인증의 경우 1달 1만건 까지는 무료. 이후엔 0.06달러
Cloud Firestore, Hostring, Cloud Storage 등은 일정 부분까지만 무료이고 그 이후 유료이다.
안타깝지만 Cloud Functions은 무료 계정 이용시 아예 이용을 할 수가 없다.
firebase 대체제는 없는가
aws amplify