I host my personal website GAE. One thing to be aware of is when moving to a personal domain, you need to map to a subdomain so you can't use a naked domain[1] (e.g. 'http://github.com'). You have to map to something like 'www.'
Did a quick comparison with my own service, BitBalloon.
On appengine you're just deploying a dynamic app that just routes everything to a static folder, but since Google doesn't know this is a static site, it's pretty limited what they can do to set good cache headers and optimize stuff for performance. So even if they have an awesome infrastructure, BitBalloon will make your site perform better.
Here's the quick test result from the same site uploaded to AppEngine and BitBalloon:
The difference is much lower if you run the App Engine request a second time. The first time you run it, it needs to spin up an instance which can take some time. If I run it a second time I get 770ms for bitballoon and 955ms for App Engine, which is much less significant. Also, running the test from my local computer, app engine wins out presumably because Google's network is basically unmatched when it comes to proximity to your users.
Additionally, if you actually define your static files as static, then it doesn't even need to spin up instances to serve them.
I've certainly had my criticisms of App Engine in the past, and for certain workloads it's not appropriate [1], but for mostly read only websites like blogs, news, landing pages, I even run a forum on app engine, it's perfect.
In fact, that blog post where I complain about the cost of app engine for hosting my game is itself hosted on app engine. It cost me 6c the day it hit the front page of hn. I pay more for the domain than I do for app engine hosting.
Yeah, I'd personally rather have naked domains than a couple hundred milliseconds better performance for my static sites (which are basic and small pretty much by definition.)
I actually benchmarked this a while ago. I use a lot of static pages that need to be absurdly fast.
I can definitively say that unless Google App Engine has substantially changed in architecture over the last 12 months, it is definitely not faster to host your static site there rather than on an nginx-based VPS with someone like Digital Ocean.
My tests showed load times on GAE-hosted static sites to be around 200ms - 300ms slower than a reasonably-optimised DO VPS.
It's possible, of course, that GAE would pick up some speed if you're loading the page from somewhere a long way away from the equivalent VPS, as GAE essentially comes with a built-in CDN (to the best of my understanding).
Is there a way to redirect all[1] requests to index.html? The use case is an Ember app that uses history location and is deployed as a static website. In this case, requests to `/whatever` still need to serve index.html and let Ember handle the routing. Can GAE app.yaml specify rules like this?
I ran into this problem with S3 and ended up writing a simple server to handle it and deploying to Heroku.
[1] By all, I mean all except the ones to /assets or something similar.
Anything you don't want to go to index.html you can just put before that handler since it processes the app.yaml from top to bottom and stops at the first match.
If you want mostly free hosting I built this a long time ago. http://www.cdninabox.com/ it mirrors any site with caching using Google Edge cache.
Because it will handle URL Re-Writes you can host on any host in a subdirectory and still have it be your root for the customer.
I mostly abandoned this when Google Launched "PageSpeed" for appengine which was too much a direct competitor. Also when they moved to AppsForDomains you could no longer have a naked domain, and that was annoying. I don't like www. having to be on the front of my URL.
Somewhat related, I've recently found and evaluated nodejs static site generators (including ghost which I find vastly overhyped and still too stuck in wordpress way of doing things). And the relatively unknown wintersmith [1] is just so awesome that it really needs some mention. It's easy to get started, relatively well documented compared to others, and you have full control to extend it should you need to.
Putting up a landing page for a 'parked' domain name would be a great use of this. Rather than letting your registrar put up a page where they make money off of the clicks.
I have my personal site hosted on Google App Engine too. Must say its sleek and simple. I had evaluated a lot of other (typical) options like EC2, Dropbox(S3) and even Github pages. Nothing came close to the ease and the performance that GAE gives. Benchmarking about 10 URLs on my site, returned an a.r.t of 3.5ms aggregate on GAE vs 5.6 ms on EC2.
Congratulations -- you've just joined the club of people who've learned that programmers, extraordinarily aware of computer program syntax and having a desire to tune code endlessly, are almost all paradoxically hostile toward any attention paid to their broken English prose.
When learning a new language it is often difficult to master the little details. Swap out 'has' with 'have', 'its' with 'their', 'other' with 'others' and it changes to:
"All the services have their advantages and disadvantages over others"
Each of these differences may appear significant to a native speaker, but the basic meaning of each word is almost the same.
[+] [-] rza|12 years ago|reply
[1] https://developers.google.com/appengine/kb/general#naked_dom...
[+] [-] sxp|12 years ago|reply
[+] [-] junkmailking|12 years ago|reply
For example, my site (justbeamit.com), runs on GAE, but the naked domain simply redirects to the www.
[+] [-] bobfunk|12 years ago|reply
On appengine you're just deploying a dynamic app that just routes everything to a static folder, but since Google doesn't know this is a static site, it's pretty limited what they can do to set good cache headers and optimize stuff for performance. So even if they have an awesome infrastructure, BitBalloon will make your site perform better.
Here's the quick test result from the same site uploaded to AppEngine and BitBalloon:
http://tools.pingdom.com/fpt/#!/vLi9d/http://teststaticsite.... http://tools.pingdom.com/fpt/#!/dwqwvX/http://speedtest.bitb...
[+] [-] StavrosK|12 years ago|reply
https://github.com/stochastic-technologies/static-appengine-...
It supports multiple domains for a single AppEngine instance, and custom URLs for each page. Pull requests for caching/headers/etc welcome!
[+] [-] codeka|12 years ago|reply
Additionally, if you actually define your static files as static, then it doesn't even need to spin up instances to serve them.
I've certainly had my criticisms of App Engine in the past, and for certain workloads it's not appropriate [1], but for mostly read only websites like blogs, news, landing pages, I even run a forum on app engine, it's perfect.
In fact, that blog post where I complain about the cost of app engine for hosting my game is itself hosted on app engine. It cost me 6c the day it hit the front page of hn. I pay more for the domain than I do for app engine hosting.
[1]: http://www.war-worlds.com/blog/2013/06/switched-away-from-ap...
[+] [-] scottfr|12 years ago|reply
[+] [-] ithkuil|12 years ago|reply
[+] [-] adam74|12 years ago|reply
[+] [-] praseodym|12 years ago|reply
[+] [-] Andrex|12 years ago|reply
[+] [-] ethikal|12 years ago|reply
Um, wow.
[+] [-] thenomad|12 years ago|reply
I can definitively say that unless Google App Engine has substantially changed in architecture over the last 12 months, it is definitely not faster to host your static site there rather than on an nginx-based VPS with someone like Digital Ocean.
My tests showed load times on GAE-hosted static sites to be around 200ms - 300ms slower than a reasonably-optimised DO VPS.
It's possible, of course, that GAE would pick up some speed if you're loading the page from somewhere a long way away from the equivalent VPS, as GAE essentially comes with a built-in CDN (to the best of my understanding).
[+] [-] mehulkar|12 years ago|reply
I ran into this problem with S3 and ended up writing a simple server to handle it and deploying to Heroku.
[1] By all, I mean all except the ones to /assets or something similar.
[+] [-] toomuchtodo|12 years ago|reply
[+] [-] rza|12 years ago|reply
handlers:
- url: /.*
Anything you don't want to go to index.html you can just put before that handler since it processes the app.yaml from top to bottom and stops at the first match.[+] [-] tapsboy|12 years ago|reply
[+] [-] drakaal|12 years ago|reply
Because it will handle URL Re-Writes you can host on any host in a subdirectory and still have it be your root for the customer.
I mostly abandoned this when Google Launched "PageSpeed" for appengine which was too much a direct competitor. Also when they moved to AppsForDomains you could no longer have a naked domain, and that was annoying. I don't like www. having to be on the front of my URL.
[+] [-] mountaineer|12 years ago|reply
[1] http://drydrop.binaryage.com/
[+] [-] westurner|12 years ago|reply
[+] [-] fuzzythinker|12 years ago|reply
[1] http://wintersmith.io
[+] [-] bhartzer|12 years ago|reply
[+] [-] aritraghosh007|12 years ago|reply
[+] [-] contacternst|12 years ago|reply
What's wrong with this sentence?
[+] [-] lutusp|12 years ago|reply
[+] [-] rikkus|12 years ago|reply
[+] [-] Ruska|12 years ago|reply
"All the services have their advantages and disadvantages over others"
Each of these differences may appear significant to a native speaker, but the basic meaning of each word is almost the same.
[+] [-] rikkus|12 years ago|reply
[+] [-] herokusaki|12 years ago|reply
[+] [-] chrisfarms|12 years ago|reply
https://developers.google.com/appengine/docs/quotas
[+] [-] Kiro|12 years ago|reply
[+] [-] westurner|12 years ago|reply
[+] [-] WhitneyLand|12 years ago|reply
[+] [-] blackdogie|12 years ago|reply
[+] [-] donniezazen|12 years ago|reply
[+] [-] skj|12 years ago|reply
https://developers.google.com/appengine/docs/push-to-deploy
[+] [-] donniezazen|12 years ago|reply
[+] [-] tuananh|12 years ago|reply
[+] [-] babyturtle|12 years ago|reply