Official Firebase & Community Updates!

Wtih 2020 coming to an end, here are some notable releases since our last look at the State of Firebase!

Cloud Functions:

  • Node.js 14 LTS is in BETA while Node.js 8 is set to be deprecated in 2021
  • in addition to setting the runtime verison in package.json it can now be set in firebase.json with the functions.runtime field.
  • Per Function Service Accounts defined with serviceAccount in runWith() options
  • Per Function vpcConnector and vpcConnectorEgressSettings in the runWith options

Emulator Suite: Support for the Authentication service with local login windows and ID Tokens was added, rounding out the support for the local…


Official Firebase & Community Updates!

With Google events being cancelled in 2020 there may be fewer product announcements this year. Let’s take a look at was released since our last look at the State of Firebase!

State of Firebase 2020
State of Firebase 2020

Cloud Functions: now are private by default! IAM permissions are checked before your function is invoked and if the request fails authentication you are not charged for the request. Firebase CLI 7.7.0+ will set your HTTP functions to public for easy development, but protected HTTP functions are easily available with some permissions changes.

Cloud Firestore: C++ and Unity SDKs (Unity available via the Unity Package Manager.

Firebase Games: single…


💻 Works a dream!

It just works!

I’ve written a number of articles about installing various versions of Ubuntu on my laptops over the past 2 years. I began writing these to document the process in a more consumable way than how I originally found the solutions to my installation woes. I’m happy to report that the latest Ubuntu 20.04 release removes all obstacles with Grub and friends that I had previously encountered!

To Canonical, Kudos 🙏

Hello Heron my old friend

💻 PopOS 19.04 on Lenovo ThinkPad E485
Same problems, same solution

💻 Ubuntu 19.04 on Lenovo ThinkPad E485
Stop Ubuntu from hanging itself on boot

💻 Ubuntu…


💬 Cloud Next & Google I/O 2019 updates!

Google Cloud Next 19 and Google I/O 19 were jam packed this year! This list should get you up to speed with all that’s new with Firebase so far in 2019!

Dashboard

Authentication


💻 Hassle-free GraphQL on FaaS

GraphQL is a query language that allows clients to specify which data they want to fetch while the GraphQL server exposes what is available and how it should be fetched. Combined with Cloud Functions we can deploy a serverless, auto-scaling GraphQL API to the cloud in seconds!

GraphQL in a Nutshell

The key to GraphQL is that it is Client and Server side. The Client specifies a query which defines the exact data they need, and the Server will fetch this data and return it in the structure the client specified. No over-fetching of data, no new endpoints for new data, no versioning.

A…


💻 Auto-scaling APIs in seconds

Express is a minimalist web framework for building APIs with HTTP routes, payloads and sessions on Node.js. Combining this library with Cloud Functions we can deploy a serverless, auto-scaling web server in seconds!

Source

Why use Express with FaaS?

Scaling web servers is difficult due to fluctuating traffic as users come and go throughout the day and a product’s lifetime. Load Balancers help, but maximising throughput, minimising response time and avoiding system overloads is still complex, even when using the right tools.

Functions as a Service (FaaS), like Google Cloud Functions, are small containers that automatically scale up and down with requests, making them great for…


💻 Runtime Secret Decryption with Golang & Node.js

Google’s KMS provides a mechanism to encrypt secrets, but unfortunately does not provide a secure store service. Berglas is a Golang tool built to solve this problem. It utilises KMS to encrypt your secrets, store them in a secure GCS Bucket and decrypt them at runtime.

Being written in Golang, Berglas can be used in the Cloud Function Go runtime, but not the Node.js, Python or Java runtimes. Porting it to other languages would be costly and fragment the effort to keep the tool exploit-free and our secrets safe.

Now that we have serverless containers (Cloud Run), we can install…


💬 King of Serverless Compute?

Cloud Run is a new serverless compute product from GCP, best summarised by Google itself:

Run stateless HTTP containers on a fully managed environment or in your own GKE cluster.

Cloud Run Overview by Google Cloud Platform

For today we’re going to cover the 3 features I think make Cloud Run the standout choice for serverless compute.

🐳 Containers

This is a contentious aspect of Cloud Run (one to be addressed separately in more detail), but one which I feel has benefits not being being considered.

FaaS solutions restrict you to using the tools provided in the default containers and those within…


💻 Same problems, same solution

I usually run a fairly vanilla Ubuntu setup on my personal machines but often have little issues I need to patch (expected). I recently heard the PopOS team goes out of their way to support common hardware setups (Nvidia drives in the ISO anyone?) and has a good track record for OOTB battery perf, so I thought I would give the OS a go.

PopOS! Img by Kate Hazen

On this hardware you must press Enter when the Lenovo logo appears, then press F12 to select the boot device. Select your Bootable USB to install the OS.

Installing PopOS 19.04

PopOS itself uses the systemd boot-loader instead of…


💬 Google Next 19 in a Nutshell

Amid the fanfare of the Google Cloud Run release were significant releases in the Cloud Functions space. This overview will get you up to speed with the latest features.

Image from Google Cloud Platform

Specify the maximum number of concurrent instances for a particular Cloud Function. This allows you to throttle the number of requests you can serve to avoid depleting or overloading a downstream service’s resources.

📚 Scaling Behaviour Documentation

James Hegedus

GCP, Firebase & Rescript-lang fan! @jthegedus on all platforms.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store