Ever since Google acquired Firebase in 2014, the mobile development platform has inched closer and closer towards seamless integration with Google Cloud Platform. In fact, while Firebase is officially separate from Google Cloud Platform, the two share backend infrastructure on Google Cloud Datastore and have many shared service offerings.
Google has adapted the Firebase Platform such that enterprises and developers wanting more flexibility can easily call on Google App Engine and other GCP services while expecting the same project structure they are used to in Firebase. The two platforms even combine forces to offer shared services such as Google Cloud Firestore and Google Cloud Functions, which are both listed as Firebase services and Google Cloud Platform services.
Even Google advertises that the two go together hand in hand – many of the services across platforms share the same Terms of Service so that your company’s lawyers only have to perform due diligence one time. On the permissions side, role-based permissions can be set at the project level, and these restrictions carry across projects on both GCP and Firebase.
Combining Firebase and Google Cloud Platform for a Better Cloud Strategy
Firebase Apps under the Spark plan automatically integrate with Google Cloud Datastore for object storage starting at the free tier. This plan allows mobile developers to get started on projects quickly, without worrying about entering credit card information or underlying infrastructure. When storage and feature needs grow, the Blaze plan offers transparent, pay as you go pricing and access to GCP – developers are simply prompted to enter billing information that applies to both Firebase and GCP. Having one Google account means that you have access to both Firebase and GCP under the same credentials, which allows for one billing method to cover both services.
In order to understand your application data, Firebase allows integration with BigQuery simply by configuring BigQuery access to Firebase as detailed here. Using BigQuery, analysts can understand app analytics data in near real time. The Google Data Studio connector to BigQuery allows visual representations of Firebase App data. Rather than feature analogous services like BigQuery or Data Studio in Firebase, Google Cloud likely keeps these features under the GCP umbrella to bridge Firebase developers towards using more of Google Cloud Platform.
In cases where developers need to process user data and schedule events, App Engine Flex environment couples well with Firebase. While this might be the most common GCP extension of Firebase services, Google’s documentation also covers other integration scenarios between Firebase and GCP, such as audio and video transcoding or other compute intensive background processes. They even spell out how to move a project from Google App Engine to Firebase should the case arise.
Due to limitations with Firebase’s object versioning, Google also recommends linking in GCP’s Object Versioning and Object Lifecycle Management features when it’s necessary to pull older than the most recent version of an object.
Google Cloud Functions Supported from Firebase
Last year, Firebase added support for Google Cloud Functions, a serverless computing environment that allows applications to spin up servers upon event triggers in Firebase. This lets developers run complex application tasks without regard to the underlying infrastructure, a key tenet for both Google Cloud Platform and Firebase.
One limitation to Firebase Cloud Functions, as documented throughout developer forums, is the limited ability to schedule cron services. Tangentially related to this issue is the “cold start” that comes along with kicking up a server that was not awake – the difference between a few milliseconds which can actually be a taxing delay on an application task. Developers suggest workarounds scheduling these functions to trigger as cron jobs using Google App Engine or Google Compute Engine,.
In Recent Years, Google’s Two Cloud Platforms Become Increasingly Similar
While we understand that these are two different platforms, with Firebase always focusing on the mobile developer and Google Cloud Platform accommodating a much wider array of dev needs, the two grow together in stride.
Take Firebase MLKit for instance and consider how it builds off of Google Cloud’s ML. MLKit takes Google Cloud’s machine learning APIs and makes them available both on-device and in the Cloud. Certainly, the backend work Google devotes to its ML APIs is only completed once, but both platforms are able to package the technology towards their respective developer audiences. Firebase knows that on-device, off-network ML APIs are a must for mobile device that do not always have access to a network.
We often wonder why Google creates so many offerings that seem to compete with one another. In the case of Firebase, there will always be a need to spin Google Cloud’s complex service offerings in a way that better fits the bootstrapped mobile developer. However, as applications grow, Firebase developers can (from the same account) implement more workloads that lean on GCP, eventually driving more revenue to both of Google’s Cloud platforms.