A startup’s Firebase bill suddenly increased from $25 to $1750 per month
medium.com
medium.com
> They have no phone number to contact, no way to dispute this other than email — which they have ignored us for over a month now without replying to our continued requests. Trapped. Doomed. We have no further options.
Sounds like Google did a great job with Firebase. Definitely gives you that Google-feel of unresponsive support and no hope when you have problems with any of their services. I bet they also have a "community" support forum or Google Group full of helpless people talking to a virtual wall. (Edit: Yep, they recommend Stack Overflow, Quora, and then their Google Group.. lol. Some things never change)
"What do you mean, you retain a running instance of every previous instance I pushed?!"
Fun times.
What? Seriously? Is this documented anywhere?
Would you recommend against using GAE?
I've been burned so hard by them, I'd recommend against using anything Google.
It was more of a mental "but but my decade-long history of gmail" thing, but it turned out that really was less of a big deal than I thought. I now have a nice custom domain and I forward my gmail to my fastmail, updating subscriptions every so often. Eventually gmail will receive no more mail I care about and I will remove the forwarding altogether. Its getting there!
Looking back on it now, about a year after migrating, my only regret is I didn't do it sooner.
If you aren't a FastMail customer yet, you're gonna assume we're shills. We're not, it's just the sort of quality product that makes you want to tell others. It's like having found Gmail in 2005.
No angels anywhere.
[0] https://serverfault.com/questions/218615/mail-server-checkli...
I'm not a big account with them, surely trivial compared to those mass domain parkers you mention, but they've never made me feel like I was less valued as a customer. I have received calls from humans just to ask me if I am currently satisfied with my service with them.
Especially if you have a business-critical service, this should simply be a baseline requirement for support, but it's becoming shockingly rare these days.
SPF is essentially a self-maintained whitelist.
Blacklists are public and searchable. Something to check after dealing with an infected machine, for example.
Ironically, commercial spammers have the best SPF records. And DKIM. And all the other goodies.
My google usage is now
1. Occasionally watching Youtube videos in an incognito window
2. Very rarely using !g to search Google via DDG
3. Using Gmaps in an incognito window a couple times a month
and that's it. I don't find that I miss it at all. If I had to stop using Youtube and Gmaps, I won't miss 'em.
Now, if only good and valuable startups weren't getting bought by google by the dozens :( I guess it's your cue to start migrating to something in house when it happens.
So, for some applications, GCP works very well.
Yes, for that reason a POC I made for a side project costed almost 100 bucks to me (I was the single user)... I never checked the current bill because I was sure the total cost would have been around 15-20... when I got charged I noticed all the previous pushed versions had a single instance running, so the costs were incremental...
It may be my fault for not adequately reading all their caveats, but it seems to me that the default experience shouldn't be like that.
I love Google, but their Cloud Platform is still incomprehensible to me.
Support was somebody in a different timezone who complained when I didn't answer my phone in the middle of the night. I quite liked the Google Cloud offering, but to get so burnt so quickly... stay away.
We don't want to be calling customers in the middle of their night while they are sleeping. Its not an effective way to resolve issues. We need help identifying when we fall short so we can fix the issues.
Ways to let us know: 1) fill out the survey when your case is closed. We review every survey but less then 1% of cases get the survey filled out. 2) tweet your case id at us and it also goes through our review process 3) email me (tsg@Google.com) and I can correct the problems. 4) GCP slack community has a whole bunch of active Googlers (and the community will flag one us down) if you are having problems with the support team.
Very typical from Google.
Unfortunately Google as a company and their corporate practices are nothing like that.
But it's pretty easy to look a bit into the future, and predict what we would see during "Extend and Extinguish" phases of TensorFlow project.
This is Google support summed up perfectly in a single sentence. It really is appalling.
Never quite understood what's "appalling" about it. They've never had strong support for any dev/cloud-oriented services. I know some folks who've had good experiences, but those were exceptions, not the rule.
I'll say, I get the frustration with it, but it's why I've never considered using their cloud services for anything. I had a client who asked me to migrate all their stuff to google 'cloud compute' and their 'sql cloud' offering last year. It was a performance disaster; queries that were minor .1ms on localhost or in the same network were suddenly 18-20ms hitting google cloud. Spent a few days trying to dig in, and a few responses from various groups were "shouldn't be that slow" and "works for me" and that was about it. Gave up trying to get any real response from google (we may have got a 'looking in to it' response - I don't remember).
Thing was, I knew going in it wasn't going to end well, I just wasn't sure exactly why (maybe that's just too cynical of a view, but I prefer 'realistic').
You know this by
a) hundreds and thousands of horror stories from people saying "I did not get any support from google". You can counter that with "here are people who did get support", but the existence of the thousands of support nightmare stories out there gives you enough evidence to know that this isn't really "supported" in the way you might expect.
b) there are no phone numbers. https://firebase.google.com/support/ - no phone numbers. That's, of course, not the sole criteria you should use to judge potential support, but... it's google.
It's 2017. We have multiple years of knowing what Google's track record is re: support for paying customers. Outside of large adwords advertisers (where they make a lot of money), it's non-existent from a practical standpoint.
The big problem here is that firebase was fine until google acquired them.
I'm reminded of a time when I had a bad experience at a restaurant. Local place I went to with friends from work. We went... probably 4-5 times per year, and I loved the chicken sandwich they did. Last time I went, it was ... bad. Not what I'd expected at all. It was different.
Server asks "how's everything?". I said I was disappointed that the chicken sandwich had changed - it was not as good as before. Now... I wasn't actually complaining as in "comp the meal", but I was not a satisfied diner.
"Nothing's changed sir".
"um... yeah - this is nowhere near as good as it used to be".
"You're wrong, nothing's changed".
We had a back and forth, and they went back and came out "the cooks say the recipe is exactly the same".
This was getting a bit ridiculous. Manager came over, same exchange. He leaves, the comes back and says "they're right - the recipe is 100% the same. We have changed a few ingredients last month, but it's the same".
Maybe that doesn't actually relate to the google service situation at all now, come to think of it, but I was reminded of that situation when I started typing it :)
Oh yeah - nothing changed from OP's end, except how the new owner (google) decided to start monitoring and accounting for usage. Think of a "$9.99 all you can eat buffet" getting loyal diners, then changing owners, and the new owners giving some people a $95 bill at the end of the meal because they'd decided to also charge for any visits to the salad bar over 2. Most diners would never hit that limit, but a few - loyal diners for years - would have been (rightly) upset at the after-the-fact change.
I know this but to say everyone does or should isn't exactly fair. As well, you assume I am holding the purse strings, that I'm in any way responsible or even have a say in procurement. This may be true in my own business (it is) but not necessarily elsewhere, like my clients (it more often than not isn't) and you'll just have to live with poor decisions made on your behalf.
Also quite often, there's a sunk cost that makes switching that much harder. So no, it's not fair to say "Google has shitty support but that's ok because we all kind of know this." Paying customers can and should complain about this, loudly, shouting it from the roof tops. Ideally they vote with their wallets and just leave Google, but again that's just easier said than done in many cases.
Some semblance of professionalism shouldn't be too much to ask from one of the world's biggest corporations, an ask coming from paying customers no less.
That's the ONLY thing that will ever make this change, but it rarely happens because "sunk cost" rationalizations (and "maybe it'll get better next year!").
Shouting from the rooftops for years has not worked. This is not anywhere near a 'new' problem.
Yes, possibly some people don't know it, and yeah, I totally get that "you'll just have to live with poor decisions made on your behalf.".
I live with poor decisions all the time (mine and others'). But the notion that we can bitch about it on forums, or make 'formal' requests for better support - none of that makes a lick of difference to them (or, demonstrably hasn't for several years). It's "google", so some people will flock to it because of the brand, or because it's not azure, or aws, or whatever. Or to tick the 'cloud' box on their spreadsheet. Or because google gave them thousands in free credits to switch.
"Some semblance of professionalism shouldn't be too much to ask from one of the world's biggest corporations, an ask coming from paying customers no less."
But... it demonstrably is, and has been.
And... you'll get a client who will say "I can't believe this, email someone, get this fixed". At some point you have to push back and say "no, this is simply not fixable, you have to live with XYZ, or pay the cost of moving somewhere else".
An extremely large customer, maybe, possibly, might have a bit of say, perhaps. But even if you're dropping millions with them... for a company that measures revenue in hundreds of millions of dollars per day, you probably won't hold much sway. If you had that sort of budget to spend, and it was that critical, you'd likely be doing enough due diligence that research in to actual support/service levels (vs what the sales contact tells you) would be on the agenda.
Vote with the wallet is the only viable/impactful approach, and people have to be willing to forgo the sunk costs.
And for people that don't know up front - they always had the opportunity to search (google) beforehand. If they choose not to - caveat emptor.
10 years ago, we could possibly be forgiven for choosing google's services (GAE, etc) because there wasn't as much of a track record to look at re: support, etc. There's no good excuse for starting a project today on google compute and claiming ignorance of their support levels.
If I've misrepresented what you're trying to say here please do correct me, because I clearly don't get it. If I haven't, I suppose we'll just have to agree to disagree – I think customers should shout from the rooftops till they're blue if they want to, even if it seems to lead nowhere.
But to avoid it, you generally do research ahead of time. And/or be willing to actually walk away from your 'investment' on their platform and start again somewhere else.
In the OP case, they didn't sign up with google in the first place. It's doubly shitty for them, because they didn't ask for this, and could not have known in advance that google would end up being the support provider. Similar to when I refinanced a house, and 6 month later, my 'servicer' sold my loan to someone else with much crappier service (charge me $3/month to take an electronic payment from me? I wouldn't have chosen this as a service option).
Yes, paying customers should go elsewhere. Complaining about it to google directly and indirectly for a decade has not noticeable improved their support for their cloud offerings.
Suck it up or go elsewhere. You can keep registering complaints with them, or organize digital protests, or whatever, but to get better service, you will likely have to go somewhere else.
"I think customers should shout from the rooftops till they're blue if they want to, even if it seems to lead nowhere". Of course they can. They just need to realize it will not change the quality of support. Someone earlier (you?) said to 'vote with your wallet'. Shouting from the digital rooftops about how crappy service X is, but continuing to pay them, is a waste of time at best, and enabling at worst. Leaving for another service is voting with your wallet/budget, and it needs to happen.
In the very short term, agreed - it doesn't do much good. But shouting from the rooftops internally (at client, management, stakeholders, etc) may do more good in the medium term.
Also, from the article, Firebase wasn't google when they went in, plus it was a side project that suddenly took off, not a thought-out business plan.
And yes, on the comic - ok, not everyone "knows" everything up front. But... you have search engines (google, even!) to do actual research beforehand.
I see small business folks and small consultancies do far more research on comparing various $7/month hosting plans via hosting review sites than I see people researching their decisions to use AWS vs Google vs Azure.
1. Things to work 2. People to answer when things don't work 3. Things to start working again in a timely manner, with timely and concise updates along the way
Points two and three carry a lot of nuance, but Google's support does not. It's a virtual wall that people cry to and get no response back from, except for the rare few occasions when the Google deities decide to grace forums or mailing lists with their presence. It's just not a serious offering.
Now, you can pay extra for support, but even so it's going to be appalling. You probably will get to talk to someone at least, but in my experience you rarely get ahold of anyone who'll actually read what you've sent them, much less actually try to help.
My take away is that support and customer service is just not a priority for Google, what so ever. It's not even a low priority thing, it's a no priority thing.
To be honest, if all of my Internet requests were 18 ms slower I wouldn't even notice.
if I read you correctly and it wasn't a typo, could you mention why you cared so much? The .1 ms you quoted on localhost is extraordinarily quick and I wouldn't expect it to translate to a cloud...
To (re?)clarify - this was 18ms per query to the SQL cloud (from a google compute engine).
Yes, were there things that could be done to reduce that? Of course. The other guy on the project put some caching in, reduced duplicate DB calls, etc, and got it down to around 3-4 seconds, but without severely diving in and learning far more about this inherited codebase, there wasn't much that could be done to make it much faster.
The other steps involved heavier caching, which changed the actual functionality of the service that was contracted before. "real time status updates" had a functional definition of being within X seconds, IIRC. Caching everything so 'new' information wasn't necessarily available to an end user for, say, 3 minutes, wasn't an option, without getting a lot of buy-in from a lot of people. Not saying it wouldn't work technically, but the client relationship was already strained.
The move to google was primarily to 'save money' (because someone had $10k service credit with google), but the effort to make it work well on google cloud and SQL combo (wasn't my call) was too much.
You can say this isn't google's fault entirely - you'd probably have a strong case - but not everyone is moving pristine clean/strong/good code over, and problems with the original base were amplified by seemingly small issues.
I hope you don't think I'm blaming your code base, but just out of pure curiosity, as an amateur question could you mention why the SQL calls couldn't be done in parallel -- did each one depend on the next or something?
At the high level I get everything you just said, just curious about this point, if you remember.
The above reasons are also why I don't use any open source software developed or maintained solely by Google. There's no guarantee that Google won't just stop maintaining it after a year or less. For a somewhat recent project, my co-founder and I evaluated using Angular2 for the front-end of our application. During our evaluation, we learned about Angular4. Knowing about what happened between Angular1 and Angular2, we decided to steer clear of the angular ecosystem. This decision also made more sense from the performance and ecosystem side of the argument. Most groups that develop open source software do their best to ensure that there is a well documented and simple upgrade path. Look at Django, rails, React, Vue, postgresql, etc for example. As far as I have experienced, Google products offer no such simple upgrade path.
To be honest, I'm not really sure what value Google is offering anymore. The only quality product from them I still find any use for is Gmail. Even Gmail has competitors that do Email better. I guess there's also youtube, but Google are kind of shitting that up as well.
I think the tech space needs to walk away from worshiping Google and Facebook. In all reality, the technical quality of their products is lacking and their entire goal is to lock both consumers and developers inside their own walled gardens.
But this is a somewhat easier choice to make because I still have the code locally. Google could stop supporting it tomorrow, and it would not be fun, but things wouldn't stop working, unlike the firebase situation above, where the option is "turn off your app".
That said, I've generally been using knockout and vue (more vue recently than knockout) and both have been fine.
"Third, they don't have any actual support at all for anything". There's a lot of people on this thread that feel like because they're paying for something they should get support. And... while I'm sympathetic to that viewpoint, and agree they should, we've had 10+ years of seeing google consistently under- or non- support many services that people seem to want to base their entire businesses on.
edit: Meant, even if you lose you have cost them significantly an that has the intended effect of signaling they should improve customer service.
Worst case, if AWS or Google decide to fuck you over, let the bill bounce. This way you've still got funds on hand to deal with the fall out and some leverage to negotiate a solution.
After all, they're just being helpful in managing your money and paying your suppliers.
I'd advise not using debit cards for anything, under any circumstances, and relying on the better protections that credit cards provide, but it's a losing battle. My debit card is ATM-only.
This is generally a good approach for all sorts of reasons, not just protection from over enthusiastic cloud bills.
Keep most of your funds in one bank (and never use the cards). Transfer from this account to one or more other accounts with other banks and use the cards on these secondary accounts to pay for things. This way you're protected from suppliers over billing and banks going crazy with unarranged overdrafts (which aren't secured so absolute worst case you just tell them to fuck off and default on it).
Basically, the trick is holding on to your cash. Much harder to fix things rapidly if you're having to negotiate with a third party between you and the supplier (which is the case with a credit card company).
I thought what they were doing is applying all your debits, charging you if that puts you into overdraft, and then applying any credits. If they applied the credits first, you wouldn't go below zero.
Either way, you're trying to charge $46 against an account with $20, but one method results in 1 fee and one method results in 3 fees. The issue of credits vs debits you mentioned can compound this issue.
Consider a bank account with $20 in it, the day before payday, when you forget your World of Warcraft subscription hits today instead of tomorrow. That's $15. But you buy:
* Lunch: $5
* Coffee: $2
* Dinner: $5
* A late-night snack: $5
Then, the subscription hits at midnight.If the transactions happened in-order, the subscription causes the overdraft, and you're charged $25 or whatever (yeah they are very high). But in the way banks used to do it, they'd take your total ledger for the day, and order it by highest $ first. So, subscription first, $5 left. Lunch, $0 left. Coffee, dinner, and snack are three transactions when overdrawn, so that's $25 * 3 = $75 in fees instead.
Banks claimed that this process was because you'd probably want your highest-amounts paid first, as it'd be something like rent money. In the end, it means way more fees for them, though.
$75 in fees is especially brutal when you don't have much money in the first place; it pretty much caused me to not be able to even go to 7-11 for a candy bar for two months.
I only wish setting up virtual cards were as easy as setting up a new mail box. I know there are services out there that lets you do this, but I've yet to find one that works globally and is easy to work with.
The second bank account is really more for protecting you against black swan events. If all your accounts are under the same bank and have the same owner, there's nothing stopping the bank taking funds from one of your accounts to make up for shortfalls in another.
I'm wary of giving my card information to companies outside India because I don't have this protection.
True for Indian companies but what if you get charged via Forex abroad? For me - Google or Steam - don't required 2FA. All I have to do is to enter my number, confirm CVV then zap. It gets debited. I do get a call from my bank (HDFC) asking if this transaction has been initiated by me, if I say yes, they let go.
The Flash UI looks like this http://mayoyo.tokyo/jJ7.png
They used to have a mobile app but it was discontinued since it didn't support 2FA.
The only reason I don't use them for everything is because I get better cashback/points with other cards.
> Is Emburse available outside of the U.S.?
> Only companies incorporated within the U.S. may register for an Emburse account. In addition, the primary account owner must be a resident of the United States with a Social Security number and a verifiable physical U.S. street address (no P.O. Boxes). We do not offer Emburse accounts to residents of Puerto Rico, Guam, the U.S. Virgin Islands, American Samoa, and other U.S. territories.
> What countries are you available in?
> We're only available in the United States at the moment.
EDIT: I have no affiliation with privacy.com; I'm just a satisfied user.
The problem (in the article at least) isn't being surreptitiously billed a large amount, it is cost of a critical service changing dramatically without warning.
Also, nothing gets them talking to you faster than a bounced invoice :)
It's when a big bill lands in error or is introduced sneakily that having a separate "cloud only card" can save you. In that case, it's the supplier that's gone nuclear and you're just responding in kind.
Sorry, but this is the risk of using somebody else's service -- especially Google's -- as a critical component of a business. It may be marvellous for developers not to bother with infrastructure for their own service, but this strategy likes to come back and bite in the ass.
Edit: just remembered we're using Google's Cloud Vision API and that's billed to the same debit card. So, for UK accounts at least, they take debit cards.
But Paypal, for instance, can only empty a bank account that is used for nothing else, any service like this (open-ended liabilities with shitty/no support) is isolated to debit cards, etc. Nobody gets permission to charge open-ended amounts to credit cards, and nobody gets automation rights to the "real" bank accounts, period.
There's a business model here somewhere for someone to automate all of this. It involves substantially more time to keep organized than my prior two-banks/two-credit cards model. Personal finance apps just aren't designed to treat, for instance, debit cards as transient.
As others note, sure, services that do something like this can still come after you. But who has the money in their pocket right now matters a lot when resolving disputes like this.
I don't understand why the larger internet/tech community keeps giving Google a pass on this. Anything where money comes in or out should ultimately have a support line where ultimately a human customer service agent can respond.
Is there a certain size of vendor or price point where we expect to have human support and an SLA for response?
Yes, when they control the switch that can kill your business.
Last week at thegoodfellas.com.br a disgruntled ex-employee managed to erase all their Gmail accounts and change the administrator account in order to prevent recovery. You can recover a deleted account in 5 days, but you need access to that administrator account. Unfortunately they could not recover access to the administrator account in time and lost all their G Suite data - you may blame them for their flawed firing process but shit happens and when it does a reseller can be fast enough to prevent a tragedy.
Disclaimer: I run a G Suite reseller operation
G Suite has incredible phone support. I've called 3-4 times over past 5 years and never waited more than 30 seconds to talk to a knowledgeable and capable tech who resolved the issue immediately. No BS troubleshooting steps, just straight to the heart of the issue.
I recall a couple Irish guys, one Eastern European and one Indian, but none with too-strong to parse accents (these were their locations -- relevant to make the point that Google clearly does have multiple live phone support centers around the world). All fully willing and capable of resolving the issue without passing me around. These weren't incredibly complex issues, but at least a couple were glitches requiring fixes on the backend (vs. mistakes on my part).
Has anyone with a G Suite account and a Cloud account ever tried contacting G Suite Support for the cloud side? Might be worth a try -- they've been helpful for me in one case where the issue wasn't strictly related to G Suite.
A local reseller can pay you a visit and verify the situation but hands are tied for the friendly Kumar sitting at a helpdesk facility in India.
Here in Brazil it is even harder, because most customers are unable to communicate well in English and support in Portuguese is not done by native speakers.
Pretty simple: opt-in KYC. Give people the option to email/fax you their passport or birth certificate or whatever, at any time after they set up their account but before the account is compromised. Extract the relevant ID numbers from the images; then store those numbers, encrypted, the same way you'd store "password recovery" info.
If the account is later compromised on their end, just ask the person attempting to do the recovery to send through the same stuff again, and compare with your recovery fields.
It's essentially the pseudo-biometric, pseudo-"something you have" equivalent of a Secret Question.
Shout far and wide (twitter, facebook, reddit, etc) that [Big corporation] is screwing you. If you can give it some sort of spin - like racism or gender equality - all the better. Just kick up as much of a storm as you can.
I guarantee that [Big corporation] will be forced to respond.
(I say this semi-jokingly, but it is sad that this a) works, and b) that sometimes it is the only way to get their attention)
If you're a business, there's no excuse not to pay Google for support. It's $150/mo; significantly higher than the $25/mo infrastructure bill the OP was discussing, but not unreasonable if you want to have a chance of guaranteeing QoS to your customers.
Also AdSense, but there's obvious reasons they support that.
There are a couple of things I’d like to clarify for the group, to help folks understand what happened here, and hopefully help others avoid the same problem.
1 - The Firebase Realtime Database charges for SSL overhead on all requests (we charge for all OSI Layer 5 network usage). We’ve always had a policy of charging this way. Unfortunately, we introduced a bug late last year that began undercharging for SSL, so when the bug was fixed it surprised many people who had gotten used to the lower numbers. For most people, the change was very small. For a small number of people though with exceptional use cases (ie. tons of small network requests from IoT devices without support for session tickets), this can result in a larger change. We identified and contacted developers who were significantly affected, but this customer didn’t get the email. We should have done better. (we mention this change in our FAQ -- https://firebase.google.com/support/faq/ -- under “Why was my Realtime Database reported bandwidth lower than average”)
2 - We recently started actually enforcing overages on legacy plans and our current fixed-price ($25/mo Flame) plan. This is new -- in the past, we allowed unlimited usage on every plan, since we hadn’t built the tools to control this. This meant that many of our developers were getting far more than the listed limits for free. So you may start receiving emails now warning you of bandwidth overages, not because your usage patterns changed, but because we’re now enforcing limits for your existing usage. If you upgrade to the Blaze plan, you’ll start being billed for your full usage amounts -- so double-check your database’s “Usage” tab before upgrading.
I’ll be looking into our profiling tool to see if we can improve it to give a more complete picture of costs.
Again -- I want to apologize to the poster for the poor support experience. If others on the thread have had similar problems and feel they are not getting the attention they want from support, feel free to email me directly as well: andrew@firebase.com
As of wrongly billed resources - to be honest, you are half blamed for that. I often create apps and base on SAAS reporting to see if the script behaves as expected and uses as many resources as needed. You have misled developers to believe everything is alright and now you are punishing them. I would expect some credits for time being and "transition" period.
We do often give credits to help in situations like this, though I can't speak to specifics publicly. We're working with this developer to try to resolve the issue, and we'll do so with other users who run into similar problems. This user did contact support, but we dropped the ball here. We'll be reviewing our support to find other devs we might have missed.
Googles real products are made out of meat [1]
I also wonder who shifts through the tickets themselves. Is it the engineer straight out of Stanford with 150k combined compensation and no serious training in customer satisfaction? The curious developer who built the product and wanted to see what people thought of his/her baby? A lower paid employee in a country with a lower cost of living? Some combination of the three? I feel like the culture at Google might preclude it from ever having good customer support except for the highest paying customers.
I'm starting to really fucking hate Google.
Just go to https://support.google.com/googleplay/?hl=en and click "Contact Us" in the top right. All the menu items I clicked that don't have straightforward solutions went straight to a menu where within 2-3 minutes I can get live chat or a phone call.
I've also had no problems getting help with my paid Google Apps account when I need it. For cloud there's paid support with a 4-hour response time: https://cloud.google.com/support/
At the end he asked me to provide positive feedback to him in exchange for friendly service. He said he will redirect me somewhere and I should give him a proper feedback. This is even while I was telling me I have no time and this is an urgent matter. At the end of the call it turned out it took him 5 minutes to solve the issue and he just wanted to chat while I was stuck at talking to him, thinking he is waiting for a solution to propagate.
I can't say this is a good support.
It's consistently very good - they helped us with code debugging, performance optimization, load balancing and other fairly complex issues that typically need an experienced engineer.
> The Firebase Realtime Database charges for SSL overhead on all requests ... We’ve always had a policy of charging this way.
So it's always been charged.
> Unfortunately, we introduced a bug late last year that began undercharging for SSL
Except it hasn't always been charged?
> We recently started actually enforcing overages on legacy plans and our current fixed-price ($25/mo Flame) plan.
In fact, if you're on a Spark or Flame plan, it's never been charged?
I feel like this response is straight from Office Space or something. "So we just went ahead and fixed the glitch."
I'm guessing that OP's SSL overhead spiked after the measurement bug was introduced. Maybe also Firebase wasn't enforcing their limits before introducing the measurement bug, because they weren't confident about the data.
I have a question though...Why does Firebase charge ONE DOLLAR per gigabyte? 1995 called and wants their business model back.
This alone has limited my use of Firebase to Dynamic Linking for my app. Not that my app is going to smash any records, but paying customers are a good thing to get, aren't they?
That said I would be curious why storage is so expensive compared to DynamoDB ($5/gb/mo storage vs. $0.25/gb/mo).
Say, the $0.12/GB that Google Cloud Functions uses, since there's no value to the user or cost to the provider beyond what you'd see there (and indeed, one solution seems to be to simply route through cloud functions).
Is that possible, mayop100, or am I misunderstanding the system? Obviously it's not up to your users to dictate your pricing, of course, but if it's feasible it would probably earn a lot of goodwill.
That gets to the heart of the issue -- I think most people believe that if there had been an effective channel for communicating then the issue would never have been such a problem. But "we'll be working directly with this developer" only solves ONE PERSON'S problem. The message I would like to see you taking from this is that your team needs a better way for ALL users to reach out for support in those situations where the support is necessary.
A feature might be rolled out "as is" to the entire user base after it was determined, on a small sample, that the costs per user were acceptable ; if the costs were greatly under-estimated, the company is left with a choice of discontinuing the feature (angering users) or scrambling to optimize the software, possibly starting from scratch with another technology. Or a yearly budget might have been designed based on usage estimates, only to be revealed as insufficient once actual estimates become available, and requiring an emergency cash injection for the company to pay for it.
I'm not a user of Firebase, but if our cloud provider (Microsoft Azure) were to announce that our costs had been underestimated by 2x or more, we would sue and argue that a 50% cost reduction for the past few years does not even begin to cover the strategic impact of the incorrect metric.
Also, I do love Bezos mantra of always becoming cheaper over time. That is the core of Amazon's brand. Whereas Oracle, IBM, and the old guard always make you pot committed and charge an arm and a leg, the Amazon guys will leave money on the table. That is how you earn trust.
What? they're a business like any other and they're not interested in minimizing profit, there's lot of thought that goes into their pricing and you can be sure that your opinion and trust is an outcome of their strategy to make more money.
Is exactly what the parent comment said...
I think Amazon pulls this off because their prima donna is the paying customer, not the programmer who thinks talking directly to customers is the worst possible reflection of their ability to automate. Automation is great and all, but Google has a major problem when it comes to empathizing with the customers.
Also, is there any possibility of legal action against Google for this bait and switch, which seems to be quite clearly the case here?
Of course, they are a business. But they look at minimising the price, increase the scale, have a monopoly and earn money.
Actually they are. Minimizing profit is sacrificing short-term gains for long-term gains. Increasing prices helps your short term profit, but you tend to lose customers to competitors. Decreasing prices means less profit right now, but you tend to convert more customers.
Companies aren't purely RIGHT NOW profit-driven. That's why many companies burn cash and take on debt. They're driven by growth (whether vertical or horizontal). Bezos is obsessed with growth. That's why they've only recently started making money. Enormous investments in AWS, FBA and a host of other products put them in the red, but in doing so, Amazon has incredibly horizontal growth.
> Minimizing profit is sacrificing short-term gains for long-term gains.
That would actually be maximizing profit...
The timeframe dictates behavior. But, you responded to a comment that said Amazon will leave money on the table, arguing that they won't. They will, and do, leave money on the short-term in order to benefit their long-term strategy.
Short-term vs Long-term profit motivations are actually MASSIVELY different sets of behaviors.
> That would actually be maximizing profit...
Yes, if you assume a company is infinite that's true. But since there's currently not a company that's existed forever, I can safely assume that such a thing doesn't exist.
You can't argue profit without arguing time. Particularly when your argument was that all companies focus on profit at the exclusion of all other things. Growth companies focus on growth over profit. And while, yes, over time that can result in more profit, it also may not. If pure profit were the only motivation, short-term MASSIVE profits would be the only goal ever, since it's vastly more real than potential profits if everything works out.
Charging less to make more is actually maximizing profit for the company.
16Mb is modulo zero these days, but it's enough for him - he just deletes some emails when it gets full. He also gets imap access and FastMail's spam filtering, which is really very good. I can also assign him an email address from a domain that I own that is associated with my FastMail enhanced account.
I don't want my $15 back. What I DO want is for FastMail to honour our existing agreement, which was a LIFE-TIME 16 Mb member account in exchange for $15.
See also here:
http://www.emaildiscussions.com/showthread.php?p=599512
Text of their latest email is below the line:
=============================================
Back in January we contacted you with some important information about your @.* FastMail account.
We're now contacting you again to remind you that from 31st July, 2017 our 'Member' level plans will be discontinued.
To continue using your FastMail account after this time you'll need to select one of our current plans. Please note: your email address will remain the same.
As a long-time FastMail user we're offering you 50% OFF all upgrades until the end of July, which includes our already discounted multi-year subscriptions.
And if you upgrade now we'll also add all the remaining time until 31 July for free!
As an added bonus we've also given you $15 credit to put towards your subscription, which is equal to the amount you originally paid for your account.
This means if you were to upgrade to a Basic account today for one year, with the discount and account credit you are effectively getting FastMail at no charge until 31 July 2018 with a massive 2 GB of storage (up from 16 MB)!
But then it's not my problem.
FastMail made an agreement - $15 in exchange for a lifetime member account.
Now they don't want to honour that agreement.
And they've created work for me: What to do about my father's email account?
I have his email address as part of the domain that I have associated with my (legacy) FastMail enhanced account. They've discontinued family accounts for new signups.
https://news.ycombinator.com/item?id=14357859
I'm not sure whether my chosen title follows HN guidelines - admins please feel free to edit
I've had nothing but excellent, and personal, service from them, for years. Very high availability, no canned responses.
Even when bitching about Google's support of "this address used to be with Gmail but is now external, but we'll make it problematic for other users to send it calendar invites", though in no way did I imply Fastmail was at fault, they jumped into the HN thread to say "Hey, let us know if we can be of assistance figuring out the issue".
I've been very happy with Fastmail for over a decade and this seems like one of the few missteps they've made. New "lifetime" 16MB accounts have not been available in years. It really doesn't seem that there could be very many of them still in active use that it would hurt anything to just continue to grandfather them, especially since they were sold explicitly as "lifetime" one-payment accounts.
Curious - how could FastMail ever properly close/sunset these accounts? Were they going to regularly check on all of their customers to see if they had passed away? Was there some 'we close the email if you don't log in for 5 years straight'?
Serious question - how should these type of lifetime promises ever be properly managed? (especially when the customer is an individual)
https://news.ycombinator.com/item?id=14357859
My point is simply this:
FastMail unwisely offered lifetime email service for one-time $15 payment. I accepted that offer on behalf of my father.
FastMail should now honour that agreement.
They will go bankrupt sooner or later, it's only a matter of when.
For example this thread has more or less convinced me to take Firebase off the table for any future projects I might have used it for.
as many in this thread have pointed out: Google has a dysfunctional culture w.r.t. customer service.
Also, immediately dispute the charge with your credit card company, as you want this on their radar. Their interests are aligned with yours to at least some degree (if Google's causing financial distress for one of their customers with thousands of dollars in unanticipated charges, how many others may get hit?).
Aside from that, if things played out as described: major dick move, Google! Is "do no evil" a bad joke these days? Seriously, though, Google is not a dumb company and my guess is that if the right person was made aware of this case (e.g., anyone who understands that the most important word in "customer relationship" is the second one), they would make it right.
I'm totally on the side of the author: when possible, it's worth a little extra elbow grease to build your business on top of free, self-hosted software instead of proprietary SaaS. Think of it as insurance against cases like this one.
This will result in the shutdown of their service, and ruin their app.
Thanks.
... The new code of conduct has a close approximation of the philosophy—though perhaps more formally phrased—in the very first sentence of the preface: "Employees of Alphabet... should do the right thing – follow the law, act honorably, and treat each other with respect."
Sounds like a loophole, not just 'more formally.'
Alphabet created a new code of conduct when it was formed that didn't use the phrase, but it was never dropped from Google.
Let's calm down.
The first step is to pay the bill, set up better infrastructure monitoring on your end, so you don't act surprised that you are consuming 7000% more resources than third party service is reporting.
Then, if you want to burn some money, you can file a petition and tell the court that you deserve to get free service because you did not know that you have been going over the reported data by 50%, I mean 7000% for... two years.
As far as I understood, Firebase didn't report it before. As mentioned, the meter "suddenly jumped" to 100GB and then 180GB (if I remember the numbers correctly).
The author decided to figure it out with support later, which makes sense if the previous number was something like 20-30GB and you guess it's simply in error.
Telecoms is a very heavily regulated industry.
> Also, immediately dispute the charge with your credit card company
No, don't do that. Most credit card companies require you to try and resolve the issue with the merchant before filing a chargeback. Sometimes they give you a time period, e.g. at least 30 days.
5 questions can be logged per year for one-on-one email support and then you're on your own. And this is for urgent requests.
I can understand not wanting to be inundated with wasteful questions but when Firebase is changing their API and pricing plans and you're trying to scale a product, and paying them lots of money in the process, support should be forthcoming.
They also don't respond on their Twitter handle, which is a further crime.
With that said, it’s been a year since we introduced the five-a-year limit on technical troubleshooting questions. I’ll see if this is actually a useful limit to keep in place and remove it if not.
So now I'm looking at a message telling me that 'for all urgent requests...you have 1 question remaining' and hoping that nothing bad happens more than once between now and whenever you decide to allow me, a paying customer, to ask for help again.
To make clear: 99.9% of the time Firebase just works, which is great. And when I did receive support, it was excellent. It's the support model that's weak. Making billing and bug reports unlimited while limiting urgent requests to five a year is poor policy, and not very useful - for your customers at least.
I can't promise a change immediately, but I am taking a very close look at what we can do here.
I like the fact I can pay one price for self support and another for 15 minute resolution. Why force people to pay for support if they don't need it?
And a wholly different one if they screw up and you can't talk to them about it without paying them.
The former is an incentive to self-serve and investigate yourself, the latter is an incentive for the company to provide shoddy service to people pay to resolve it.
(More common is the Oracle/IBM-style approach of making your docs vague enough that you need professional services to actually integrate the product).
Just FYI.
Google doesn’t even provide that.
That said, we'd only need support to get ETAs on outages being resolved ><
Isn't using AWS Lamba as your gateway, trapping you into using a specific service, just as much as firebase was?
Since you control the domain, you could then stop something like this more quickly.
But, either way I agree. You should always have all requests to any services going through your own domain.
Why was my Realtime Database reported bandwidth lower than average between September 2016 and March 2017?
For our bandwidth calculations, we normally include SSL encryption overhead (based on layer 5 of the OSI model). However, in September 2016, we introduced a bug that caused our bandwidth reporting to ignore encryption overhead. This might have resulted in artificially low reported bandwidth and bills on your account for a few months.
We released a fix for the bug in late March 2017, returning bandwidth reporting and billing to their normal levels.
Does not excuse the issue with support.
I know it's not the case, but this wording makes it sound intentional. May as well say "We designed an internal problem"
Something does not add up here.
Kudos for writing it down. This kind of cautionary articles are very valuable and much needed.
Moreover, getting to front page of HN is one of the very few ways to have your case resolved by some googler accidentally passing by - hopefully someone will help the guys.
Honestly, the fault it purely with Firebase.
Keep alive is a flag that allows you to reuse a single connection instead of closing it, if it's closed then again you have to renegotiate things. So it sound like you may have been inadvertently spamming them with tls connection requests, the fact that they said they were counting blocked requests makes it passable that you were also sending invalid tls handshakes.
This would make the real issue that they had been previously underreporting your usage and now are correctly counting it. Now if they had wanted to keep your business they should have, you know, warned your first or helped you fix your code instead of just surprising you like that. The fact that the change was going to cause a customers bill to spike should have been a red flag to them.
Yeah, maybe this wasn't the best or most efficient way to poll. But if it worked for years and doesn't destroy the (Google..) infrastructure?
Your mistake, FB. Suggest changes, but don't inflate the prices in an instant.
They certainly should have communicated that better and their tools / charts should have a way of showing the billable data, but it's a bit of a stretch to call it vendor lock-in. It's not like everyone on Firebase is complaining and the author admits they made major mistakes.
Cloud services that pull this kind of bait and switch deserve to be ridiculed and lose lots of business over the negative PR. Cloud services that unintentionally pull this kind of bait and switch but then don't make it right or provide meaningful support deserve no special treatment.
To that extent, they should have communicated this better, ideally 90 days out perhaps even with phone calls for customers whose bill will increase notably.
But then they failed to follow through.
In Gitlab's case, their response was excellent and their total data loss was less than a day's work - and even that only for a full time manipulator of gitlab metadata (project managers? some parts of QA?): "Database data such as projects, issues, snippets, etc. created between January 31st 17:20 UTC and 23:30 UTC has been lost. Git repositories and Wikis were not removed as they are stored separately." ( https://about.gitlab.com/2017/02/10/postmortem-of-database-o... )
Considering that "[...] out of 5 backup/replication techniques deployed none are working reliably or set up in the first place." ( https://docs.google.com/document/d/1GCK53YDcBWQveod9kfzW-VCx... ), this was a pretty amazing result, and about the best a response they could make. That, combined with their transparency, earns something of a pass (especially when data loss I care about is already limited by git's DVCS nature, even if they had obliterated the repository data.)
In Firelab's case, if no other action is taken, they've actively mislead their customer in failing to follow through on crediting their account, charged them an obscene and unsupported price hike, and gone incommunicado. That's like... an anti-pass.
Sounds like they've processed the credits as well, so that's good.
A while ago their pricing model was based on concurrent connections to the live DB, but then you read the docs and it seemed to suggest that you had to do a different kind of math to actually figure out what your REAL usage was. Well, they decided that was way to complicated and so they nixed it. This scenario just reveals that this isn't really the issue -- the issue is trying to obfuscate what the real factors that the billing is based on. If they literally just gave you a dashboard with a breakdown of where the source of your bill would come out to, in detail, it would alleviate 100% of these issues. All we need/ed was better monitoring!
E.g. shutdown Prediction APIs, charge 70x, not enough support.
I believe Google got much better tech than AWS, but the culture, support and strategy has blind spots.
I get the impression Google is doing a lot of things different for the sake of doing things differently. AWS is much more pragmatic and transparent.
First, it's important to understand unless you're buying ads from Google, or renting their machines, you are not their customer. Users are inventory and they spend a lot of money trying to procure inventory (users) for their customers (advertisers).
When you look at it through this lens, you can see how Google as an institution can tolerate experimenting with ideas that are disconnected from revenue models and dropping failed ideas like hot potatoes. It makes sense for them to behave that way.
Amazon's services are almost always designed with either a concrete or direct path to revenue upfront and they have a huge customer support infrastructure they can tap into. They move a little slower in certain areas of R&D because customer obsessed businesses are tolerant of deprecating technology when it doesn't work out. That means they'll do more market research, take less risks and focus on tenaciously steady growth rather than trying to always hit it out of the park.
When choosing a vendor, it's important to understand how their offerings affect the solvency of their business and whether it fits into their core competency.
In this case, Firebase's prices were too low. That should have been a warning sign. The other warning sign is Firebase is a such a small percentage of Google's revenue, Google doesn't have a huge incentive to fix customer service issues.
No, its not. I was responsible for implementing, deploying and managing the infrastructure at lever.co when we were a tiny fledgeling startup. The entire application is built on top of JSON OT. I took some measurements at one point when we had ~thousands of active browser sessions of our app. At the time we were seeing about 1-2 OT merges (transform + re-apply) per day. All the other non-concurrent operations can get sent straight to the database. I don't know what the numbers are now, but I'd be shocked if OT ever becomes the bottleneck.
For text based OT you'll see more concurrent edits. But for text based OT, I have a little C library that can comfortably do 20 million simple text OT transforms/second on a single core of my old 2012 macbook air. Good luck making that a bottleneck.
The whole point of OT is that it lets you fearlessly merge concurrent edits. You can lean on that to rate limit messages to or from the client, if you need to. Because the client can always apply its own edits immediately to its own local model, there's no perceived latency. So, if you design your system right you can batch up changes at any granularity you like (per page, per form, per second, dynamically based on load, whatever). Of course, the tradeoff is that you lean on the OT system more by batching up edits. But it can be made effectively free to transform if the edits modify different parts of the database (using range trees to cull, etc).
But yeah - it is much faster than differential transform. I'm not sure how good diffing algorithms are in practice, but best case they need to scan the entire document. On the other hand OT only requires size & computation proportional to how much was changed. If we're collaboratively editing a 10kb text file, changes will mostly only be a few bytes each. And applying each change using a good rope library is a O(log n) operation.
Of course, all this requires a database which supports OT out of the box whistles innocently
I guess the point was that by adding the middleman between it there was more control --- We are self-funded and small group of people. We can't afford to hire a bunch of people to know about containers and servers and every little detail.
Thanks for your comments! Didn't expect so many views so quickly on this...
The real lesson to learn here is to never hit a paid service going through a domain you don't control. DNS and proxy tricks would have saved the day.
"We went from a Skype group of 10 beta testers to hundreds of active users, then thousands in only a few short months."
Getting off the ground required supporting thousands of users. That doesn't require buying a bunch of servers. Rent one basic physical machine from Hetzner or whoever, spend an afternoon setting up PostgreSQL, and you're done. Reactionary, perhaps, but hardly revisionist.
Building on top of a proprietary stack with no guarantees on pricing and future availability will lead here.
So you either have to code a portability layer so you can move to another one in the event of an unwanted change (which could be quite a lot of work), or you accept the risk that a 3rd party could cost you a lot of money until you can change off their service (which could be quite technically challenging depending on the complexity of your use case and the availability of comparable alternatives)
Whilst with things like container services you retain more control (ultimately you can self-host if need be) as soon as you step onto pure serverless you'll always be at the mercy of the providers of the services you use.
Their Realtime Database is extremely convenient and pretty useful for web apps, but there's no way to limit the connections and track bandwidth usage in real time. It's basically an open door for anyone with only your Security Rules to block data access. There's no logs to even see if your rules are working as expected, nor where your connections are coming from. They didn't even have that simple blue line showing basic usage in OP's post until recently. The profiling tool mentioned in the OP is also recent and doesn't give a proper picture.
It's just really pathetic. They sell themselves as a service company for startups, but one of the biggest things startups need to do is manage their costs, which Firebase doesn't provide in any form. And now since Google bought them, their support will be near non-existent as with all Google products.
Having said all that, their Free tier is great for live prototypes and doesn't require adding payment information. Just make sure you're not tying yourself in if you want to progress. Make thin wrappers around their libraries and export your data regularly if it's not throwaway.
Author's issue was with the commandline profiler.
(A Firebase dev)
Stuff like that makes me want to host everything myself as it will for sure be the cheapest option.
A hard lesson learned, but hopefully this company will pull through.
I'd think getting paid is a core part of every business! Tho I'll admit basically no one can do it themselves.
I've never understood the advantages of these services except for when you have drastic usage changes throughout the day.
But all the younger folks seem to think it's awesome:
"Look ma, I didn't even need to register my own domain, wait for DNS propagation, or install software, or wait a few days for hardware to be provisioned. That cut my MVP time from 30 days to 25 days!"
For about $250/m I can get a dedicated windows server that can handle just about anything a startup can throw at it. Sure it's work, but not too much work.
Hardware matters. I would estimate the cost of running in the cloud to be 3-4x more expensive than rented hardware. The $60/m VPS you're getting with a virtual core is usually one hyperthread on one actual core. That's a lot of money for so little and hourly billing doesn't help if you're using it 24/7.
The proprietary SAAS situation is even worse than VPSs. Besides the lock in, the billing is so abstracted from reality that you'll never realize how much you're overpaying.
Hey this portion of my load is HIGHLY flexible. I can use a very simple celery queue to scale this out to 1000 preemptible instances, and pay literally peanuts to harness the power of 1000 computers for the 30 minutes I need it, then shut it down for the other 23.5 hours a day.
There are a wide range of ways to do things. From Heroku to Bare Metal to EC2 to Lambda to managed services (like Firebase). I think they all can be a win in the right case. If you are always using the same solution (in your case, maybe rented window servers?), I would heavily question if you are using the right tech. And personally as soon as I hear people running Windows to run actual code that does work, I shudder a bit.
Windows, like Linux, is a great OS, IF you know what you're doing and a terrible OS IF you don't.
My point is, hardware matters and abstracting it has real cost in terms of control, performance, and dollars as the OP has now learned.
Of course hardware matters. Of course it is embarrassing to have your entire business model crushed by how you built your product. It happens in many ways.
But this sort of incident really underscores the business value of having an exit strategy from whatever cloud you're running in.
That's why I like Kubernetes, since you can just spin up a new cluster on whatever cloud you want (or on-prem), and all your app deploy scripts remain the same.
Likewise for the choice of boring data store (Postgres/MySQL). I'm happy to pay a cloud provider to run my DB for me, because I know I can trivially redeploy in another hosted DBaaS or on-prem solution if I had a need to do so.
You could make the same case for running your stack on VMs that you manage; pick your poison.
Which is pretty sad.
YCombinator shouldn't let companies use Hacker News as a marketing tool, at least not to the extent Google does.
Then again, as a meta comment I will point out that the fact that both you and I so clearly notice this suggest that we are following these updates much more closely then most of the folks here.
It might not be so well known, but I found http://www.deepstream.io to have a relatively similar feature set, without having to deal with bad support (if it bothers you, just fix it yourself) and high prices, since you are the one who picks what suits you best.
I have yet to see a platform that's as flexible and robust, with the added bonus of being real-time.
The engineering response is pretty clear-cut. Polling every minute from an uncached SSL connection is expensive, don't do that. That's pretty obvious and the author admits this was a mistake. The complaint is about everything that's not the engineering part - support & communication.
I'm sorry, I can have 50'000 devices poll every minute via an uncached SSL connection on my 16$/month server from Online.net, including bandwidth and traffic costs.
I'm not sure what you're smoking, but I want that, too.
Seriously, at Google, TLS is terminated in hardware, and bandwidth costs less than a cent per terabyte for ISPs or Google.
The costs that this caused are basically nil.
(This, btw, is why I'm using kubernetes on rented bare metal, paying 30$ a month, for what would cost me, including traffic, around 900$ (Google Cloud with rented servers) to 63'000$ (Firebase) a month.)
https://aws.amazon.com/premiumsupport/pricing/
Note that this was posted to HN around midnight Pacific, so it's quite possible nobody from the Firebase team had seen it yet.
Every year since then, the cost has gone up significantly (ransomware?) and we always bit the bullet, until we finally dropped them.
Beware: http://www.computerweekly.com/news/450297646/LogMeIn-custome...
Google Cloud support[1] comes with phone numbers to call at $400/month. It's a minimum requirement for anything that's mission critical. I understand that this poster was paying $25 a month typically, so it's not unreasonable that he didn't also shell for the $400/mo support package though it left him in the lurch when he had a time critical problem.
Realistically, I don't see why he didn't simply shut down the service the first day usage numbers spiked. Something that's only costing $25 a month to host, shouldn't have a huge opportunity cost when shut down.
Isn't Firebase part of Google Cloud?
> Always build your architecture in a way that will avoid becoming trapped into a specific service. Amazon’s AWS Lambda sitting between any services and your app is a strongly recommended path!
- Build without depending on external services
- You can do this by depending on this external service
If Pizza Hut changes the pricing, you either close shop or adapt.
Who would open such a restaurant?
I really don't understand why anyone expects anything different from Google these days. Or possibly ever. "Don't be evil" ironically turned out to be a particularly evil marketing ploy.
Ouch!
Yeah, no kidding. It means someone nefarious (or bored) can easily run up a huge bill by just directing a ton of invalid requests to their API.
Many inexpensive hosting providers provide you with a lot of bandwidth (e.g. Scaleway offers unlimited bandwidth at ~200MBit/s). Assuming you can saturate the link, that's around 64TB per month of traffic. Quite the Firebase bill they'd have.
Shame on you for not using resumable TLS sessions/Keep alive. You're hammering their infrastructure. The change in how they meter usage is seeing you having to compensate them for the resource they provide you.
So a bot net could absolutely wreck your credit card by just repeatedly trying to access your API with invalid credentials.
You could argue that for pretty much anything being hosted, anywhere.
This has nothing to do with the fact that it could be hit by a botnet, as per the exact point I commented on, could 'wreck your card', it's simply a question of scale.
Or they have bandwidth costs around a dollar per terabyte. Which, even when maxing your connections, would always be below your actual server costs.
I’ve read the fine print, and called them.
Online, Scaleway, OVH, do not ever throttle you.
Hetzner requires you to buy traffic, but there it costs 1$ per 1TB of traffic, which is 1000x cheaper than Firebase.
But legitimately using lots of bandwidth isn't the same as a DoS attack. Try and remember that bandwidth isn't the only resource being used.
> Scaleway
In my experience they throttle your CPU usage after a while.
> Hetzner requires you to buy traffic, but there it costs 1$ per 1TB of traffic, which is 1000x cheaper than Firebase.
At no point did I suggest using Firebase was a good idea. I said it's always cheaper to run your own services in the long run, and that they'd have found out their own problems (see my first reply) sooner.
Vs. AWS, Firebase, etc where your limit will be your bank account instead.
One day they'll just realize they've lost, partly due to their shit attitude to customer support, and close their public cloud.
FFS if you run a public cloud you've just damn well GOT to understand you can never cut off the customer service for any reason, especially "because your site got too busy".
What a bunch of PhDs.
The reason Google is so deeply unwilling to engage its customers to provide support is in the DNA of the company - they are all PhDs, and how many PhDs have the slightest idea of how to help and talk to a customer.
No they aren't lol. The majority of Google employees have B.S. degrees. The reason Amazon is so good at this stuff is because, at their core, they do everything they can to make the customer happy. Google doesn't really understand that. Not because they are PhD's (like, what the hell does that matter), but because customer service was never a thing they needed to do.
Did some experiments and learned the queue downloaded every task in the queue each time it started. The authors assured me that wasn't the case at first, but eventually acknowledged that this was exactly how it worked.
Terrible experience overall, glad to have moved away from firebase.
It is not so hard to predict failure/buy out of some SAAS provider, it happened so many times. I am curious why Venture Capital investors are not looking at that problem closely.
Nothing in the entire VC Funded startup scene makes sense when you try to apply basic logic, much less a sane way to operate a sustainable business.
But that's just it: These companies are funded by people who are simply in it to make a profit, (as opposed to people who want to actually achieve something with their efforts). Users become dollar signs, and it's all about how quickly you can get enough new users to monetise the bejeezus out of their attention/personal information/etc, before they dump you for the next new flavour of the week.
Yes but you gotta be smart here. It's not like Firebase is the only database out there. And once your product grows, and you hit Firebase limits which forces you in the "pay as you go" plan, whatever cheapness you thought you bought into quickly becomes a huge expanse.
-installing MySQL
-Installing Apache
-installing PHP MyAdmin
-running some commands from shell and SQL
-done.
If you create a startup it is wise to know the basics as such and in case that you grow to hire people to pimp it up.
And than you don't have any control over your infrastructure as well because someone else has theknowledge not you.
I don't see any advantages doing this as long as you are small. Those few hundred dollars are better investet in simple SAAS.
To me it seems they correlate bandwidth usage with system usage and charge you using bandwidth as a surrogate of computing time, hardware and lahour (plus the bandwidth).
So in the end it was a coding problem, because you forgot to add Keep-Alive = true? If you use the provided SDK's it should be no problem then right?
And it's hard to call this a coding problem if the requirements of the API never specified that session tickets and keep alive were necessary.
I wonder how many HN startup founders go around telling their customers on how to pay less.
keep-alive keeps the HTTP/TLS socket open.
TLS session tickets allow to close and "cheaply" reopen TLS session on a new socket for a new HTTP connection.
Using both keep-alive and TLS session tickets is optimal.
Sadly I reckon it was more likely the people who burned you who were doing the down voting.
meanwhile, the servers i bought have now more than paid for themselves many times over and our operating costs have fallen to nearly zero.
Feeling vindicated.
Maybe unrelated, but at the same time we started using Firebase, we started using (then) another startup called Intercom (www.intercom.io). Intercom was priced a flat $ 49 (or 50, do not remember exactly) then and it was a bargain for us. But since then Intercom has changed their pricing so many times that we ended up paying more for Intercom than for all our servers put together. Intercom is again a great service but we stopped using it because it wasn't worth the price.
If you're e.g. the sovereign wealth fund of Saudi Arabia and you call up Goldman Sachs and say "Make me a market in naked puts on Citi, at-the-money, with expiry in a year; I'm thinking about a billion dollars worth", I give you excellent odds on them being able to put that trade together for you. I mean, it will cost you a lot of money, but Saudi Arabia doesn't call Goldman Sachs up and expect it to not cost them a lot of money, now do they.
I hope this article forces their hand.
I wonder how many companies shut down due to this. My company is in a similar situation (not a tech cost but still) and it feels unbelievable that we may need to shut down even though we have so many customers. I never hear about these stories though, as if all companies have a large buffer that can handle these increases.
While what they did was certainly a dick move, this type of comments trivzializes and diminishes the work the firebase engineers put it. Incidentally it also implies that google is full of stupid execs with money that pay millions of tech that can be build by one dev in an afternoon.
I think what I said ("I don't understand what firebase does that is so killer or unique") is very different from what you are reading ("firebase is useless, firebase's engineers do stupid work, and google is full of student execs with money that pay millions of tech that can be build by one dev in an afternoon"). I think your characterization of my statement is more than a bit unfair.
I'm still at a loss for what firebase is beyond a key value store with web sockets. I think it would be a problem to scale a platform like this on ones own -- maybe that's why to use Firebase? I've used it in hackathon settings where I didn't want to roll my own backend, or to mock web-sockets pre Django 1.9 / Channels.
Still, if I had a business that depended on a key value store with web sockets I would definitely build it myself.
1: Just because work is done does not mean it is important 2: It is possible to say that the product is not special or unique and yet the hard work that is done to keep that product up all of the time and scale it to many of customers is special.
[1] https://media.ally.com/2017-03-02-Ally-Bank-Launches-Debit-C...
In HomeAutomation's case, the amounts are relatively small (though still potentially massive to them). If their monthly infra spend for firebase started out at $10k a month and went to $1m, would only way to have issues resolved still be to hit the front page of HN?
Risk factors into our technical decisions, and trust factors into risk. Particularly when billing is concerned, needing to wait a month is ridiculous. Assuming the post is accurate, ignoring billing-related emails is inexcusable. Any organisation this incompetent is one that you should not trust with your critical infrastructure.
I know - because I am one of those humans in support grins. I work in the support organisation for GSuite (formerly Google Apps). And I work across the hall from the guys who support GCP (Google Cloud Platform). And there are an entire army of us, helping support many, many enterprise customers.
Even our consumer products have real people manning support phones - I know, because I've had to call them before (mostly Google Play Music issues - this was before I joined Google, so I couldn't use my internal pull...lol).
Regarding your second point - abuse is a real problem for any cloud provider. I know, because I happen to work in anti-abuse. It's a difficult problem to crack, and there's a lot of smart people (at many companies) trying to solve it. But please understand there are real humans at the other end, trying to provide a good service - and it's not very kind to take cheap shots at them.
There usually are appeal processes available for nearly any kind of action taken - if you were actually personally affected by an issue, or feel unsure about how something was handled - please feel free to reach out to me. I can't guarantee I can wave a magic wand and fix it, but I'm certainly willing to reach out to see what can be done.
Disclaimer: I work for Google, but the views expressed here are purely my own.
Your competitor AWS would refund in less than an hour with a billing support, without going through any phone calls. Your competitor has a support subscription service at least for people to purchase (expensive but worth it). Yours?
Many times, I've seen it's due to a misunderstandings, or crossed-wires regarding technical issues.
And yes, our support team does provide refunds in many cases - I know, because these sometimes get escalated to me to approve (e.g. if they're borderline). I think one was actually offered already in this case, but there may have been a misunderstanding or mix-up around that.
And yes, we have a "paid" support service - it's actually comes free with any GSuite subscription (even at the most basic level, which I think is like $5 a month). You can chat, email, or phone. I work as an engineer in the team that supports this.
For GCP (our cloud offerings), the support offering is a paid offering:
He was from the Philippines, and it turned out he was a contractor providing "support" for Google Cloud. So I guess Google is outsourcing their support? Isn't this something Dell tried to do in the 90's with disastrous results?
How else do you provide 24/7 support?
There should be a huge "Send Feedback" widget at the bottom of every single documentation page:
http://i.imgur.com/MhWbY0W.png
http://i.imgur.com/Gu8GzLB.png (If you click it, it will pop up this modal form, which also allows you to just screenshot the offending part).
Did you try using this link on any of the pages that you found unhelpful, or bizarrely organised?
I'd encourage you to use this - as all of this feedback comes through to us via an internal system, and it does get reviewed (although I'm sure you can imagine the volume).
Otherwise feel free to reach out to me if you have specific concerns and feel more comfortable doing it that way, or you're unsure about the response you received. (Although quite frankly, I think the form is best, as that gets tracked, and anybody can jump on it).
But Google did come through and they posted the images here: https://cloud.google.com/storage-options/
That had been my complaint...that the documentation was hard to get and that when I saw the images presented at Next I understood things that I had previously given up on.
But man this is business, this is the stuff the global economy runs on 24/7, I hope you all are tougher than that...
I use Firebase Database but keep it arms length by avoiding any of the proprietary features it offers. I use it exclusively as a JSON store which I feel I can easily export at any time if I wanted to switch to another NoSQL DBaaS.
A few people here are mentioning how it's crazy to depend on external services for an app, but as an 'indie' dev, I can't spend time maintaining a secure, high-availability database. Or a mail server when I can use SendGrid, or a logging platform when I can use Sentry, or any of the other service my app depends on.
Nobody is saying that you shouldn't rely on external services.
What's wrong on the other hand is to depend on a proprietary database offered by a single vendor.
Firebase is a proprietary database, which means you can't go to the competition without having to rewrite your application. It's called vendor lock-in. Plenty of SAAS provide MongoDB as a service and you can install MongoDB on your own machine, so if a SAAS is price gouging you, you can move to the competitor with a cheaper plan.
If you are not using Firebase ACL or Firebase realtime features then you shouldn't even be using Firebase at all. Don't use MongoDB either. Postgres provide JSON types and queries and most Postgres SAAS are much much cheaper than MongoDB SAAS.
For apps that have significant offline requirements, this functionality can save a significant amount of time and significantly reduce the amount of code that needs to be written and more importantly maintained.
One of my clients just recently seriously considered going with Firebase. The choice came down to Firebase and Couchbase, which has an even better offline functionality. After reading this post I am glad that we didn't going with Firebase.
Of course Couchbase has their own problems. The supported version of Couchbase is prohibitively expensive for small organizations and Couchbase themselves strongly recommended against deploying the community edition. (The community edition also artificially lags behind the supported edition 6 months. Couchbase even delays critical security fixes that same 6 months.)
I'm not sure who at Couchbase is "strongly" recommending against the Community Edition. Of course we'd like to have people on the Enterprise Edition, but I think the information is out there to make an informed decision. You should only be getting a hard push away from CE if they really believe you'll need the support. Anyway, this is good feedback.
As noted there I've always received pretty good support from FB ( and recently also Google ) for what it's worth.
IMHO, the time needed to build and deploy your own thing using open-source and open protocols is well spent when compared to being at the mercy of BigPaasCorp when it comes to stuff like this.
A VM running nginx, an app in your language of choice, and postgres isn't that hard to setup -- and the costs and scaling of such is well understood.
For an IRC style public chat app (the popular Firebase use case), is there a simple-to-use AWS solution that doesn't involve setting up the software/configuring it?
If not, then is setting up DeepStream on an AWS the best answer?
Serious question. Is there something available that can scale as easily?
So.. if I understand correctly, Firebase is 10x more expensive??
It seems like it might be worthwhile to roll my own then..
I want to be able to insulate my projects from risks like this, worst case they jack the prices and I move hosts.
This is also why I think AWS Lambda is cool, but why I'm really hesitant to dive in. I like keeping my options open.
Usually getting to the front page of Hacker News is the only way to get support from Google. Hope it works this time.
>Always heavily consider open source alternatives (something which didn’t exist for Firebase at the time… but now alternatives like Horizon and Backendless exist, for example.
But, as I'm sure I will be informed, that is just too complicated
Only problem is: You gotta play by their rules. The databases, in particular. Datastore was weird to get used to.
Costs goes down 10 fold. Problem solved!
I believe James is working on a solution/work-around for everybody, I chat with him occasionally and trust him, so I still encourage people to keep using Firebase. And that is coming from me (I work on gun, an OSS alternative with graphs that you can self host - https://github.com/amark/gun), so while I have an incentive to get people to use gun, I have to keep plugging Firebase because they are amazing (I don't say this about everyone, as I have said pretty harsh words about other database systems. But there are some that deserve legitimate respect, like Firebase, RethinkDB, and others).
It's like going to a pump that counts two gallons as one for two years, pretend you don't know any better then have the nerve to ask the owner for a refund after the meter is fixed.
The solution is to build your own infrastructure. If you don't have the resources to do that, then find a lower-cost competitor.