Firebase is a backend as a service provider with a realtime database. Firebase makes it really easy to deploy your Ember applications to it. I've been using it for a while now with several of my side projects and it's been really easy to work with.

If you're not familiar with Firebase check out my Ember-CLI blog with Firebase tutorial as well as my Ember CLI with Firebase simple login tutorial. Both are very detailed and show how to get started and go over many concepts you should know while working with Firebase.

Pricing and Plans

To begin we'll need to sign up for Firebase. That should be easy enough, you just follow the signup link on the website. After you've signed up you'll have access to a free 'Hacker Plan' that gives you 50 Max Connections, 5 GB database transfer, 100 MB database storage, 1 GB hosting storage and 100 GB hosting transfer. This should be plenty to get started with.

If you're interested in the higher tears they start out at $49 and go on up from there. As you pay more you get access to more database transfer space as well as storage and connections. One concurrent connection, as defined by Firebase, corresponds to around 1400 monthly visits. The free plan allows 50 connections while the Candle plan, starting at $49, allows 200 connections. That should allow a good amount of traffic, and it does support custom domains. Firebase is owned by Google so you know you're getting a solid platform to work on.

Setup

We'll need to start by downloading the Firebase tools.

$ npm install -g firebase-tools

This will install all the tools needed to push our application to Firebase to host. After you've created an Ember CLI application cd into the directory and run the init command.

$ firebase init

This only needs to be run once for each project and it creates the firebase.json file in the root of your project directory. To get an idea how to setup your firebase.json file check out this guide. All though the defaults work fine.

The last application I created using Firebase I modified the default firebase.json file and added in a rewrite rule. This helped with routing. Here is the example I used for my last blog post on Firebase.

//firebase.json
{
  "firebase": "blogexample",
  "public": "dist/",
  "ignore": [
    "firebase.json",
    "**/.*",
    "**/node_modules/**"
  ],
  "rewrites": [ {
  "source": "**",
  "destination": "/index.html"
}]
}

Deploy

After every thing is setup and ready to go the last thing we need to do is deploy. This is done by using this command.

$ firebase deploy

This will deploy your application to the .firebaseapp.com directory. You can use custom domains if you wanted to check out this screencast if you're interested.

If needed you can manage your deployed project and roll it back. The Hosting tab in your app's Firebase Dashboard shows the full history of deploys. To rollback to a previous day just click on the arrow icon on the right.

Next Up

This article is the third in a series of posts where I go over different deploy tactics for Ember. If you haven't already read it check out my deploy your ember application to Heroku tutorial. If you're just interested on just building your application check out my tutorial how to build using Ember tutorial here.

There you have it! It's very easy to deploy to Firebase and I'd recommend anyone to check it out! Thanks!

Questions leave a comment below!

Image Credit Firebase

Deploy Your Ember Application To Firebase