What is Firebase and what are its top alternatives?
Top Alternatives to Firebase
MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding. ...
With Parse, you can add a scalable and powerful backend in minutes and launch a full-featured app in record time without ever worrying about server management. We offer push notifications, social integration, data storage, and the ability to add rich custom logic to your app’s backend with Cloud Code. ...
Heroku is a cloud application platform – a new way of building and deploying web apps. Heroku lets app developers spend 100% of their time on their application code, not managing servers, deployment, ongoing operations, or scaling. ...
A set of unified APIs and tools that instantly enables Single Sign On and user management to all your applications. ...
The Realm Mobile Platform is a next-generation data layer for applications. Realm is reactive, concurrent, and lightweight, allowing you to work with live, native objects. ...
Contentful enables teams to unify content in a single hub, structure it for use in any digital channel, and integrate seamlessly with hundreds of other tools through open APIs and a leading app framework. ...
Developed as an alternative to traditionally inflexible SQL databases, the Couchbase NoSQL database is built on an open source foundation and architected to help developers solve real-world problems and meet high scalability demands. ...
Google Cloud Storage
Google Cloud Storage allows world-wide storing and retrieval of any amount of data and at any time. It provides a simple programming interface which enables developers to take advantage of Google's own reliable and fast networking infrastructure to perform data operations in a secure and cost effective manner. If expansion needs arise, developers can benefit from the scalability provided by Google's infrastructure. ...
Firebase alternatives & related posts
- Document-oriented storage824
- No sql591
- Ease of use546
- High performance406
- Open source215
- Replication & high availability142
- Easy to maintain109
- Easy scalability37
- High availability35
- Document database26
- Easy setup24
- Full index support24
- Fast in-place updates14
- Agile programming, flexible, fast13
- No database migrations11
- Easy integration with Node.Js7
- Enterprise Support5
- Great NoSQL DB4
- Aggregation Framework3
- Support for many languages through different drivers3
- Drivers support is good3
- Easy to Scale2
- Managed service2
- Very slowly for connected models that require joins5
- Not acid compliant3
- Proprietary query language1
related MongoDB posts
Recently we were looking at a few robust and cost-effective ways of replicating the data that resides in our production MongoDB to a PostgreSQL database for data warehousing and business intelligence.
We set ourselves the following criteria for the optimal tool that would do this job: - The data replication must be near real-time, yet it should NOT impact the production database - The data replication must be horizontally scalable (based on the load), asynchronous & crash-resilient
Based on the above criteria, we selected the following tools to perform the end to end data replication:
We chose MongoDB Stitch for picking up the changes in the source database. It is the serverless platform from MongoDB. One of the services offered by MongoDB Stitch is Stitch Triggers. Using stitch triggers, you can execute a serverless function (in Node.js) in real time in response to changes in the database. When there are a lot of database changes, Stitch automatically "feeds forward" these changes through an asynchronous queue.
We chose Amazon SQS as the pipe / message backbone for communicating the changes from MongoDB to our own replication service. Interestingly enough, MongoDB stitch offers integration with AWS services.
In the Node.js function, we wrote minimal functionality to communicate the database changes (insert / update / delete / replace) to Amazon SQS.
Next we wrote a minimal micro-service in Python to listen to the message events on SQS, pickup the data payload & mirror the DB changes on to the target Data warehouse. We implemented source data to target data translation by modelling target table structures through SQLAlchemy . We deployed this micro-service as AWS Lambda with Zappa. With Zappa, deploying your services as event-driven & horizontally scalable Lambda service is dumb-easy.
In the end, we got to implement a highly scalable near realtime Change Data Replication service that "works" and deployed to production in a matter of few days!
We use MongoDB as our primary #datastore. Mongo's approach to replica sets enables some fantastic patterns for operations like maintenance, backups, and #ETL.
As we pull #microservices from our #monolith, we are taking the opportunity to build them with their own datastores using PostgreSQL. We also use Redis to cache data we’d never store permanently, and to rate-limit our requests to partners’ APIs (like GitHub).
When we’re dealing with large blobs of immutable data (logs, artifacts, and test results), we store them in Amazon S3. We handle any side-effects of S3’s eventual consistency model within our own code. This ensures that we deal with user requests correctly while writes are in process.
- Easy setup116
- Free hosting76
- Use push notifications in 3 lines of code46
- Cloud code39
- Good for prototypes31
- Cloud modules30
- Backed by facebook27
- Parse Push7
- Cross Platform7
- Parse Core6
- Parse Analytics6
- Quick chat and profile capabilities5
- Free Tier5
- Cloud Based4
- Backend as a service3
- Backbone Models3
- Nice security concept3
- Local Datastore2
- Anonymous Users2
- Easy to use2
- About to Die1
related Parse posts
- Easy deployment704
- Free for side projects460
- Huge time-saver374
- Simple scaling348
- Low devops skills required261
- Easy setup190
- Add-ons for almost everything174
- Beginner friendly154
- Better for startups150
- Low learning curve133
- Postgres hosting48
- Easy to add collaborators41
- Faster development30
- Awesome documentation24
- Focus on product, not deployment19
- Simple rollback19
- Natural companion for rails development15
- Easy integration15
- Great customer support12
- GitHub integration8
- Painless & well documented6
- I love that they make it free to launch a side project4
- Just works3
- Great UI3
- PostgreSQL forking and following2
- MySQL extension2
- Able to host stuff good like Discord Bot1
- Super expensive23
- Not a whole lot of flexibility6
- No usable MySQL option5
- Low performance on free tier4
- 24/7 support is $1,000 per month1
related Heroku posts
StackShare Feed is built entirely with React, Glamorous, and Apollo. One of our objectives with the public launch of the Feed was to enable a Server-side rendered (SSR) experience for our organic search traffic. When you visit the StackShare Feed, and you aren't logged in, you are delivered the Trending feed experience. We use an in-house Node.js rendering microservice to generate this HTML. This microservice needs to run and serve requests independent of our Rails web app. Up until recently, we had a mono-repo with our Rails and React code living happily together and all served from the same web process. In order to deploy our SSR app into a Heroku environment, we needed to split out our front-end application into a separate repo in GitHub. The driving factor in this decision was mostly due to limitations imposed by Heroku specifically with how processes can't communicate with each other. A new SSR app was created in Heroku and linked directly to the frontend repo so it stays in-sync with changes.
Related to this, we need a way to "deploy" our frontend changes to various server environments without building & releasing the entire Ruby application. We built a hybrid Amazon S3 Amazon CloudFront solution to host our Webpack bundles. A new CircleCI script builds the bundles and uploads them to S3. The final step in our rollout is to update some keys in Redis so our Rails app knows which bundles to serve. The result of these efforts were significant. Our frontend team now moves independently of our backend team, our build & release process takes only a few minutes, we are now using an edge CDN to serve JS assets, and we have pre-rendered React pages!
#StackDecisionsLaunch #SSR #Microservices #FrontEndRepoSplit
Our whole DevOps stack consists of the following tools:
- GitHub (incl. GitHub Pages/Markdown for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool
- Respectively Git as revision control system
- SourceTree as Git GUI
- Visual Studio Code as IDE
- CircleCI for continuous integration (automatize development process)
- Prettier / TSLint / ESLint as code linter
- SonarQube as quality gate
- Docker as container management (incl. Docker Compose for multi-container application management)
- VirtualBox for operating system simulation tests
- Kubernetes as cluster management for docker containers
- Heroku for deploying in test environments
- nginx as web server (preferably used as facade server in production environment)
- SSLMate (using OpenSSL) for certificate management
- Amazon EC2 (incl. Amazon S3) for deploying in stage (production-like) and production environments
- PostgreSQL as preferred database system
- Redis as preferred in-memory database/store (great for caching)
The main reason we have chosen Kubernetes over Docker Swarm is related to the following artifacts:
- Key features: Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.
- Applications: An application can be deployed using a combination of pods, deployments, and services (or micro-services).
- Functionality: Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.
- Monitoring: It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).
- Scalability: All-in-one framework for distributed systems.
- Other Benefits: Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.
- JSON web token62
- Integration with 20+ Social Providers30
- It's a universal solution19
- Amazing Documentation14
- Heroku Add-on11
- Enterprise support8
- Extend platform with "rules"7
- Great Sample Repos7
- Azure Add-on4
- Easy integration, non-intrusive identity provider3
- On-premise deployment2
- It can integrate seamlessly with firebase2
- Great documentation, samples, UX and Angular support2
- Great support1
- Active Directory support1
- SAML Support1
- Will sign BAA for HIPAA-compliance1
- OpenID Connect (OIDC) Support1
- Pricing too high (Developer Pro)12
- Poor support7
- Status page not reflect actual status4
- Rapidly changing API3
related Auth0 posts
Hey all, We're currently weighing up the pros & cons of using Firebase Authentication vs something more OTB like Auth0 or Okta to manage end-user access management for a consumer digital content product. From what I understand so far, Something like Firebase Auth would require more dev effort but is likely to cost less overall, whereas OTB, you have a UI-based console which makes config by non-technical business users easier to manage. Does anyone else have any intuitions or experiences they could share on this, please? Thank you!
- Cloud Syncing2
- Elegant API2
- React Native Support1
- Strong Adoption Growth1
- No offline support for web till now1
related Realm posts
- API-based cms28
- Much better than WordPress17
- Simple and customizable11
- Images API4
- Free for small projects3
- Extensible dashboard UI1
- Super simple to integrate1
- Managed Service1
- Tag Manager like UI1
- No spell check5
- No repeater Field5
- Slow dashboard3
- No free plan3
- Limited content types2
- Enterprise targeted2
- Not scalable1
related Contentful posts
Hi. I am gonna build a simple app for a company to ease their work. The company is sending out pdf files to their users' email. The data is a health analysis with a lot of different health values. The app should be an MVP, where users can watch their data instead of opening a pdf file. The company should be able to fill in the data in either Firebase or Contentful database. Is Contentful or Firebase best for this solution? What is your opinion?
Im building a simple portfolio website using Next.js and all the content is static, what's the best between Contentful and Sanity.
I really like the self-hosting and custom layout with sanity however I don't think time customizing is worth it anymore.
- High performance18
- Flexible data model, easy scalability, extremely fast17
- Mobile app support8
- You can query it with Ansi-92 SQL6
- All nodes can be read/write5
- Local cache capability4
- Open source, community and enterprise editions4
- Both a key-value store and document (JSON) db4
- Equal nodes in cluster, allowing fast, flexible changes4
- Automatic configuration of sharding3
- SDKs in popular programming languages3
- Elasticsearch connector3
- Easy setup3
- Web based management, query and monitoring panel3
- Linearly scalable, useful to large number of tps3
- Easy cluster administration3
- Cross data center replication3
- DBaaS available2
- Map reduce views2
- FTS + SQL together1
- Buckets, Scopes, Collections & Documents1
- Terrible query language3
related Couchbase posts
Hey, we want to build a referral campaign mechanism that will probably contain millions of records within the next few years. We want fast read access based on IDs or some indexes, and isolation is crucial as some listeners will try to update the same document at the same time. What's your suggestion between Couchbase and MongoDB? Thanks!
We implemented our first large scale EPR application from naologic.com using CouchDB .
Very fast, replication works great, doesn't consume much RAM, queries are blazing fast but we found a problem: the queries were very hard to write, it took a long time to figure out the API, we had to go and write our own @nodejs library to make it work properly.
It lost most of its support. Since then, we migrated to Couchbase and the learning curve was steep but all worth it. Memcached indexing out of the box, full text search works great.
- More praticlal and easy1
related Google Cloud Storage posts
In #Aliadoc, we're exploring the crowdfunding option to get traction before launch. We are building a SaaS platform for website design customization.
For the Admin UI and website editor we use React and we're currently transitioning from a Create React App setup to a custom one because our needs have become more specific. We use CloudFlare as much as possible, it's a great service.
For routing dynamic resources and proxy tasks to feed websites to the editor we leverage CloudFlare Workers for improved responsiveness. We use Firebase for our hosting needs and user authentication while also using several Cloud Functions for Firebase to interact with other services along with Google App Engine and Google Cloud Storage, but also the Real Time Database is on the radar for collaborative website editing.
We generally hate configuration but honestly because of the stage of our project we lack resources for doing heavy sysops work. So we are basically just relying on Serverless technologies as much as we can to do all server side processing.
Visual Studio Code definitively makes programming a much easier and enjoyable task, we just love it. We combine it with Bitbucket for our source code control needs.