What hosting services should I use for a personal app?

hosting
web development
Published

November 27, 2024

Conclusion

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