Why you should be careful about Firebase and Google Cloud?

Amton
6 min readMay 5, 2020

--

Update 1: After 30 hours, we still cannot verify our payment method even we’ve reached the live chat support team twice and they said that they understand this is an urgent case and getting priority treatment. But nothing’s changed, except an email confirm that they have received the request few hours ago.

Update 2: We’ve submitted the bank statement one hour ago.

Update 3: They gave me the word that they would resolve this issue in the next 2 hours. Our site has been downed for 38 hours.

Update 4: The site has been downed for 60 hours. Now, I could understand little more about why we cannot be verified. Me and my co-founder are living in the different countries. Initially, we decided that I would be the one who creates the Google Cloud account and pays the invoices. But unfortunately, I was lost my card. Then we changed the roll. My co-founder will use his card to pay the bills. But unfortunately again, when I added him to the payment user, he put his card directly to the payment method with my name and my address. Then now they said to me, because of the photo of the card doesn’t match the name and the address so they could not re-open our account.

Update 5: Finally, We recovered the account by submitting the bank statement and explain all the transactions. As said above, if you’re working with a multinational team, consider using a clear payment method. Even though it is partly our fault, I still keep this article. Because I didn’t receive any emails warning about the payment method.

I changed the title from “Why you should not use Firebase and Google Cloud” to “Why you should be careful about Firebase and Google Cloud” because I think Google Cloud still is one of the top cloud platforms. But BE CAREFUL about GCP, especially is the billing method. Because they reserve the right to change, suspend or discontinue any aspect of their services at any time, including any services or any feature without notice and liability as their Payment Terms of service said. I know lots of people are using Firebase, but be careful about Firestore. It isn’t open source and isn’t similar to any other open source database (maybe it’s similar to MongoDb, but you know, MongoDb doesn’t support nested collections), that’s mean when you need to change your backend you have to rewrite the architecture and you’re relying on the Firestore and Google Cloud. Thus, when your project is suspended you will not able to move the data to another vendor. Just one option: wait for the decision of them.

Source: Internet

Background.

According to this post since 2018, but there are not many things that have been changed. Even they updated their account management policies to be friendlier to GCP customers

https://cloudplatform.googleblog.com/2018/07/improving-our-account-management-policies-to-better-support-customers.html

Our project is a blockchain gaming service, we chose GCP because they have really good products behind such as Firestore, Cloud Functions, Cloud Pubsub, Kubernetes, … and believe that there will be no downtime exists.

What happened.

We have run the project for 2 months with all satisfied. The Cloud functions and Firestore is auto scaleup with less code and management. Even there are 100 requests/second the function still works great, except an unexpected billing came from BigQuery, but finally we’ve controlled that.

Then today (3 May 2020), we’ve received this email:

The Timezone is not correct
But as you can see, they immediately suspended after first notice

Then immediately our project has been turned off. All downed, Firebase downed, Cloud Compute Downed, Cloud SQL downed, …

At that time, my team did not recognize that, because it was about 3 AM in my country’s time. Then 3 hours later we started to verify.

They required a photo of the VISA card and a photo of an ID issued by the government. My billing account was mine, but we used a co-founder’s VISA card in order to pay the invoices. Unfortunately, he hasn’t had the ID, so we used the passport as the replacement.

About one hour later, we received this email: “Your Google payments will remain suspended“ (Please note: Due to Covid 19, the response time might take longer than normal expected)

We don’t understand why? No reason give back, we assumed that the VISA card wasn’t valid. So this time we submitted a screenshot of the SMS bank statement as the replacement and explain about our situation.

Then about 1 hour later, the email responded: “Your Google payments will remain suspended” with the same content above and asked us to verify again. Then we tried again, this time we replace the passport by a driver license. But it still didn’t work, we don’t understand why and how to make it work? While our customers are ablaze with anger because the site is downed for almost 6 hours. They cannot do anything as well as our team too.

Now we tried to submit once again, but more than an hour, we haven’t received any responses. While my co-founder is trying to get the bank statement. But unfortunately, he is abroad and the processing might take more than 1 day or several hours.

No backup, no transfer ownership available.

We’ve tried to backup or transfer the project to another account to make the website up, but that couldn’t because the project was suspended. We have some backup files, but it doesn’t enough, we’ve never planned to have an automatic backup on Google Cloud because we’ve never thought about this situation is occurring today. That’s our bad. Now all our data might be lost, our website will be lost if the verification cannot be passed even the card is our own.

They have full control of your project.

Have a look again

By their Payments Terms of service, they reserve the right to change, suspend or discontinue any aspect of their services at any time, including any services or any feature without notice and liability.

So that means they were right when immediately suspend our project without any pre-notifications.

They were right because I was press “Agree” when I registered the account.

So we should not complain about that, right?

No care about small business, individual, consumer account?

Scroll to the comments section of @serverpunch’s post

Is there just one way to handle this?

Hey Google! Is there just one way: immediately suspend the project then ask to verify the payment method?

Conclusion

Should to use Firebase and Google Cloud?

Should not to use Firebase and Google Cloud?

Oh, I don’t know how to answer that. Because Google Cloud is owning good products such as Firebase Auth, Functions, Firestore,…. it makes the development time is shorter. But please be careful about the billing method.

Lessons Learned

  1. Always back things up even though it’s AMZ Web Service or Google Cloud.
  2. Consider to use an open source platform rather than vendor lock-in like Firebase.
  3. Consider to use enterprise account to get better support and treatment.

--

--