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 storage822
- No sql585
- Ease of use544
- High performance404
- Open source212
- Replication & high availability139
- Easy to maintain107
- Easy scalability35
- High availability33
- Document database26
- Full index support24
- Easy setup24
- Fast in-place updates14
- Agile programming, flexible, fast13
- No database migrations11
- Easy integration with Node.Js7
- Enterprise Support5
- Great NoSQL DB4
- Support for many languages through different drivers3
- Aggregation Framework3
- 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 setup115
- Free hosting75
- Use push notifications in 3 lines of code46
- Cloud code38
- Good for prototypes31
- Cloud modules30
- Backed by facebook27
- Parse Push7
- Cross Platform6
- 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 deployment703
- Free for side projects460
- Huge time-saver374
- Simple scaling348
- Low devops skills required261
- Easy setup189
- Add-ons for almost everything174
- Beginner friendly153
- Better for startups149
- Low learning curve133
- Postgres hosting47
- Easy to add collaborators41
- Faster development30
- Awesome documentation24
- Simple rollback19
- Focus on product, not deployment18
- Easy integration15
- Natural companion for rails development15
- Great customer support11
- GitHub integration7
- Painless & well documented5
- Just works3
- PostgreSQL forking and following2
- I love that they make it free to launch a side project2
- Great UI2
- MySQL extension2
- Super expensive22
- No usable MySQL option6
- Not a whole lot of flexibility6
- Low performance on free tier4
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 token56
- Integration with 20+ Social Providers27
- It's a universal solution16
- Amazing Documentation12
- Heroku Add-on10
- Enterprise support8
- Extend platform with "rules"7
- Great Sample Repos6
- Azure Add-on4
- It can integrate seamlessly with firebase2
- On-premise deployment2
- Easy integration, non-intrusive identity provider1
- Will sign BAA for HIPAA-compliance1
- Great support1
- Active Directory support1
- great documentation, samples, UX and Angular support1
- Pricing too high (Developer Pro)9
- Poor support7
- Status page not reflect actual status4
- Rapidly changing API3
related Auth0 posts
- Cloud Syncing2
- Elegant API2
- React Native Support1
- Strong Adoption Growth1
related Realm posts
- API-based cms26
- Much better than WordPress14
- Simple and customizable11
- Free for small projects3
- Images API3
- Extensible dashboard UI1
- Super simple to integrate1
- Managed Service1
- Tag Manager like UI1
- No repeater Field5
- No spell check4
- Slow dashboard3
- No free plan3
- Limited content types2
- Enterprise targeted2
- Not scalable1
related Contentful posts
- 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
- Open source, community and enterprise editions4
- Local cache capability4
- 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
- Terrible query language3
related Couchbase posts
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.
If you want to use Pouchdb might as well use RxDB which is an observables wrapper for Pouch but much more comfortable to use. Realm is awesome but Pouchdb and RxDB give you more control. You can use Couchbase (recommended) or CouchDB to enable 2-way sync
- 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.