google prediction api pricing - google-cloud-platform

For google prediction api in the documentation pages it'showing different quota limits in different places for 10$ plan.
In the above link its saying that the prediction limits are 10000/day
https://cloud.google.com/prediction/
whereas in the next link it's saying the limit is 10,000/month
https://cloud.google.com/prediction/pricing?csw=1
If there is anybody who has used this and could tell me which is the correct one I would really appreciate it.

I'd say it's a typo on the first link. 10K free per day seems way too high -
considering you need to contact Google if you're going to do more than 40K per day (see "Usage Limits).
For now, until a Googler can confirm, I'd go with per month i.e. https://cloud.google.com/prediction/pricing?csw=1

Related

Google Cloud hard quota limit

I've been trying for a while to figure out if Google Cloud has a mechanism for a "crowbar" limit on API usage, as a security measure.
The scenario I'm concerned about is, say I have an API keyfile on a server, and a hacker steals it and plugs it into their system that (for the purposes of some nebulous scam) is running an unbounded number of translate requests as quickly as possible. I then receive a $25,000 bill. I don't see any mechanisms to really prevent this.
I can limit the roles for that key, but if the hacker's interest is in the same API I use for my project, that doesn't help. I can set a billing limit, but that just sends me an email, and I am not a person who notices incoming email, so in practice it would take me days to realize this had happened.
I can set a quota, but all the quotas in the dashboard seem to be per-minute or per-day limits. I need a per-month quota, and I don't see any way to do it. Am I just missing something, or does Google simply provide no option for this?
I understand that "well just don't let your API key get compromised" is probably the common wisdom, but that's unacceptable to my use cases for a number of reasons, so I'm not interested in discussing it. Thanks!
Edit: I should note, Google's documentation says "you can set requests per day caps" - but there are no instructions on that page for how to do this, and I can see no mechanism for it. I don't want a per-day cap, I want a per-month cap, but I'd take a per-day cap if I could find one. These are the only quotas I see for Cloud Vision, for instance:
Quotas part 1
Quotas part 2
As per Link 1 there is no Hard quota limit for Vision API on a monthly basis . If you need to use this feature you can request for this feature using the link 2.
In the meantime or as workaround you can control your vision API budget by using the Cloud Billing Budget API by following the link 3.

How do I get the current total cost for Google Cloud Platform programmatically so I can optimize costs?

The Google Cloud Platform billing interface (at https://console.cloud.google.com/billing/<account_number>/reports?project=<project_name>&organizationId=<org_id>) that you get when you click on billing in the Cloud Console has a table with the current month-to-date cost -- the column labeled subtotal in the image whose value I scratched out in blue.
I would like to get that value (or the aggregate cost for a project over some other period) using the RPC API (or other appropriate programmatic method). The keywords subtotal and total don't seem to come up anywhere in the API.
I want to use this for benchmarking. I want to run version X of my code with a certain configuration and load and see how much it cost by looking at the total cost before and after the run. Then I can compare configurations and versions and see the effects of various optimizations.
I did some basic Google searches and checked StackOverflow, but the closest I got were this answer to a question about programmatic costs and this answer to a similar question, but they do not help because the export happens every day and I'd like to check the change in an interval of a few minutes.
In the worst-case scenario, I can scrape the billing web page. But I'm hoping there's a better way since scraping is usually brittle (and Google might not like it).

ML Units exceed the allowed maximum

When I'm trying to submit a job for training a model in Google Cloud-ML, I'm getting the below error.
RESOURCE_EXHAUSTED: Quota failure for project my_project.
The requested 16.536900000000003 ML Units exceed the allowed maximum of 15.To read more about Cloud ML Engine quota, see https://cloud.google.com/ml-engine/quotas.
- '#type': type.googleapis.com/google.rpc.QuotaFailure
violations:
- description: The requested 16.536900000000003 ML Units exceed the allowed maximum
of 15.
subject: my_project
Now my question is, will this quota reset after few hours or days? Or do I need to ask for an increase in ML Units? If so, how to do that?
lleo#'s answer is correct; this section states the following:
The typical project, when first using Cloud ML Engine is limited in
the number of concurrent processing resources:
Concurrent number of ML training units: 15.
But to directly answer your question: that is a per-job quota (not something that "refills" after a few hours or days). So the immediate solution is to simply submit a job with fewer workers.
Having access to limited resources with new projects is pretty common on Google Cloud Platform, but you can email cloudml-feedback#google.com to see if you're eligible for an increase.
As stated by Guoqing Xu in comments, there was an issue. Which is resolved from their side and I can submit my job successfully now.
For me, there was only one job and that too it's light. Moreover there are no parallel computations going on. Hence, I was puzzled why the quota has reached.
It's resolved now, working fine. Thanks Google team for resolving it. :)
You can read about default limits here here
You may ask for increasing the quota (on the API Manager page in the console). It looks like your issue is about concurrent ML units used, so you might either refactor your training pipeline or ask for a increased quota.

Is anybody else experiencing discrepancies between actual calls/renders and what azure wants to bill?

Since about a month we integrated a test report as a dashboard into a web application (power bi embedded). This dashboard is only accessible from within that application if you are logged on. We have around 20 tiles on the report and as far as i understood that, this means 20 renders. Since this is just a test and is mainly used to discuss with clients how the real reports will look in the future we had around 60 calls of that report in the last 30 days => so roughly 1200 renders. so since 1000 are free and we havent actually rendered over 2k it should still be more or less free - or maybe the $2,50 for 1000 renders.
but now our free trial azure account has been deactivated, because power bi ate up the free €170 start budget and it would total to bill around €600 according to the warning in azure... In my count that means azure counted 300000 renders. That seems totally wrong to me.
Do i completely misunderstand the pricing model? Anybody else have a problem like that?
Yes, I also had this problem, I was basically getting charged the per render instead of every thousand renders.
As specializt mentions, these kinds of questions aren't meant for stackoverflow.
To get the issue resolved, log a support ticket with Microsoft Billing from the Azure portal by selecting the question mark icon, and select New Support Request. Then explain your problem in detail and they should correct the problem and credit your account.

As an experiment I want to work a bit with AWS. How much might I expect to pay?

I'm about to go to Pycon, and while I have my hosting at Webfaction one of the tutorials (JKM) asks for students to have AWS instances. I've been trying to figure out what some minimum charge examples might look like? I'll have a lamp server with Django and a requisite amount of storage but next to no traffic.
Anyone have some guidance/advice? My Google searches and look here did not turn up much useful info.
It depends on how long you need to run your instance. A small linux instance will cost 8.5 cents per hour. If you spend a week at Pycon and have your instance running the entire week, it would cost $14.28 for the week. You probably won't need it while you are asleep, so you can turn it off when you are done each day. If you only need it for an hour it will cost you 8.5 cents.
Here's more details on the pricing if you need a bigger server or you need a windows server instead:
http://aws.amazon.com/ec2/#pricing
I think the AWS calculator might help also for estimating cost.
See http://calculator.s3.amazonaws.com/calc5.html
Also try here for a comparison of various different on-demand services (plus rough calculations of how much it would cost to roll it yourself): https://secure.slicify.com/Calculator.aspx
(full disclosure - it's a page on my site).