The Google App Engine (GAE) is the newest of the major cloud computing platforms for hosting web applications. I’ve been experimenting with it for a couple of days, and will post my impressions later. For now, I thought it might be interesting to try to make sense of the pricing.
Unlike many of the other platforms, GAE starts out free. Only when you pass the built-in quotas do you start paying for infrastructure usage.
Google has designed its free quotas to allow approximately 5 million pageviews per month. Before we look at what Google charges for passing that limit, let’s look at this number from a business perspective. (Obviously, it will vary wildly depending on what a site does: a well-designed, read-intensive site might be able to get 10 million pageviews or more without passing the quota, while a poorly-designed, write-intensive site might struggle to fit in 1 million. We’ll just stick with Google’s estimate for now.)
Free quotas and the boutique web site
There are many ways for web sites to earn money, and some (such as membership fees) don’t correlate directly with pageviews. Let’s assume, though, that like most web sites, yours is advertiser-supported. In that case, the most important number to you is your eCPM (effective cost per mille), the mean revenue you earn for every 1,000 pageviews. Some people claim very high numbers for this, like $20 eCPM, but they’re usually talking about either a low-traffic site, or what they get for a few premium direct ad sales before they splatter the rest of their pages with low-paying filler from ad networks. When you average everything out, stick with sites with monthly pageviews in the millions, and consider all pageviews rather than just premium ad sales, about $0.50-$2.50 eCPM seems like a typical revenue range from my experience consulting with big and small companies.
A web site receiving 5 million pageviews/month, then, with ads on all the pages, would be earning ad revenue of $2,500–$12,500/month, or $30,000–$150,000/year. Google has obviously chosen its free-quota cutoff carefully: that’s enough to support one person working on a boutique web site, or maybe two people working on the site part time, but not enough to support even a small company with employees, rent, etc.
Still, why is Google offering this for free while Amazon, for example, isn’t? It’s the ad revenue.
Google runs what is by far the most popular web site ad network, so the odds are that most web sites on GAE will also be running Google ads. Since Google keeps about 25% of ad revenue (at least back in 2006), a site hosted on Google App Engine for free, bringing in $75,000/year for the site owner in revenue from Google ads, likely generates about a $25,000/year ad commission for Google. If AWS allowed a similar free quota, all they’d do is generate $25,000/year for Google as well, not for themselves.
Paid usage and the professional web site
Once your site grows beyond that target, Google wants you to pay. You still get the free quota every month first, so if you’re getting only (say) 7 or 8 million pageviews/month, and they’re evenly-distributed, you won’t be paying very much at all. Let’s say, though, that you are extremely and atypically successful, and your site has grown to tens or hundreds of millions of pageviews, so that the free quotas become insignificant. Here’s what you’ll be paying as of 18 July 2009 (I’ve added the free quotas for comparison):
Item | Unit | Cost | Free quota |
---|---|---|---|
CPU time | hour | $0.10 | 6.5 |
Bandwidth out | gigabyte | $0.12 | 1 |
Bandwidth in | gigabyte | $0.10 | 1 |
Stored data | gigabyte/day | $0.005 | 1 |
Recipients e-mailed | E-mails | $0.0001 | 2000 |
Since we know the unit cost and the free quotas, we can calculate the value of the free quotas:
Item | Unit | Cost | Free quota | Daily value | Monthly value |
---|---|---|---|---|---|
CPU time | hour | $0.10 | 6.5 | $0.65 | $19.77 |
Bandwidth out | gigabyte | $0.12 | 1 | $0.12 | $3.65 |
Bandwidth in | gigabyte | $0.10 | 1 | $0.10 | $3.04 |
Stored data | gigabyte/day | $0.005 | 1 | $0.01 | $0.15 |
Recipients e-mailed | E-mails | $0.0001 | 2000 | $0.20 | $6.08 |
Total | $1.08 | $32.70 |
So the free quotas are worth US $32.70/month, and Google estimates that they can cover 5 million pageviews per month. Let’s put those two numbers together:
$32.70 / 5,000,000 * 1,000 =~ $0.0065
In other words, if your site has the average resource usage Googe expects, the infrastructure cost of hosting on GAE is about two thirds of a cent for every 1,000 pageviews.
Yikes!
Even if that’s wrong by an order of magnitude, you’d still be looking at under $0.07 per thousand pageviews. If you’re running Google ads on your pages at all, you’re probably making at least $0.50 eCPM, and likely closer to $1.00. Google has, effectively, taken infrastructure costs right out of the equation for ad-supported sites.
Other issues
Of course, that doesn’t mean that you’ll make much money — it’s surprisingly hard to get a site up to even 100,000 pageviews/month, much less millions (and $100/month in ad revenue isn’t going to pay your rent) — but at least you’ll be spending your time worrying about the content and usability of your site, rather than the infrastructure, like most startups do.
Still, GAE isn’t necessarily the best choice, yet. I’ve spent a couple of days experimenting with GAE to see if it can support my OurAirports web site (75,000 pageviews/month), with mixed results. Because GAE has to operate transparently in the GFS/BigTable cloud, its free or low price comes with a lot of constraints: the datastore is missing many basic features I rely on in a relational database (e.g. views, joins, and referential integrity), there’s no local filesystem access, no threads, and extremely weak support for backend computation such as aggregating information or importing data.
It used to be that you could use any programming language you wanted on GAE, as long as it was Python. Now that GAE also supports a Java Virtual Machine (with some restrictions), you can run not only Java, but any JVM-based language such as JRuby (as long as it complies with GAE’s JVM restrictions), but you still can’t just dump a PHP app onto GAE and have it run: you’re basically going to have to rewrite the app from scratch.
There’s also the problem of putting your eggs in Google’s basket, so to speak — the 6+ hour outage last month made it clear that cloud computing doesn’t guarantee better uptime than a dedicated server. And if Google suddenly decides to increase their rates, it may be very difficult to move your code and data to a different site, unless you take very advanced precautions.
If you can live with the constraints, though, the pricing is certainly right.
Pingback: Costing out Google App Engine | UK Web Designer
You can run PHP on the JVM, too… search for “Quercus GAE”. There will probably be some changes, but it won’t be a rewrite.
Pingback: » Megginson Technologies: Quoderat » Blog Archive » Costing out …
Pingback: Amazon EC2 “micro instances” vs. Google App Engine | Quoderat