Is it acceptable to install and run google app engine on a server the same way as on a local machine for testing?
I can’t personally think of any reasons why not to, but I would imagine there would be some.
Is the best option to host with Google’s app servers? What does Udacity do?
No, it’s not really acceptable. The local server is just a “toy” server which mimics what the real server does, but without any optimization or safety. The datastore for example loads everything in memory, and writes everything from memory in a single file.
It’s not designed at all to host real applications. Just to be able to test locally without deploying on the real app engine every time. Some services are not available locally either.
And frankly, if the goal is to host locally and not to exploit the elasticity of the app engine infrastructure, there are much better options. Use a real database, and a runtime environment which allows all the classes to be used.