Google App Engine: Free and still barely worth it
tomstechblog.com
tomstechblog.com
"Great post. Windows web hosting is still king and that will not change anytime soon. Web hosting has grown such a loyal following that it still going to be very popular. Most of the time businesses will choose Windows web hosting over everything else because of the respect they have for Microsoft and the products they produce."
WTF?
Arguably, Google has built the largest distributed computing cluster in the world with proprietary OS and datastore that is finely tuned to run on that cluster. They just don't advertise these facts too often. I'm sure that their dataset is easily in the petascale, and I'm sure that a lot of it is running in RAM to achieve the <400 millisecond response times they have.
So, compare Google's infrastructure expertise to your $6 hosting account at Wally's Web Host, and I think that you start to see the difference. Wally might well sell you 15,000 Gb/month of web transfer, but they maybe might be overselling what they can actually provide. And, how many other web hosts offer to manage fault tolerant database replication for you? Heck, what's your instance up time at Wally's Web Host? Last I checked, Google's had 15 minutes of downtime since 2000.
With GAE, I Google isn't selling web hosting. What they are doing is offering to outsource your sys admin duties for free. The verdict is still out, but I would be interested in seeing the response of apps on GAE to first couple of Slashdottings/Diggings/Boingboings. I'd venture a guess that they'll handle it rather smoothly, and that the developer running the site will be able to snooze through it, instead of panicking and trying to reboot the server, cache the page in question, or have Apache serve the page as a static file. Not having to panic each time your server pings your cell phone can only be a good thing for developers.
Theoretically. Right now, unless I'm reading things wrong, the limits imposed by the agreement are less than quite a small shared hosting account, and pretty much any dedicated or VPS account, could serve each month. Is n scalability really infinite, or even interesting, if it's less than a single box could serve using standard tools?
I'm sure it'll expand in time, and maybe even in time to keep up with any app you build on it that happens to be explosively successful. I'm just saying that it's silly to imply that App Engine scales if you can't actually run bigger applications on it than a single traditional host.
Can't people just say "Hey look, here's a new product which IS USEFUL to somebody out there on earth and a damn nifty one at that." That somebody in Google App Engine's case is a hacker who wants to quickly try out his hobbies without worrying about all the mess that comes with managing a web host.
But no. We must compare. And we must make noise. Lots of it.
Perhaps it gives us a way to figure out which blogs / sites to NEVER visit.
edit : The article that the author links to is clearly over the top too so I think this post is partly a very angry reaction to that article.
I just had a thought. Suppose that, hypothetically, several months ago a service very much like the Google App Engine had been released by a small YC company. And suppose that, hypothetically, that product was nearly out of beta and was already hosting apps on a scalable platform with a standard set of open-source APIs and minimal sysadmin hassle?
What level of press hysteria would this product be getting, do you think, relative to this semi-complete beta from Google that doesn't yet have a clear pricing or scaling model?
Would anyone on the Heroku team be willing to comment on the record? ;)
[Note: I haven't used Heroku enough to really compare it to Google App Engine. However, nobody has used Google App Engine enough to really compare it to Heroku...]
"Google App Engine's ability to scale depends on how much server resources Google is willing to dedicate to the task of running these applications. Google is not going to risk slowing down their primary services for a Google App Engine application. So their ability to scale could very well be less than other companies, we just don't know."
No doubt a $6/mo. account at Dreamhost will scale better than Google.
Your Google Apps site is going to have limitations, it is going to have to pay to exceed those limitations, and it is going to have to be carefully architected in order to scale. The original poster notes, correctly, that half of Google Apps' limitations are restrictive compared to those of a $7-per-month web host, and the other half -- the ones that will make or break the value proposition -- haven't been stated yet.
Not really -- this is "it's less effort for them to deploy everything on their existing, robust tools" thinking. I personally don't second-guess it, because once a tool proves itself worthy at the GOOG, it tends to stick around for a long, long time. Some of my cave-man Python code is probably still kicking around in ops/SRE. (It's hard to write really bad Python, although there have been valiant efforts over the years, and we're sure to see many more)
Your skepticism is warranted, but I just think it's misplaced. The one thing that Google has proven they can do as well as, perhaps better than, anyone else is get tasks to run transparently across a whole shitload of computers and datacenters. Maybe everyone there is turning evil nowadays, I don't know, I can't know -- what I do know is that it would be more effort to turn around and fuck up the existing building blocks than to simply open them up (with appropriate restrictions) via GAE. That's all.
Normally I find your commentary extremely perceptive, but this time I think that you're off the mark. JMHO
nor are they going to lend me an entire datacenter's worth of computers to ensure that my naive attempt to bubble-sort 1e6 database rows per pageview will "scale" out to 10 million hits per day.
If the price is right, I'd bet you they would rent it... That's really what AWS is all about. Although it will be a while before the GOOG has entire excess datacenters' worth of capacity -- somehow, Google always managed to soak up all the deployed capacity and then some, at all times. As someone coming from a supercomputing background, I thought that was really fucking cool, because when you're deploying racks an 18-wheeler at a time, you might expect some lag between powering up and going to 1mW steady. Nope.
I've never seen a company that could scale infrastructure like Google, and I worked at IBM Microelectronics a couple years before GOOG, along with another one of the biggest websites on the planet, and deployed my own multihomed network in the interim (as mentioned elsewhere, one of my bigger triumps as an 'architect' was beating Microsoft at their own game with a staff of 4 people during that time). No one I have ever seen comes close to Google in terms of operational efficiency, and I've seen a lot over the years.
Your Google Apps site is going to have limitations
No shit, that's why it's free. I honestly cannot see how those limitations will include a lack of fault tolerance, the provision of which is their biggest selling point (IMHO). Everything else (again IMHO) pales in comparison.
The original poster notes, correctly, that half of Google Apps' limitations are restrictive compared to those of a $7-per-month web host
For certain conditions -- you can't be a Pythonista or the comparison goes out the window. Moreover, if you create several GAE accounts (do it! do it! Just because I worked there doesn't mean I don't support taking advantage of them), you now have a framework for freely deploying a bunch of pilot projects for $0 down and $0/month.
Just don't marry yourself to the Google toolset (Users, ObjectStore) too tightly and you get a LOT of good shit for free. AWS is more open and more loosely coupled, so for many (most?) non-larval startups it's probably the better choice at this point in time.
But if you're a cubicle dweller plotting your escape? FUCKING GO FOR IT, MAN! The price is right (free) and Django is an awesome framework for pilot projects. If you strike it big... well, burn that bridge when you come to it.
Oddly enough, I'm going to have to invoke DHH's "build first, scale later" maxim here -- "build first, limit lockin, migrate later" for many people. Not all, maybe not even most, but for individual developers with a little self-discipline, this is a HUGE step.
And (this is killer) nobody says you can't farm our your long-running jobs to AWS/EC2 and call them via REST from your GAE app. Just like the ticket for urllib2 support is mostly about RESTful auth and data transfer. A LOT of us want to decouple GAE from those bits -- instead of complaining, some of us are working on it, and it seems like Guido and others at Google are supporting the effort.
Never attribute to malice that which can be adequately explained by the GOOG's internal disorganization and 'organic' (to be generous) growth pattern. ;-)
Why, thank you! In this case, my writing may be completely off base, but it has achieved its victory condition: It has drawn you out to provide a very intelligent level of argument. ;)
And I am operating at a severe disadvantage... all I know about Google (and about Python and Django, for that matter) is what I read in the papers. You really can't learn much about what's going on inside Google from the papers.
That's a big part of the problem here: with Google Apps the company seems to be gearing up to make a transition toward more transparency, but they're not quite there yet. I am fully willing to admit that Google's infrastructure kicks the butt of a $7 web host... once I know what I'm getting, what the charge is, and what the service level will be. I certainly agree that the various limitations we can see now -- Python only, limited static files, limits on peak bandwidth, no SSL for now, blah blah blah -- will all be forgivable, even trivial, once we have confidence that Google will deliver cheap scalability and rock-solid operational performance -- and once there are well-understood approaches and tools for deploying Google Apps without "marrying oneself to the Google toolset". But for much of their history Google's reputation has been kind of like Batman's reputation: They're known to be superheroes, they have many wonderful toys, they use them mostly for good and we're very grateful... but they operate in the shadows, and folks often complain that it's hard to get them on the phone to explain exactly why your pagerank just dropped by fifty spots overnight, or exactly how they control your ad revenue for false clicks.
I don't attribute any of that to malice, though. And it's early in the history of the beta of Google Apps (a real beta, not one of those legendary eternal "betas"), so we must be patient. Certainly your words are cause for optimism.
And anyone complaining about static files and cron jobs doesn't understand that those don't belong on your application server anyway. Google is providing scaling for the application server and the data storage. Static files and cron jobs can be easily scaled. Database servers not so much.