enabling and disabling billing from my application? - google-app-engine

I looked in the documentation, but I did not find anything.
Suppose you have a small app, which during some months fits in the free app quota, and some other months it does not.
Since billing is per month, is there a way to configure my application so that billing is by default disabled and automatically activated only during the months when I need to use more resources than those under the free quota?
The question may sound silly, but I'm trying to understand if I can optimize the budget for extremely small realities, such as local no-profit organizations. I'd prefer to invest 9$ in resources when needed and not in the monthly fee when there's no traffic.

No, there's no way to programmatically or automatically enable and disable billing.

Why do you want to do this? You can always enable billing and the free app quota are still available to you free. They only charge you for any usage exceeding the free quota! Plus you can set a daily budget limit. You can just set it to $1 to start with.

You can use Google's Billing API to enable and disable billing automatically:
https://cloud.google.com/billing/v1/requests

Related

Google Flex App Engine instance with GCP Free Tier, is it possible?

maybe I’ve screwed up,
I’ve deployed an app to a Flex GCP App Engine, but then while I was reading the GCP Free Trial, I’ve discovered that I cannot use the flex instance (yeah I know, I should have read it before), now I’ve disabled it from the console, but I was wondering if I can get some kind of billing directly on my credit card and not on the free credit.
I’ve tried to ask directly tho the GCP assistance, but the chat session doesn’t start.
Getting credits directly on your credit card indicates upgrading your GCP account from the free trial to a paid account through the Google Cloud Console. To do so, click the Activate button. If the Activate button is not visible, on the menu bar, click Free trial status and the Activate button will appear.
To take advantage of the features of a paid account (using GPUs, for
example), you can upgrade before the trial ends. When you upgrade, the
following conditions apply:
Any remaining, unexpired free trial credit remains in your account.
Your credit card on file is charged for resources you use in excess of
what's covered by any remaining credit.
You can upgrade your account
at any time after starting the free trial. The following conditions
apply depending on when you upgrade:
If you upgrade before the trial is over, your remaining credit is
added to your paid account. You can continue to use the resources you
created during the free trial without interruption.
If you upgrade within 30 days of the end of the trial, you can restore
the resources you created during the trial.
If you upgrade more than 30 days after the end of the trial, your free
trial resources are lost.
Here, you may find the list of resources of GCP that can be Always Free and available.
Furthermore, here you may find information on how to handle your budget, set up alerts and notifications for proper management.
This page tells you how to contact Cloud Billing Support if you need help with your Cloud Billing account, and shows you where to get more information about managing your billing account. In addition to that, here you may find all the Customer Care Support plans that Google offers.
I hope this information helps.
EDIT:
As stated here:
Any usage above Always Free usage limits is automatically billed at standard rates.
Thus, you will be charged for the usage of that GAE Flex instance.
Additionally, here you can check Flexible environment pricing details and here you have the information about viewing your billing reports.

GAE without billing

I remember years ago I deployed a simple python app on GAE without the need to enable billing. Is it still possible? All the guides and tutorials I find tell to enable billing, and I'd like not to do that.
Yep, you have to enable billing account in order to deploy an app on GAE.
To deploy your apps, you must enable billing. Your account will not be charged if you stay within your free quota. If your application needs resources that exceed the free quota, you will be charged for the additional usage.
So, if you don't exceed the free quota limits you won't be charged. I think the main reason is that it won't be cool your application shutdowns just because you exceeded the limits even if you're testing.

Passing on goog-app-engine costs to the client

I have a google app engine application that uses the cloud datastore. My application usage is increasing, I cannot maintain it as “free” since I am paying
for the read/write operations to the datastore
the storage of data in the cloud
instance hours
I plan to charge “by the drink.” In other words, as I am charged for application usage, I will pass on that charge on to my clients. Before developing my own solution to do this, I realize that there must be countless others who have solved this problem. If so, what technique(s) have you employed?
Thank you in advance for your suggestions.
Unfortunately there is no silver bullet for this situation. Be advised, unless you really think this through keeping track of your users consumption might end up costing as much as the actual usage.
Without knowing anything else about your app its hard to help but my advice would be to use appstats to figure out the actual cost of a given service and charge the user per time accessed.
Most users do not like (actually, hate) to be charged for something they (a) do not understand, and (b) have no control over. If a phone company tells its customers to go ahead and use their service without telling them how much - exactly - they are going to pay, it will lose all customers in no time. How are you going to explain read/write datastore costs to your users, with indexed properties and all? How about query costs and instance hours? It's a difficult task even if all of your customers are software engineers.
I recommend charging users for something they understand, like creating a free and a premium version of your app with additional features, or charging per game, or per document processed (you did not tell us what your app is doing), etc.

Gmail API quota units cost

We are building a service that utilizes the Gmail API. In order to understand our costs as we scale, I would like to know how much it costs to use the Gmail API. I've followed the instructions at https://developers.google.com/gmail/api/v1/reference/quota through to the point at which it says:
If you have enabled billing for your project [we have], clicking Quota
takes you to a page where you can view and change quota-related
settings.
The only option on that page for changing our daily quota is to "Apply for higher quota"; however, clicking that opens a window that says:
Please be sure to review the existing quota limits to confirm you need
more than the daily default.... If you simply have a question on limits, please ask it on the Stack
Overflow forum
Thus, I am asking here: what is the cost per API unit when one's needs exceed the daily free quota?
The API isn't marked as "billable" meaning it's free up to a limit and there's no set/published pricing above that. If you are using your existing quota or are getting close and want to ask for more, I think best place is to ask on the quota request form. It's quite reasonable to ask for quota to provision for a few quarters of growth IMO and if you're migrating from some other API (e.g. IMAP, atom feed, DOM hacking) then obviously that should be quite reasonable to provision all that beforehand as well.

Google App Engine, Billing "Minimum Spend $2.10 Per Week"?

When I try to enable billing in app engine for using blob store, I found a notice for Minimum Spend $2.10 Per Week.
The Minimum spend subtotal is in support of our new pricing model. The new model requires that you spend at least $2.10/week. This subtotal indicates the value beyond your other spend that we need to add to your contract. To make the transition to the new model smoother we are beginning to account for this minimum when we authorize new budget changes. Please note that you will not be charged for the minimum spend until our new model takes effect.
I search online and found no one ask about it. I use app engine just for a school assignment, so the usage won't be excess free quota. So, Must I pay $2.10 per week even I do not excess free quota? It sounds unreasonable.
As of April 2013, "We’re happy to announce that billing-enabled applications will no longer be required to spend a minimum of $2.10 per week. This means that you can enable billing for a free tier application and continue running within the free tier without concern that a spike in traffic will terminate serving (note that you can always specify a daily dollar budget). The minimum spend was originally intended to prevent abuse and ensure that we can offer a stable, reliable system with a free tier. We have determined that we can continue to support the free tier, without relying on the minimum spend. So, goodbye $2.10!"
Google has removed the $2.10/week for billing-enabled application from now onwards. You can enable billing for a free tier application and continue running within the free tier without concern that a spike in traffic will terminate serving.
http://googleappengine.blogspot.com/2013/04/app-engine-177-released.html
I enabled billing because I needed to add Google Cloud SQL. The notice said that minimal Cloud SQL was free for now. We're still in early development and aren't using any resources, so we're not over the quota for anything. I don't think I was ever advised by any page that I'd be billed even if under the free thresholds. In fact, I think one of the pages explicitly said I would not be.
It really isn't a lot of money. Probably not even if you add all the users who have been deceptively billed together, so it probably won't attract any lawyers. But unless I missed some notice (and even if I did if that notice was intentionally hidden) this is legally wrong, as well as ethically so.
It appears that their "new" system hasn't gone into effect yet so I would go ahead and use it. Besides, $2/week compared to the $150/book that I just spend isn't that bad. =/
As for enabling billing it appears that unless you need the new (per 1.5.3 version) unlimited blobstore then you should be fine with the free limits.

Resources