Are the authorization problems easier to solve from a local machine than from a cloud server?
Premise: I have never used an external database and I don’t have scalability problems, because my user base is limited to my company’s users and a few external users.
Said that, well… don’t use uplink!
I do use uplink because my apps interact with Notes, CAD and CAM scripts, Excel VBA macros and other local resources that only work on my Windows machines. My uplink servers are designed to be easily duplicated, so I can quickly add more if I need, but I would need to do it manually. Also, by utilizing uplink servers, any network outages in my local network are compounded with those experienced by Anvil, ultimately leading to increased overall fragility.
I use PyCharm too during the development and testing, but the production app runs on the server.
Here I describe how I create a module with classes that can be used on both client and server side, and can be tested and developed locally with PyCharm.
When I want to debug some server callables with PyCharm, I include them in an uplink and run that in PyCharm, so the calls to those functions will run locally rather than running on the Anvil server. Then I use the app normally and when those callables are called, I can debug them. This is not the smoothest setup, because sometimes it may not be clear what executes where, but when you get it working, it allows to run the production app on the Anvil server and keeps the burden of managing local infrastructure limited to the development phase.
I never used the open source Anvil server locally during development, and I never used an external database (hence this post). But I would rather use a local Anvil server during development (or Amoni) than running and managing local uplink servers in production.