I'm trying to understand what it would cost to run a fairly simple app on Google App Engine. I've tried the cost calculator, but I'm a bit unsure that I'm entering everything correctly (and/or reading the limits of the free tier correctly). The simple app I'm developing is for a non-profit so I need to keep the cost extremely low.
Basic App Info
The app will be a specialized database of client information.
The app will be very responsive for the user in that when the user makes a change to a field, the browser will send the change to the server after the focus moves away from the field (ie. the user won't be hitting a "submit" button to save the changes).
Also, in similar fashion to the way google docs works, if two users have the same record open at the same time and one user makes an update to a field that gets saved (as outlined above), the system will send the change to the other user's browser to update the corresponding field.
I'm primarily a php developer and this type of instant interaction is not well suited, because each instance of php/cgi is resource intensive. Thus keeping a process alive to create a websocket type setup would put an unnecessary strain on the server. And polling the server every 5 seconds via client side "pull" would also be intensive on the server.
Flexible Enviornment
Thus I'm was looking at NodeJS as the development platform as I believe it would handle websockets with high efficiency. But it appears as though Node JS needs to run in the "Flexible Environment", which does not have a free tier and appears as though it would be somewhat costly for the non profit at around $20-$40 per month (from articles I've read on the internet).
Standard Environment
The "Standard Environment" has a free tier that it seems like I may be able to keep this app within. I think I'd probably choose to have the app developed in Python, but I'm open to suggestions as to what would be the best player for websockets (or server "push") in the Standard Envoronment.
App Resource Needs
My app will have about 5 users that will use the app on and off throughout their day. Each of them would make approximately 5 changes per session, and browse approximately 10 records per session. And lets say each worker does 20 sessions per day, and that the sessions each last 10 minutes. So, with approx 23 work days per month, there would be about a total of 11,500 writes per month and 22,000 reads per month. The total data stored on the database would be small, around 10MB.
Cost
From what I'm gathering from the pricing, I'm absolutely in the free tier for the database usage, correct?
If I had the app built to run in the Standard Environment, it appears as though I can have one F1 instance running 24/7 for free. At some point during the day the 5 users could all be accessing the app at the same time, so would one F1 instance (running Python) be able to handle 5 concurrent websocket connections with read/writes to the database?
If so it appears as though I could get this app hosted for this non profit on google's platform for free.
Thoughts
Am I thinking about this in the correct way? Are there any fees I'm likely missing?
Thanks for any suggestions and input.
Terry