In theory, there is not any reason why you actually need to use a backend service provider of any kind. You can wire up a server with a static IP address and a domain name anywhere you want. In practice, nobody wants to deal with the hassle of doing all this stuff yourself.
On the other hand, you have another question to answer: what does hassle elimination cost? Experience has taught me that the cost is usually lack of control. To make the least amount of hassle possible, you have to save people from making choices. Having fewer choices means you have less control.
So the question to answer is: How much control do you need, and how much hassle are you willing to deal with?
If you need a high level of control and are willing to deal with a high amount of hassle, you probably want the "box with a static IP" option.
AWS reduces some of the trouble of obtaining boxen set up, however, reduces your control over the hardware your code runs in. This is almost certainly acceptable to you unless you've got very odd hardware requirements.
Google App Engine removes the trouble of getting to configure software, however, reduces your control over the software stack your code can run with. Do you have any special software requirements? For example, do you specifically need to run on a certain version of Linux? Do you get to have a special requirement to use say Redis instead of just a Memcache/database combination? If not, then this is probably acceptable to you as well.
Most of the Backend as a Service provider takes away the hassle of writing a backend altogether, but at the cost of removing your control over the backend. Are the supported authentication methods good enough for you? Does the backend enable you to access your data precisely as you need? If so, this is probably acceptable to you.
App engine provides you with enough control while not making you manage every detail of your application. If you would like more control, I would suggest looking at AWS. If you want your backend written for you automatically and can handle having less control, I'd suggest looking at BaaS.