Once upon a time, there is a Firebase…

An extraordinary story that only extraordinary people could survive to tell.

Michael Lee
Jul 22, 2017 · 4 min read
Google Cloud OnBoard 2017 in Hong Kong (*´꒳`*)

With all the possible upcoming challenges, and to the most about the attractive Always Free plan provided by Google Cloud Platform (GCP), I tried to do something on it.

My task was simple,

Deploy a static web page.

So I headed out to search for the right service in GCP. The first service I encountered was Google Cloud Storage. It sounds like a place for me to store files. And also on the landing page, it has the following paragraph on the use case section,

Host your Website
Easily host and serve the static assets to your website in a Multi-Regional Storage bucket. Your static pages can include client-side technologies like HTML, CSS, and JavaScript.

Sounds cool ? But then when I clicked the link to see the tutorial of how I could deploy my web page, I saw another paragraph,

Caution: This tutorial applies to using HTTP. We recommend that you don’t serve content that contains sensitive or private data via HTTP from your Cloud Storage bucket. See the related troubleshooting topic for information on using HTTPS.

I was planning for a trial run but without HTTPS, it doesn’t sound like a production-ready option. Few years ago, Google already wrote a blog post about ranking HTTPS website higher. Without HTTPS-support means that it’s not ready for production use. I was hoping that if every other thing goes well, I would step it up for production use. So no, I needed to find another service.

Then, I followed the troubleshooting topic link and got this paragraph,

You want your content served through HTTPS

Yes.

While you can serve your content through HTTPS using direct URI’s such as https://storage.googleapis.com/my-bucket/my-object, when hosting a static website using a CNAME redirect, Cloud Storage only supports HTTP. To serve your content through a custom domain over SSL, set up a load balancer, use a third-party Content Delivery Network with Cloud Storage, or serve your static website content from Firebase Hosting instead of Google Cloud Storage.

So the choices are either,

  1. set up a load balancer with a third-party CDN
  2. use Firebase Hosting instead of Google Cloud Storage

The first choice is obviously to complicated for such a simple task. But the second one is suggesting me to use Firebase service ?

What’s happening !?

Few years ago, Google acquired Firebase saying to help developers “create extraordinary experiences”.

Okay. The experience is quite extraordinary where I couldn’t get HTTPS-support from a service that starts with Google, but I can with a service that starts with Firebase. I now have a feeling that Firebase is actually better than Google.

Source: http://www.reddit.com/r/gifs/comments/1reedw/minions_laughing/

At the beginning, I thought, after the acquisition, Firebase services would be merged to the Google Cloud Platform Console. So I went to the GCP Console, created a project, searched on the menu bar. And then…

Why I can’t find the Firebase Hosting service ?

So I did a search of “Firebase Hosting”, clicked the first link and then clicked the console button on the top-right hand corner. It redirected me into the Firebase Console

Nice.

After 3 years of acquisition, I wonder what stopped Google from merging the two consoles together ?

Then I looked on the Firebase console and found that there is an interesting button,

(*´꒳`*)

Nice. So,

What’s the difference between a Firebase project and GCP project ?

Only Firebase project can use Firebase services.

Source: GIPHY

Then I headed to the Hosting tab, trying to find a button to upload all my static files and called for an end turn. But I got another question,

Where is the upload button ?

Apparently the Firebase Hosting is aimed ONLY for developers that there is no GUI for uploading static assets for the websites…

Great. Nice. Well done Google.

Winter is here, https://youtu.be/1MlhntojMlg (Source: GIPHY)

So I downloaded the Firebase tools on my terminal, typing all the commands to set up a folder, setting up the deploy config and then typed,

firebase deploy

DONE.

IT’S DONE !

Source: GIPHY

“Why not using Amazon S3 then ?” my friend asked.

Thanks for reading! If you like this article, hit the button below to show your support and also click Follow button for latest updates (*´꒳`*)

)
Michael Lee

Written by

A developer who loves interesting thing (*´꒳`*)

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade