Kicking Off With Firebase

MVP! MVP!

If you’re a sports fan whose lucky enough to have a great player on your favorite team, you may have heard this chant blasting through an arena. It’s also the most important acronym and mantra of every small startup as they try to get off the ground.

Minimum viable product

It’s the one thing you need to hit startup gold.

  • No investors?
    • No problem, ship a great MVP and acquire users quickly.
  • No dev talent?
    • No problem, even one person alone in a closet may be able to get your MVP deployed.
  • No money?
    • No problem, you can ship an MVP on the free tier of a cloud provider (and worry about the costs later once you do get an investor or two).

With very little, you and your startup can achieve a great amount of success quickly. Nowadays, due to the hard work of other companies (standing on the shoulders of giants, baby!), we can bring our ideas to reality easily. Today we’ll be taking a look at how Google’s Firebase platform can get us there!

the power of firebase compels you!

There are several cloud providers out there, and I’ve used them all. Specifically, I’m an AWS guy, with several years and certifications on that platform. However, even with their managed services (database, cache, serverless, CDN, etc), complexity can grow quickly and become overwhelming if you’re a tiny startup with limited cash flow. On top of that, their free tier is extremely limited, as you can barely spin up a few dinky servers before they start charging you. You also need to have in-depth knowledge of the platform itself to be able to achieve anything remotely useful. Multiple environments, security, authentication, hosting? Forget about it – you’re gonna need someone with serious AWS experience to get that rolled out.

Enter Firebase.

With a few quick clicks, a CLI install and some CLI commands, you will have a fully secured multi-environment website up and running, hosted, backed by a NoSQL database, with user analytics and authentication, that can accept payments. I honestly was amazed at how quick the setup was, and Google must have seriously invested in getting their initial setup that smooth.

with great convenience comes great responsibility

I’ll spare you the technical details on starting and deploying a Firebase project – their concise documentation and tools already do a great job of that. What I will do is dispense some sage-like advice for you to keep some things in mind in order to prevent any unforeseen disasters (like these guys: https://hackernoon.com/how-we-spent-30k-usd-in-firebase-in-less-than-72-hours-307490bd24d).

  • Don’t worry about secrets
    • Not the ones you keep from your family and friends. The ones that you need to access APIs. Through some modern miracle, Google has introduced a way to allow you to simply cut/paste their configuration into your code without exposing you to disaster. This will free up developer cycles to be better spent on database design and new features.
  • Have a backup plan
    • No, not for your whole life. For your database. Thankfully, you can leverage Google Cloud to backup your Firestore database to an S3-like bucket. You can also use this to migrate to another noSQL provider if you’d like to down the line.
  • Start looking at Functions early
    • You can very quickly get your site up and running. However, there will inevitably come a point where calling Firestore directly isn’t going to be cost-effective. Start thinking about how to protect your database with Cloud Functions to keep the reads and writes down. You’ll also need these to process payments, add rate-limiting, etc.

Of course, there’s alot more to think about when rolling out an MVP on Firebase. It may be difficult to let go of the reigns if you’re coming from another cloud provider, but if you do start embracing the simplicity and ease of Firebase, you will find that will be able to either scale fast or fail fast and start shipping the next MVP! Either way, Firebase is my #1 recommendation for new ideas.

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *