What hosting services should I use for a personal app?
I should write my application in Python and host it on Google App Engine using the Standard Environment — subject to experimentation of course. For the framework I think I will use Flask (or perhaps FastAPI — I need to experiment a bit). Bootstrap on the front-end (or possibly React, again I need to experiment). Database whatever Google offers I guess.
The issue
I am experimenting with creating personal apps for productivity, automatic processing of information, and the creation of graphs from personally collected data. My criteria are that the solution should
- use technologies that are useful to learn.
- not be expensive to host.
- be nice and fun to use and do.
- not be overly complex.
The options considered
Local but on iCloud
I considered using Javascript in the client communicating with a SQLite database on my personal iCloud. This option doesn’t really work because of security in the browser.
A VPS
It is BlackFriday at the moment so there are some really cheap VPS offers, for example from Hostinger. Just a few dollars per month. But I’ve had VPS systems before and they can be a pain to configure maintain in the long-term. It doesn’t seem like a good option for a fairly simple web service.
Application platforms
Platforms like Heroku or Render are popular. However I’ve decided on Google App Engine because I use Google services for my work. It wouldn’t be my first choice — I don’t like how complex Google services tend to be, but since I use both BigQuery and Looker Studio in my work, it could be useful to learn another Google platform, because then I can potentially use it in my professional work. Google App Engine can integrate directly with Big Query, for example. Also since my usage is going to be very minor, I can probably do what I want at zero cost.
Frameworks
For the app framework, there are various options. Flask looks good and is simple and well established. Another option that I should explore is FastAPI, but perhaps Flask is the best option in the short term.
Support material
I used this discussion with ChatGPT 4o to help my decisions: Python Web App Options