Google Previews App Engine
An anonymous reader writes "Google is giving a handful of web programmers the opportunity to create and run their own Web applications on their servers. Today's launch of a preview release of Google App Engine signals a new era of collaboration with third-party software developers. 'The goal is to make it easy to get started with a new Web app, and then make it easy to scale when that app reaches the point where it's receiving significant traffic and has millions of users," said Google product manager, Paul McDonald in a blog post."
GAPE - Google App Engine
Any fool can talk, but it takes a wise man to listen.
Like I am going to take this security risk ? No way.
It looks very similar to Amazon's EC2 hosted server service. They even have a simplified database system much like EC2. That in itself is enough to scare a lot of people away due to the pain of future migration.
However, the free 500MB worth of storage is really attrative for anyone who wants to try a few things out online. I wish it supported more than Python, but they say they are working on it now. Getting a few more programming languages supported will make this much more flexible.
I'm signing up for a block. Who knows what I'll do with it. But at no cost, what do I really have to lose?
I hope I can run PHP...
I for one welcome our new Google Cloud Computing overlords!
Jokes aside, if done right, this thing can bring Google to the position of total control over a large part of the Internet, which is a bit scary, to say it mildly..
Implement your own GDrive - It shouldn't be to hard with 500MB of storage, user authentication, etc.
As a software developer and business owner why would I want to leave myself at the mercy of Google like this by being tied to their service?
I think the invisible hand of the market has its middle finger extended
--A wise old fart named SC0RN
This seems to be where (web) application development is heading: quick prototyping, no or hardly any deployment, storage or scalability issues. It's quite tempting, to say the least. Now compare that to the development environment Microsoft currently offers...
If I where working at Microsoft development I'd be shitting my pants right about now (imagine pictures of Ballmer dancing and screaming "developers! developers! developers!" here). This is clearly what google's after now that they own search (and web advertising). They have been building huge datacenters for a while now, they own probably one of the largest distributed computing systems on earth (and know how to keep it up and running), *and* they own parts of the netwerk that connects it all together (fibre etc.).
And now they are offering all web developers the ability to use this infrastructure..
On the other hand, I do see some important privacy and security concerns here. If I owned a company, I'm not sure I'd trust all my source code, data etc. to be stored on Google's servers, which are (in my case) even in a completely different country with different laws, jurisdiction etc. Not to mention, what if I later want to migrate because I don't like the terms of service, etc. Or, what happens if you would create anything that takes off and Google decides that they like it..
Every expression is true, for a given value of 'true'
How's this for a web app - HTML. Instead of that silly template system that you have to use to build a website how about just allowing basic HTML? Or possibly, if you just have to keep the template system, offer a blank white page to begin with.
I can understand the desire to not offer server-side scripting, but why no basic HTML?
I don't need no stinking google to do that ...
...
...
wait
you meant on THEIR servers
right.
---
"The chances of a demonic possession spreading are remote -- relax."
Originally, I thought that this would be a great competitor for EC2, but in reality it's very different.
EC2 allows you to configure a GNU/Linux environment to your liking and use it almost the same as you would use a dedicated server or VPS. Google's App Engine allows you to create Google Applications. They're written in Python (one of Google's production languages) and need to be written specifically to use things like Google's Bigtable.
That's not necessarily a bad thing. Google's infrastructure is top notch, but don't expect to try and launch the next Web 2.0 app this way. If you use Google's App Engine, your only course is independent or being bought by Google - because you'd have to rewrite so much of your app to migrate to other infrastructure. With EC2, it's decently easy to switch to dedicated servers. S3 could be replaced by a MogileFS cluster. That's much more appealing to anyone that isn't Google.
Essentially, Google's App Engine locks you into Google in a way that EC2/S3 doesn't lock you into Amazon (in fact, some of the considerations like lack of persistent storage make it easier to move away).
With their history of censorship and government complicity, I know I wouldn't. I don't even like using any of there products.
A lot of talk is made about making web applications scalable, but in reality, you're not likely to have 200 million users overnight. Facebook and MySpace have about 50 million users a piece, and the reason that they can't scale is because everyone who works at those places is a moron. I mean MySpace runs on Windows and SQLServer, and then they wonder why they can't handle the traffic, or there application is exposing bugs to end-users at a rate of tens of thousands per second.
If you can't support a web application with a million concurrent users, and 50k transactions a second on a $4000 piece of hardware, then that generally means one of four things is wrong:
1. You're paying way too much for hardware.
2. Your DB Server is slow as hell. For high performance try PostgreSQL or MySQL instead of Oracle/SQLServer.
3. You application platform sucks. Try J2EE/Model 2. I've worked with everything you can imagine and Struts 1/Velocity smokes any other web-application framework out there. On average, It's about 10,000 times faster than CGI/PERL. Don't believe me? Quit being a fan boy and actually do some experimenting yourself[1]. Try doing some load testing against the same application implemented in different languages and see for yourself.
4. Your code sucks. Try picking up some books on Design Patterns. If you can't tell me what a Flyweight is or explain how process and threading models work on your particular platform, then you shouldn't be writing web-applications.
[1] That's why they call it computer science not computer religion.
From Google:
The App Engine datastore is not like a traditional relational database. Data objects, or "entities," have a kind and a set of properties. Queries can retrieve entities of a given kind filtered and sorted by the values of the properties. Property values can be of any of the supported property value types.
Say you create a successful app that really starts to take off. Are you stuck with google because the DB API will require massive rework if you want to migrate to another vendor.
You don't. The business model is flawed.
The only persons able to use AppEngine are programmers. As such, setting up a LAMP configuration shouldn't be too hard. You can get hosting for 6 euro/month. Basically what they are saying is: we are between the 6 euro/month line and 0 euro/month. I don't see the business advantage here.
Scalability and performance management: they don't mention numbers. I therefore do not trust them.
Exit strategy: I can find a lot of LAMP providers, I know of only one Google AppEngine provider.
There are a billion more holes, but one argument is enough.
nosig today
It's inevitable -- someone will write an alternative hosting environment for App Engine applications. Google will also doubtless eventually start selling an App Engine appliance to start penetrating the enterprise market.
Google not only made the base engine available, you can use Django. Either one will let you deploy wherever you want, today, including EC2. You might have to fiddle with your models to get them to work with MySQL or SimpleDB, but that looks easy enough.
Don't see any lock in, and the major downside appears to be the need to expose your source to google.
I think this move is being mis-characterized by a lot of people. I actually think this is a very clever move by Google, and a taste of the future.
One of the key ways Microsoft won the desktop OS wars was basically making it easy for developers to create applications for it. Google has realised that the focus for application development is moving from the desktop to the web. If they can create a system that makes it easy for developers to create web based applications, then developers are going to integrate what they develop with Google services, effectively giving Google the kind of lock-in that Microsoft had with the web.
I don't know why people keep comparing this to Amazon's EC2. This I think is very different, both technically and strategically, and it is all about providing online developers with a rich way to incorporate Google services into their applications.
I'm quite excited at this announcement. Basically they are offering me:
- A system on which I can create and deploy applications that will always scale automatically, the only difference when doubling my traffic being the invoice I get by the end of the month. I don't have to deal with engineering or choosing a safely scalable application framework, looking, paying and dealing with a scalable application server, database, shared storage system (e.g. a SAN) and load balancer, run and maintain a fast network, perform backups, etc. All I do is write and run the application as I need.
- A system where such costs (application server, database, storage, load balancing, network and backups) scale perfectly with the actual use (and presumably profit) of my application, without having to make any huge investments.
- A system that will allow me to start for free and try it all, or just work freely for my hobby community, granting me no less than 500 MB. The competition today consists of a handful sub-par free hosts with 50 MB, a crappily configured PHP 4.3 and don't ask for speed or availability.
- Integration with Google applications (GMail; presumably, with all of them in the future).
- A standarized development environment based on a truly high-level, productive, modern language (not that Java business crap, but something that actually allows you to work fast and smart).
Google hosting it? I couldn't give a damn. My applications are usually GPL, including the business ones. It's not the application what's sold, it's the development and the service, and even if it were the application, I would trust Google as much as I would trust any other host.
The only caveat I see would be the datastore, which is not a relational database supporting SQL, but I'd have to see how good it is. At least it supports transactions, which are the single most difficult feature to implement in your own storage system. Everything else is just comfort, and when you work in Python, a language with first-class functions, builtin lists and dictionaries, list comprehensions, generators, a real object system, decent properties, operator overloading, mixins and dynamic modification of anything, and a dozen more features traditional languages such as Java or PHP couldn't dream of, I'm not worried about being able to query my data comfortably.
I was about to say 13256278887989457651018865901401704640, but it appears this number is private property.
Wikipedia,
Don't worry about the money for buying servers and bandwidth!
Migrate to Google App Engine!
MySQL could be replaced by Bigtable. You could export the database in Bigtable for any users,
'cause it's scable. Every wikipedian, please donate your google data quota for wikipedia!
Probably the next language following Python would be php because of Wikpedia.
8.2. You agree that Google, in its sole discretion, may use your trade names, trademarks, service marks, logos, domain names and other distinctive brand features in presentations, marketing materials, customer lists, financial reports and Web site listings (including links to your website) for the purpose of advertising or publicizing your use of the Service.
If you happen to build the next killer app on Google's system, Google has the right to use all of your data and trademarks for advertising and publicity. With no compensation to you. Of course this could work in your favor as it may bring further publicity to you, but one may surmise that if you've created such a presence that Google is interested in using it for their own gain; you don't need to ride their coat tails.
Did you ever wake up in the morning, with a Zombie Woof behind your eyes? -- FZ
Not only that, but any startup that's built with this infrastructure would be incredibly easy for Google to buy and integrate if they become successful. If YouTube had been built with this, it would have been a drop-in replacement for Google Video. Or even better, Writely, kicking off Google's semi-recent bid for the Enterprisey market. For Google, any new online Office-style productivity apps that spring up and happen to be built with this framework will look like a Christmas present with a bow on it.
From the FAQ: "Sockets are disabled with Google App Engine".
Don't get me wrong, I think the service is really cool, and I understand that maybe sockets could be abused but... am I the only one that thinks disabling access to the net severely limits a web app?
That said, I put myself on the waitlist. Even if I only ever use this for fun, it's worth exploring.
I know, python isn't that tough, but I would much rather do it in Perl.
...please turn off the L.A.M.P.?
Thanks.
This is a massive flattener for web software developers around the world. Scale used to be a primary differentiator of web applications. For years developers have been able to build web apps but they usually die because of problems with scale or not keeping up with required maintenance.
The only differentiator is how well your application works for your users. (And how well it is marketed.)
The first thing I went looking for in GQL was some kind of builtin free text search. I'd assumed that Google (being the kings of search) would have this covered, and I've yet to write an internet app that doesn't use some form of text search. I may have missed it, but I can't see it in there.
Also, no primary keys?
I'm guessing there may be issues adding this kind of search to a distributed database. Whatever the reason, it's a shame.
Training monkeys for world domination since 1439
This is really exciting. If you are prepared to lie back in Google's arms - and they are trusted more than most - this gives your humble web app all the advantages of GMail over Outlook/Exchange. And if my online one-dollar slashtrolling service hits Slashdot and a million of you sign up overnight... no problem, Google will handle it, and I'm an overnight millionaire - as opposed to having $10,000 and 990,000 pissed off non-customers, pulling my hair out trying to scale my system after the horse has bolted.
However, on a practical level, how do you handle periodic processes? Any well-designed web app needs cron jobs, to delete stale data, for instance. As it stands, I need to keep one server to have cron run wget commands against AppEngine. Google's terms seem to count out any other way to launch processes. Presumably Google will extend the system to allow this when we have to pay for processing.
Do as you would be done to.
There does seem to be platform lockin involved here. However, this isn't the first time developers have had to worry about porting between platforms! I think we all know the solution.
What we need is a wrapper around S3 and google datastore that exposes a high level API that they can both support. Then, this proprietary platform suddenly transforms into a commodity.
That said, I'm sure that isn't what google is hoping will happen. They don't want to be just another hosting company competing with all the others.
When I read this, it was more evidence that some in Google want to be "the internet". For very, very many, they are the gatekeepers to the web. Now, with this, they can be the hosts as well. If Google hosts a ton of applications, you can see a future in which somebody is surfing from site to site but never really leaving Google.
So, what's to stop the extingush part? Letting Google say, hey, host here and we will make sure that your search results don't "change", or you get better results, etc. Given the demands on growth and the need for Google to justify it's P/E, it is starting to look for more ways to make money. And Google is large enough to become the "Microsoft" or "IBM" of web applications if it really wants too, and why wouldn't it?
Of course, I don't buy the "Google isn't evil, that's why" prima facie argument.
I think Amazon wins here with EC2. It sounds like Google's option might be easier to start up, but it greatly limits the buyout options down the line. VC's will prefer Amazon's EC2. If venture capitalists prefer Amazon's web services, then startups will prefer Amazon.
Besides, persistent storage and redundancies will eventually become "easy" as following a tutorial for EC2 + S3 + SimpleDB. I haven't looked, but I expect they're out there already.
Um. I suddenly get hungry. I need a burger.
I've created a nice website and I was always thinking about how it would scale. It is hyper hard to build something scalable. In the end I was doing a lot of work for the website to scale and not much work at all to implement very needed feature!
With App Engine I will not have to think about all that. I will just code my pages and it should work! This is truly a dream come true.
I've used Amazon S3 (a lot) and EC2 (a bit) and it doesn't solve the problem of scalability for a website.
I'm curious the see how much does it cost on run on Google architecture!
If (as I suspect most apps on AppEngine will) you make use of the Google Accounts integration in AppEngine, that's at least a mild form of "lock-in".