Google App Engine Cost

115 views
Skip to first unread message

Terry Caliendo

unread,
Feb 8, 2018, 10:49:38 PM2/8/18
to Google App Engine
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

Ani Hatzis

unread,
Feb 9, 2018, 5:49:40 AM2/9/18
to google-a...@googlegroups.com
Hi Terry!

Yes, it seems your thinking about this in the correct.

I would like to point to a very different solution though. If you also have (basic) JavaScript or Google Apps Script experience, you could check out App Maker which is part of G Suite. It allows users in the same domain to create web-apps with little code. Google also offers G Suite for Nonprofits. From what I have read in your post (small web app, 5 users in the same org, small database, online collaboration) I believe that App Maker could be more suitable for your needs. I don't use it myself, so I'm not 100% certain that data changes would be synced automatically between users that have the same record displayed, but I believe their data bindings supports this use-case. The solution is currently in beta.

If you expect that in the future there might be many more users or users outside of a G Suite domain, App Engine and/or Firebase could be the better approach. Firebase (either with Firebase Realtime Database or the new Firestore) is very helpful syncing your data between users in real-time (mobile or web). You can combine Firebase with App Engine or use either product stand-alone. However, I think real-time collaboration is difficult in App Engine with-out a nice stack like Firebase or some other push service. And in standard environment I don't know any way to use web-sockets for that.

If I remember correctly, there is a new web socket feature for App Engine in development that could help with that aspect. Not sure.

My 2 cents, best wishes
Ani

--
You received this message because you are subscribed to the Google Groups "Google App Engine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-appengi...@googlegroups.com.
To post to this group, send email to google-a...@googlegroups.com.
Visit this group at https://groups.google.com/group/google-appengine.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/7602526c-d37a-4b33-9006-1e86d72e351a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Katayoon (Cloud Platform Support)

unread,
Feb 9, 2018, 1:37:52 PM2/9/18
to Google App Engine
I would like to add that, here you could find all the Google Cloud Platform solutions to help you build on Cloud Platform. Keeping the balance with the free quotas, you won't be charged anymore.

For specific technical questions, I recommend that you ask your question on Stack Overflow using one of the tags monitored by our community technical support team, since there would be more visibility on it.

Reply all
Reply to author
Forward
0 new messages