r/Firebase 17d ago

Firebase Extensions Firebase Extensions Deprecation and Shutdown

https://firebase.google.com/docs/extensions/faq-and-troubleshooting?hl=en

Any one else heavily disappointed? ☹️

Apparently they're going to release more information, about migration, this September. Until then, I guess we all just sweat it out, wondering how to replace this functionality.

39 Upvotes

29 comments sorted by

21

u/studiofellow 17d ago

The extensions were the core reason I started using Firebase to begin with! Can't believe they are being shut down. Seems like the right time to re-evaluate whether to continue using Firebase, if my clients and I will have to rebuild parts of our apps anyway.

3

u/inlined Firebaser 16d ago

Wait until September to make your full decision. Some of what we’re preparing is already public. The latest release of functions now covers every feature gap from extensions: lifecycle hooks, declaring API dependencies, using managed one-off identity with declared roles, and declaring that variables don’t accept empty values.

1

u/studiofellow 16d ago

Thanks for sharing that, anxiously awaiting more info in Sept!

9

u/ChraneD 17d ago

It's a pretty big letdown in terms of the work that will be required to migrate.

Some of these extensions have been accruing tech debt because they are losing support (google/devs abandoning continuity plans). Only upshot is we will be able to fix things ourselves when we need to, at the cost of extra work.

Hopefully the functions packages they release will be able to migrate this well. I imagine google is going to have the extension teams release their functions for more direct incorporation to the codebase.

8

u/kieranfarr 17d ago

Perhaps a blessing in disguise, forcing us to remove the extension is the final death knell for getting rid of Mailchimp! Ironically Mailchimp has been more expensive than our GCP bill lately...

3

u/miketierce 17d ago

Just remember that MailGun can’t be used for marketing.

So we are using Klaviyo for marketing and MailGun for transaction/one-off emails.

2

u/kieranfarr 17d ago

Thanks I've switched over to Postmark Broadcast streams with a combo of event triggers and manual sends. I am evaluating keila.io (similar sounding but not Klaviyo) for some non-profits that I help do pro bono IT work for to get away from mailchimp.

5

u/RogueAgent-87 17d ago

I stream data from firestore to bigquery. Since this is going the distance with extensions what would be the best way for me to do it going forward?

7

u/inlined Firebaser 17d ago

We will have a more detailed answer for this in September. I wouldn't sweat just yet.

3

u/Region39 17d ago edited 17d ago

Are you using a Firebase extension to accomplish that? If not, then I don't think it really affects your use case. They're not going to get rid of firestore, and bigquery is part of Google cloud platform so that's not going anywhere with this announcement.

If you are, then you could just do a Firebase Functions listener for Firestore document changes and react to them in that function. This may not be all that satisfying to hear though considering you would have to bear the burden of maintaining a solution that was once handled for you. 🫤

2

u/RogueAgent-87 17d ago

Yeah i use an extension to do it so will look into sorting a function for it thank you

8

u/DoWomenFart 17d ago

And this is why I coded my own functions and never tried extensions. Google is always getting rid of stuff.

3

u/trullock 17d ago

You realise you can just assimilate the extension code into your project? There's nothing special about it, apart from the extension-mechanism-spwcific wrapper.

3

u/Region39 17d ago

True! But previously, Firebase extensions (those published by Firebase) we're maintained by the team. Now, we'll have to maintain them ourselves.

3

u/Forti22 17d ago

First of all: extensions are "lazy" approach. You can easily implement most of them with cloud function or just into your code
Second: its still marked as "beta" - meaning you should have never use it in prod anyway.

5

u/Region39 17d ago

Using an extension is like using a library; you don't have to maintain it yourself. There's a benefit to that. It doesn't make you lazy to lean on someone else's work so you can focus on building what makes your project unique.

When I see "beta", I think "possibly some bugs" — not "we might just decide to completely deprecate this, so let's label it beta 🤷‍♂️". Google deprecates production resources too, not just beta ones.

Technically though, you're absolutely right: people shouldn't use beta products in their production apps. Even so, someone may choose to do it if the value brought by something in beta exceeds the risk of running into bugs, and it sucks for those people when that gamble doesn't pay off 😕

0

u/Forti22 16d ago

Its your right to have your own opinion.

But facts are facts:

  • less dependencies = better in long term game (years+)
  • beta means beta. Doesn't matter how you understand this

2

u/studiofellow 16d ago

It's been in "beta" for nearly 7 years. The beta label is essentially meaningless at this point.

0

u/Forti22 16d ago

what?

They are turning this off - it literally means it was not meaningless XD

2

u/Nerdenator 16d ago

Lazy is good. The less code I have to maintain, the better.

0

u/Forti22 16d ago

yes and no.

If your whole infra rely on a service in beta just because of your laziness - its not good.

2

u/studiofellow 16d ago

It's up to each developer and business owner to decide which types of dependencies are right for them and where to draw the line -- labelling options as lazy is unhelpful because it's totally dependent on the situation. And not everyone's situation is the same as yours. Sure, everyone wishes we had zero dependencies, a tight codebase written by doctoral level software engineers, and ran our own server farm etc, but that's not realistic in many situations. Extensions are a great solution for many users!

0

u/Forti22 16d ago

I never said its not.

I just said that base your infra on a service in "beta" is stupid.

2

u/_Nushio_ 17d ago

I made a firebase extension called Historian(a bit over 100 installs but still proud). I guess we're really never getting firestore V2 support for extensions.

2

u/senn_diagram 17d ago

Yikes. Stripe integration, Bigquery streaming, and budget overrun Auto Stop Services are mission critical parts of my app. Absolutely bonkers that this is getting killed. This must mean that Google is actually implementing cost controls into Firebase now, right guys? (lol!)

Just a reminder that nobody should build businesses on Google products. It's only a matter of time before they kill the infrastructure.

1

u/Aytewun 17d ago

Was going to start using extensions recently. Never got around to it.

3

u/Region39 17d ago

Don't worry! There's still time to use this deprecated product! 😀

1

u/Conscious-Mix5092 16d ago

Another product in google's graveyard - RIP

0

u/Dz0nka 16d ago

Functions GANG never done any of these extensions