Full disclosure: I work for Google on AppEngine, but I'm trying to be impartial. I should also note (as always) that I'm giving my own opinions, not the company's.
In theory, there's no reason why you really 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 hassle of getting boxen set up, but reduces your control over the hardware your software runs in. This is almost certainly acceptable to you unless you have very odd hardware requirements.
Google App Engine removes the hassle of having to configure software, but reduces your control over the software stack your software will 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 need to have a special requirement to use say Redis rather than just a memcache/database combination? If not, then this is probably acceptable to you as well.
Most of the Backend as a Service providers remove 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 allow you to access your data exactly as you need? If so, this is probably acceptable to you.
Now, here's where my impartiality ends. Personally, I feel that App Engine is at a sweet spot. It gives you enough control without making you manage every detail of your application. If you need more control, I'd suggest looking at AWS. If you want your backend written for you automagically and can handle having less control, I'd suggest looking at BaaS.