I'm considering implementing and publishing a Web App using Google Apps Scripts, which I'm quite familiar with for personal projects. I've never published a project to share with other people but I have an idea that would fit perfectly well for consumer users, probably for thousands of them. I've googled for the last 24hrs to see if there's any experience with simultaneous executions of a Web App when it runs as "user accessing the app" but I've failed to find any direct answer to my questions.
According to Google Developers Documentation, there is a daily limit of 30 simultaneous executions of the Web App, which coincides with the results of this test. However, neither the documentation explains on what conditions that limit would be reached nor the test was run with different users accessing the Web App authenticated.
Before trying to test it myself, which I find hard to do since right now I have no access to more than 30 different Google consumer accounts, I'd like to ask if there is someone who has direct experience publishing Web Apps using GAS with permissions set as "user accessing the app" and has found errors beyond the 30 simultaneous users.
Thank you.
Edited: 14/jul
Related
This morning we got a couple of errors from Google Apps script saying:
Exception: Bandwidth quota exceeded...
Try reducing the rate of data transfer.
Our Google Apps Script (GAS) programs mainly look at Gmail, do some processing, access Google Maps some, and transfer data back and forth between GAS/GCP and an app hosted on another platform.
However, accessing Gmail doesn't seem to be what this is talking about. "Bandwidth quota" would seem to indicate too much data is being transferred into and out of the Google servers via Google Apps Script. We do transfer a fair amount of data back and forth to an app hosted on another platform on the Internet, such as Amazon Web Services.
However, we don't see that there is a "Bandwidth quota" on the Google Services Quotas page. AND around the time we got this error this morning, we weren't accessing Gmail nor transferring data back and forth outside of GCP any more than usual. Probably less.
Does anyone know what this quota is, where we can find it, and how we can possibly bump it up, even if we need to pay for it?
I looked at our Google Cloud Platform (CCP) Console Quotas (https://console.cloud.google.com/iam-admin/quotas) and we are well below any usage limit, and see none that are about a "Bandwidth Quota".
Thank you!
UPDATE 29 March 2022 - After more than a month of having zero of these messages, this evening we are seeing at least 10 of them. Some facts:
The "bandwidth quota exceeded" errors are only happening when calling the APIs for one particular external app hosted on AWS-like servers. They do not occur when calling drive, maps, etc. or any other APIs.
Today has been a lower-volume day & evening for our app than many are. So, this makes no sense why we would get these errors this evening and not other days.
Our client has implemented Google Maps in their applications and we are working with them on a large scale load test. Our concern is that Google may interpret this test as a denial-of-service attack and shut out the application. With this in mind, I have three questions:
Is this an issue? Meaning, is Google likely to lock out our application during a test that might have 50,000 simultaneous users?
If this an issue, is there anyone we can chat with to get "pre-approval" of the apps during the testing period to make sure this doesn't happen.
Alternatively, does Google offer a version of their API for testing purposes? (I could not find any information in the documentation)
Please note that we are also exploring other solutions (excluding the calls from the app, stubbing out the API, etc).
Thanks in advance for any help!
Running the load test on the page that implements google maps may result in a bill or having maps turned off if you reach the daily limit of requests.
https://developers.google.com/maps/pricing-and-plans/
I am starting to develop a windows-like client google drive client for linux.
I have some problems that I am solving yet, but one no technical question are worrying me.
The drive sdk has request limit, I want open my app like other options (for example gdrive ) but the request limit will avoid general availability.
I need put a personal id, but I suppose that is not the way to publish the app.
How other options solve this problem?
Google Drive Apps have a "courtesy limit" of 10 million requests per day I believe.
I cannot imagine a situation in the near future where you will run into issues.
If so this is often referred to in the world of software development as "the good problem".
Google will no doubt allow you to scale if your app provides value to users and needs the bandwidth.
If I write an entire web app in GAS and then it gets popular and it starts receiving a thousand requests per second. Is there any way to either pay Google to handle it, or host my GAS app on non-Google infrastructure, in the same way that here does for Google App Engine?
Your GAS script scales up automatically. The only thing that you should be worried about is your code where, if you have locks, thousands of users waiting for a lock will cause delays to the user. Other than that, scaling up shouldn't be a problem. After all, there are possibly millions of scripts being run by different users.
I've never seen Google suggest Apps Script is the tool for that kind of scale. Go to App Engine, do not pass Go, etc.
There is no third-party implementation of the Google Apps Script services. It is, however, a JavaScript implementation on Java (think Rhino) which you can run yourself - or you could run on App Engine and use the Java GData APIs to replace the Apps Script services.
if the App is running under the user account (execute the app as the user accessing the web app) it will consume each user's quotas and use their own account resources (docs, sheets, etc). This would allow for 'unlimited' scalability.
This is just my own view, am I right or totally wrong?
Is it possible to obtain some kind of statistics on which user spent how much time on which application when they log into Google Apps?
Applications example would be gmail/sites/talk etc.,
You could try "Analytics for Google Apps" to analyze traffic limited to your sites, documents, presentations and spreadsheets.
Afaik, it's not possible to monitor gmail and gtalk.
You cannot measure how much time each user spends on each google app. However you can run domain usage reports. there is an API for reports (https://developers.google.com/admin-sdk/reports/v1/get-start/getting-started) and there are also many built-in reports in the google apps console (https://admin.google.com). This help article summarizes it: https://support.google.com/a/answer/6000239?hl=en