Having recently migrated all of my blog/site content to Google AppEngine away from my prior $10/month hosting I was curious about what the monthly cost of running the site would be. My blog went live on AppEngine on Nov 13th and with the default instance settings was running ~$2.00/day at roughly 50-55 instance hours the vast majority of which is servicing requests from crawlers.
Tuning Google AppEngine, For Cost
As mentioned above I started with the default settings and the first significant change was to set Idle Instance Max to 1 as running multiple instances chews through the free 28 hours at an xN multiplier rate. This change alone had a significant impact on reducing overall instance hours though clearly impacts the performance of my blog. I’ve tested the performance and for a blog I feel it’s suitable so I’m comfortable leaving things at this level for awhile.
robots.txt and dos.yaml
I’ve been running another site on AppEngine which has both significantly more pages and traffic than my blog though I’ve been able to optimize it to stay under 28 instance hours and one key factor has monitoring bot traffic and blocking via either robots.txt or dos.yaml.
Google Cloud SQL Costs
So far for the month of November which is missing roughly 12.5 days worth of actual traffic to my blog I’ll be around $15. In addition to normal site traffic (crawlers & users) I’m currently running JetPack which appears to ping back to my domain for tracking stats etc. I’ll need to evaluate the possible benefits of using dedicated memcache over the Cloud SQL expense as most of the site’s content is static. I’ve configured WordPress as recommended by Google using Memcached plugin as well as Batcache.
I’ll admit I mistakenly hadn’t thought too much about SSL prior to finally switching my domain over to Google’s servers. At that point, I faced the issue of having to buy SSL support for AppEngine which would certainly add to the monthly cost of running my blog. Seeing as how I’m the only administrator this wasn’t exactly an attractive option given the traffic challenges my blog has faced coupled with the desire to keep costs down. I’ve instead opted to use the free SSL on the appspot.com version of my site to manage WordPress administration which works *fairly* well though there are places (like the Themes Editor) which expect to load all content from the hosting domain which in my case doesn’t work. I suspect there are other issues here as well that I simply haven’t run into yet but time will certainly reveal those issues too.
At this point, I’m fairly happy with the switch as WordPress is far more advanced that BlogEngine.NET 2.X not to mention it has clients for iPad and iPhone which is likely where I’ll be posted from the vast majority of the time. That said, I’ll continue watching the hosting costs and learning more about the SSL issues.
Updated Results (Dec 6, 2013)
I’ve been running with the above modifications since Nov. 21, 2013 and my blog is running about 24-26 instance hours per day, within Google’s free 28 hours. It looks like my associated Cloud SQL instance is running about $14-16/month which is roughly comparable to where I was hosting before. Prior to these changes my instance cost was nearing $2/day and typically exceeding 50 instance hours.