top | item 7252435

Free static page hosting on Google App Engine in minutes

95 points| fizerkhan | 12 years ago |fizerkhan.com | reply

63 comments

order
[+] rza|12 years ago|reply
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.'

[1] https://developers.google.com/appengine/kb/general#naked_dom...

[+] junkmailking|12 years ago|reply
This isn't really true. You just need to configure a redirect from the naked domain to your serving URL, at www.

For example, my site (justbeamit.com), runs on GAE, but the naked domain simply redirects to the www.

[+] bobfunk|12 years ago|reply
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:

http://tools.pingdom.com/fpt/#!/vLi9d/http://teststaticsite.... http://tools.pingdom.com/fpt/#!/dwqwvX/http://speedtest.bitb...

[+] codeka|12 years ago|reply
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.

[1]: http://www.war-worlds.com/blog/2013/06/switched-away-from-ap...

[+] scottfr|12 years ago|reply
I believe App Engine actually has specific handling for files you identify as being static. This bypasses much of the dynamic overhead.
[+] adam74|12 years ago|reply
The speed difference is negligible. The price difference for a custom domain is not.
[+] praseodym|12 years ago|reply
GitHub Pages is even easier to set up, and does support naked domains (although to use their CDN it is limited to DNS providers that support ALIAS records) -- https://github.com/blog/1715-faster-more-awesome-github-page...
[+] Andrex|12 years ago|reply
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.)
[+] ethikal|12 years ago|reply
"Moreover it is faster than other static hosting services. Because it runs on Google infrastructure."

Um, wow.

[+] thenomad|12 years ago|reply
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).

[+] mehulkar|12 years ago|reply
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.

[+] toomuchtodo|12 years ago|reply
Did you try using Cloudfront with S3? I believe it solves the problem you detailed with regards to redirects.
[+] rza|12 years ago|reply
Something like this?

handlers:

- url: /.*

  mime_type: text/html

  static_files: static/index.html

  upload: static/index.html
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
How is it better than just using Dropbox or S3 or even Google Drive to host static content?
[+] drakaal|12 years ago|reply
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.

[+] fuzzythinker|12 years ago|reply
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.

[1] http://wintersmith.io

[+] bhartzer|12 years ago|reply
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.
[+] aritraghosh007|12 years ago|reply
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.
[+] contacternst|12 years ago|reply
"All the services has its advantages and disadvantages over other."

What's wrong with this sentence?

[+] lutusp|12 years ago|reply
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.
[+] rikkus|12 years ago|reply
It's derogatory without being useful? Or did you mean the parent comment's?
[+] Ruska|12 years ago|reply
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.

[+] rikkus|12 years ago|reply
Seems you can set up custom DNS for your site too, with wildcards even. Pretty nifty.
[+] WhitneyLand|12 years ago|reply
What service allows full SSL use without paying big bucks?
[+] donniezazen|12 years ago|reply
Since it's Google, I am sure one is allowed to use Adsense.
[+] tuananh|12 years ago|reply
What are the advantages of using GAE over Github Pages?
[+] babyturtle|12 years ago|reply
To have your own domain running on GAE is not free anymore... and it is a ridiculous process to set it up.