14
32 Comments

Considering Firebase instead of AWS ๐Ÿค”

Hi ๐Ÿ‘‹

I have been using AWS and touched a couple of times the Azure as serverless backend, but now I am starting my small side project and I've been considering firebase as an option too, mainly because of the free "Spark Plan" which to my mind looks a bit better than AWS 12 months of free tier, have someone had experience with both AWS and Firebase with a smaller side project, any concerns I should have?

posted to Icon for group Developers
Developers
on December 31, 2019
  1. 9

    Firebase is amazing. As a front-end developer, I shifted away from configuring severs and databases a long time ago. I don't trust myself enough to build a secure backend, which is why Firebase is such an attractive option. For small side projects, I have never paid a dime. For larger applications, I've never paid more than a few dollars (definitely less than ten).

    I truly think Firebase is heavily underrated. Firestore is amazing, authentication and other features undisputedly unrivalled. Auth0 is the closest thing and it only does the Auth part and it's quite expensive too.

    For all of my own projects as well as client projects that require a backend and do not have one, I use Firebase.

    The only issue that Firebase used to have and more specially, Firestore, is reliability. Firestore used to experience a bit of downtime, but these days it is quite stable. It still has the beta label, but it's great to use now. Also handles slow and unstable connections quite well with off-line caching and syncing when the connection returns.

    I highly recommend Firebase.

    1. 3

      Iโ€™m afraid of the lock in of Firebase, is it simple to switch to another provider like Heroku, AWS or self hosted ?

      1. 2

        I think with well written code, that follows the dependency inversion principle, aka clean architecture from Uncle Bob, you should never have to worry about being locked into a framework.

        Now with that said, I'm not aware of any other frameworks that allow you to query your database from your front-end code like firebase does. So, moving away from firestore means you definitely have to re-write your firestore "rules" logic in your new framework.

        But since you should already have unit tests that let you check that you have redone these permissions correctly, it shouldn't be something that locks you into firebase.

        As an avid firebase user, I've thought and read about this alot. Feel free to reply with any questions.

        1. 1

          Thanks for your answer !
          I always struggle to choose where to store my app: VPS like DigitalOcean or with Heroku or AWS... I spent a lot of time to choose the most cheaper solution for an early stage app.
          I don't know why Firebase offer is so generous (that why I wasn't confident in using it) but as I see it's used by large popular applications. So I don't have to be afraid to back my application with Firebase.

          1. 3

            Yeah definitely, plus the Firebase team themselves are always pushing tutorial content or new features so it is growing as a product. The one bone I still have to pick with it is that for Firestore or their RealTimeDB, there is no way to run ad-hoc queries.

            So if you want to get something you would typically find by running a quick SQL query, you will have to actual Javascript (or whatever language you're using) to query your DB. There's a tool I use called Firestation that let's you use SQL queries on your Firebase, but it's got a long ways to go before it would be close to an actual SQL query tool: https://github.com/JoeRoddy/firestation/

            1. 1

              Thanks for your precious advice. I know who to contact if I have a question about Firebase !
              I'll will give a try on my next project.

      2. 1

        This comment was deleted 6 years ago.

    2. 1

      Good to know that Firestore is now quite stable. Cool thanks for pushing me, even more, in the direction of Firebase for the next project.

  2. 5

    I have been in the same boat and I have completely shifted to Firebase for all my projects now. I was happy with AWS but when I tried Firebase it was just amazing to have everything, that I needed for web/mobile development, at one place.
    The major difference I experienced is the amount of time I spent on Firebase configurations/permissions/security is far far less than AWS which is very important for launching a new project quickly.
    Something to know beforehand -> You will need to move to the Blaze plan though for using (outside of Google) network requests in cloud functions. But blaze plan too offers similar free quota as the Free plan so go ahead.

    Also, I don't think scale is an issue with Firebase. As far as I know IndieHackers is built upon Firebase :) .. as least the login dialog box suggests so .. http://indie-hackers.firebaseapp.com/

    1. 1

      Thanks for the info I didn't know that Blaze plan also offers some quotas that could be free, I am also happy with AWS stack but It was pain in back to get a grip of most of the services I've used, AWS docs are not cool at all, and from these two days that I am playing with Firebase I can say that DX is 10 times better on firebase at least from the start ๐Ÿ™Œ. Oh, cool to know that IH is also running on Firebase :D

      1. 1

        This comment was deleted 6 years ago.

  3. 4

    Firebase is great for a MVP version but you can not compare it with a proper backend in AWS. We used Firebase on a professional project and we found several problems:

    1. Firebase doesn't agree with Clean architecture. Your project is attached to a third-party service. A way to minimise this problem is by using Firebase Cloud Function + proper dns.

    2. The free plan or Spark Plan is ridiculous cheap but if your project is successful and you need to upgrade the plan, it will be quite expensive so you will think to switch to AWS but the problem 1) will come out. AWS is ridiculous complex but it is also cheaper in a long term.

    3. Firebase is a awesome tech but the timing are not great and GCP is not very reliable compared with AWS. And security on AWS is on another level.

    In summary, Firebase is awesome and it's a fast way to develop a MVP (mostly apps which scalability is not a priority) however be aware to attach your project to Firebase if you think it as a long term project.

    1. 2

      Thanks for your summary.

      Do you have any basis for #3?

      From my understanding, the more reliable vendor is GCP rather than AWS.
      They have a web search engine and a movie platform so their cloud service should have high robustness.

      Actually, the monitoring company can't detect server live migration on GCP for even a moment.
      They said, "if Google hadnโ€™t told us that our instances had been migrated, we would have never known."
      https://www.flexera.com/blog/cloud/2013/12/google-compute-engine-live-migration-passes-the-test/

    2. 1

      Thanks for the summary ๐Ÿ™Œ. But what do you mean that Firebase doesn't agree with clean architecture, I guess all of those tools that overly abstract most of the things for you through configurations and similar, are surely tightly coupling you to the platform, if you, for example, take the Amplify and build an app with it and if you decided to exchange it with your custom solution it will be nearly impossible without rewriting most of the parts since all of those parts were by default provided to you by Amplify or Firebase in this case.

  4. 4

    I would also highly recommend Firebase. It's really amazing. It's really nice to not have to worry about making your own secure login system, etc. The only thing is don't forget to configure the security rules. It takes some time to learn how to use them, but everything is in the docs. Also, the free Spark plan is great, but the Blaze plan is amazing, allowing you to do more things. The Blaze plan is a pay-for-what-you-use thing, BUT it includes the free Spark quota. So as long as you don't exceed that quota, you don't have to pay a cent and can benefit from the extra features in the Blaze plan. I would also recommend skipping the Flame plan altogether, even if you want to pay, since it's a fixed $25/month (I think), with a limited quota, so if you use less, you waste your money, and if more, your quota runs out.
    The dashboard is really cool also.

    1. 1

      Thanks for the heads up, I will definitely spend some time to learn more about security rules, and I was also thinking to skip the Flame plan since TIL. that you can set up alerts that will notify you if you went over the billing budget. So I guess no fear if I accidentally burn some cash :D

  5. 4

    Yes, Firebase really shines when you develop mobile-first. I think Firestore is better compared to AWS alternatives. Functions/Lambda performance of the AWS is a bit better and the ecosystem is wider. My primary choice today is Google/Firebase after years of working with AWS. But to be honest for small/hobby projects the choice matters very little, they are basically identical. The main differences will be more apparent at bigger (much bigger) scales.

    1. 2

      Thanks for the reply I was thinking the same that it really doesn't matter which one to choose for a smaller start. I will stick with Firebase since it will be the opportunity to learn some of the Firebase services too.

      1. 1

        This comment was deleted 6 years ago.

  6. 3

    What's your preferred front-end? If you're an angular person, it's a no brainer.

    I run millions of records a month with cloud functions driving the whole thing and my bill last month was $11.

    Within those cloud functions I still lean on external things--AWS SES is good example. It's a thing that Amazon is great at, Google doesn't want to do, so just use whatever works best.

    1. 1

      11$ sounds really reasonable for millions of records I definitely decided to skip the Flame plan :)

      1. 3

        I just went and looked up my bill from last year. Inclusive of a $35-40 mistake that I made in October messing around with bigquery and data studio, I spent a total of $89 in 2019.

        This included over 70 million read ops, 20 million write ops, and 4 million cloud function invocations.

        I will say the console has changed. One thing that I did like a year or so ago was that it was just so narrowly focused--auth, database, storage, and hosting. There are more features there now, but with AWS it always felt like if you missed a week, you'd come back and there'd be 10 new microservices with zero documentation. So a definite +1 for the firebase team on documentation.

        Have fun.

        1. 1

          Wow, you've got some traffic last year congrats! Cheers, for sharing personal analytics it means a lot to see real numbers in perspective. I used to have ec2 for a really small WordPress site and I burnt around 80$ - 120$ year and didn't generate a dime from it. I totally agree about AWS poorly written docs, It's always struggling to set up everything correctly.

          1. 2

            That one is actually for an IoT platform so a lot of that traffic is the devices themselves. In that kind of a situation, firestore really shines. The real-time updates to the consumer app are cool, but then the cloud functions are just executing all the logic behind the scenes.

            I have a few WP installs that I moved over for friends and clients. I had that $300 credit so I tossed a bunch of those on ec2 equivalents over on GCP.

            I'm increasingly using the free hosting on Firebase for other sites as a lot of what I'm deploying is Angular/PWA. That's super easy, really fast, and it would be nearly impossible to ever incur costs from the hosting.

  7. 2

    I love and recommend firebase too. Just be aware of firebase function's slow deploy time. It can be up to 5 minutes sometimes which really slows down development. There are ways to develop locally but it can be hard to set up.

    1. 1

      I will definitely invest some time to set up a local environment, It is always a slower feedback loop when developing serverless backends, but if it's possible to closely replicate offline "local" environment then its cool if it takes 5 to 10 minutes to deploy.

    2. 1

      There used to be a delay for deployed functions to become active, but in my experience for the last year or so they have always deployed instantly...

    3. 1

      Agreed that local development can be annoying. Disagree on latency unless you're trying to count build time which is dependent on your machine.

  8. 2

    My experience with GCP in any form or fashion is that it will be down when you need it. Maybe at a small, MVP level it doesn't matter but I strongly recommend to my clients that they use AWS and not GCP because of the uptime issues.

    1. 1

      GCP indicates downtime logs transparently.
      AWS does... not.

    2. 1

      Hmm didn't know that GCP can be that unreliable ouch. But to me, at least in the first experiment/testing phase is not a huge concern if I experienced some of the downtimes. Also, @Beggars wrote earlier that Firestore used to experience a bit of downtime but that they fixed some of the issues and it's quite stable now :).

      1. 1

        This comment was deleted 6 years ago.

  9. 2

    All of those you mentioned are attractive offerings - pick one. I'm actually more inclined to look at Azure as of late, and this is coming from a AWS background. Heroku also comes to mind.

    1. 1

      I am curious why Azure especially for indie ๐Ÿค” We ware happy with Azure even though in that case Azure was picked only because of the company's politics we ware consulting for. But In my humble opinion, I don't see the many advantages of using Azure over AWS.

      1. 2

        Personal preference really. As long as it serves what needs to be served, and is cost effective for the indie. Both do a good job with onboarding with free premium tiers, cant go wrong with either.

        1. 1

          True ๐Ÿ˜Š I had a fantastic experience with Heroku and can recommend it ๐Ÿ’ฏgood luck with further exploration and learning.

      2. 1

        This comment was deleted 6 years ago.

  10. 1

    This comment was deleted 6 years ago.

Trending on Indie Hackers
Iย spent $0 on marketingย and got 1,200ย website visitors -ย Here's my exact playbook User Avatar 41 comments Why Early-Stage Founders Should Consider Skipping Prior Art Searches for Their Patent Applications User Avatar 22 comments I built eSIMKitStore โ€” helping travelers stay online with instant QR-based eSIMs ๐ŸŒ User Avatar 20 comments Codenhack Beta โ€” Full Access + Referral User Avatar 20 comments Veo 3.1 vs Sora 2: AI Video Generation in 2025 ๐ŸŽฌ๐Ÿค– User Avatar 18 comments Day 6 - Slow days as a solo founder User Avatar 13 comments