Slashdot Mirror


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."

17 of 167 comments (clear)

  1. Looks good and free (for 500MB worth) by BadAnalogyGuy · · Score: 4, Interesting

    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?

    1. Re:Looks good and free (for 500MB worth) by Tyball · · Score: 5, Informative

      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. It's actually nothing like EC2--EC2 is a virtualization platform. You run an entire machine image of your choice on Amazon's infrastructure, and there's no explicit persistent storage except through the Ec2 interface.

      Google's offering is more like a web framework hosted on Google's servers. Much different.
    2. Re:Looks good and free (for 500MB worth) by *weasel · · Score: 5, Informative

      6.3. Except as provided in Section 8, Google acknowledges and agrees that it obtains no right, title or interest from you (or your licensors) under these Terms in or to any Content or the Application that you create, submit, post, transmit or display on, or through, the Service, including any intellectual property rights which subsist in that Content and the Application (whether those rights happen to be registered or not, and wherever in the world those rights may exist). Unless you have agreed otherwise in writing with Google, you agree that you are responsible for protecting and enforcing those rights and that Google has no obligation to do so on your behalf.

      8.1. Google claims no ownership or control over any Content or Application. You retain copyright and any other rights you already hold in the Content and/or Application, and you are responsible for protecting those rights, as appropriate. By submitting, posting or displaying the Content on or through the Service you give Google a worldwide, royalty-free, and non-exclusive license to reproduce, adapt, modify, translate, publish, publicly perform, publicly display and distribute such Content for the sole purpose of enabling Google to provide you with the Service in accordance with its privacy policy. Furthermore, by creating an Application through use of the Service, you give Google a worldwide, royalty-free, and non-exclusive license to reproduce, adapt, modify, translate, publish, publicly perform, publicly display and distribute such Application for the sole purpose of enabling Google to provide you with the Service in accordance with its privacy policy.

      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.

      Terms of Service and Program Policy (afaics, just the usual hosting rules: no porn, gambling, piracy, spam, malware, hate speech, etc).

      Also, adwords are pretty much 'Step 1' in trying to cover hosting costs for a fledgling webapp.

      If all Google wants in return for free-ish hosting is something most people do anyway, I'd imagine most people won't blink.

      If nothing else, I'd imagine many niche discussion boards will transition to GAPE in short order, once vBulletin is ported.
      --
      // "Can't clowns and pirates just -try- to get along?"
    3. Re:Looks good and free (for 500MB worth) by sentientbrendan · · Score: 4, Insightful

      >It's actually nothing like EC2--EC2 is a virtualization platform.
      >You run an entire machine image of your choice on Amazon's infrastructure,
      >and there's no explicit persistent storage except through the Ec2 interface.

      It is geared towards solving some of the same problems as EC2 and S3 (how to deploy scalable web sites without having to build and maintain your own datacenters); however, it takes a different approach.

      EC2 and S3 make you design your web stack from the ground up, choose your operating system, etc. They also let you run whatever kind of task you want, including stuff that runs in the background.

      In contrast google app store limits your options, and provides it's own web framework, but is probably easy to get started with since they already handle things like load balancing for you, and starts your service up on a new machine if one crashes automatically, etc.

      A lot of people have noted that you have to use python to develop, and that is one way that it lacks the flexibility of amazon's offering, but it is by far the least important! Google will doubtless add support for things like java and ruby in the future, as for them it is just an issue or wrapping an API.

      The biggest concern that most people are missing is that this is a essentially a really big web server that they are letting you put your software on, and *just* a web server. From "http://code.google.com/appengine/docs/whatisgoogleappengine.html":

      "when an application is called to serve a web request, it must issue a response within a few seconds. If the application takes too long, the process is terminated and the server returns an error code to the user."

      That means you can perform *no* computationally expensive operations on their service. Most interesting web applications don't just process web requests, they use data that has complicated processing done as part of batch tasks. Internet search is the best example of this. It's not enough to have a database with the whole internet in it, you also need to generate an index, and that is an incredibly expensive batch job that must run on an enourmous cluster. That means if you wanted to implement something big like search on google app engine, you would need to roll your own cluster and then upload your stuff to google, *over the internet*. This is not practical because the terabytes of data involved may be quick to transfer across a lan in a data center, it will take a long time to transfer them across the internet...

      In comparison, amazon will let you use the same service and data store both for interactive web applications, and backend batch processes. You could theoretically reimplement google search on top of EC2 and S3, but probably not on top of google app engine.

      That said, I think that google is going to kick everyone's ass in this space in the long run. Google hasn't come out with every feature necessary for building big apps without having to worry about scaling, but for the features they have implemented, they've done it right, making it much smoother for the developer by handling administrative tasks. In comparison amazon's efforts give you all of the primitive tools you need, but then require you to roll a lot more of your own code.

      When they get around to letting external developers run mapreduces (http://labs.google.com/papers/mapreduce.html) and similar long term distributed tasks by paying for CPU usage, they will have the opportunity to move into this space in a big way.

      Aside from that, they need to provide better tools to migrate existing web apps to their service. Most people aren't going to write something serious for google from scratch, but might be willing to port an existing app that is facing scaling issues to explore cost/benefits of google's service. Right now, porting is much easier with EC2 since you can just image your existing servers and build on that.

      Google needs to provide:
      1. Some kind of language independence. Right now, it sounds like (although I do not kn

  2. Obligatory by buruonbrails · · Score: 4, Insightful

    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..

  3. Why? by Chineseyes · · Score: 4, Insightful

    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
    1. Re:Why? by mobiGeek · · Score: 4, Interesting

      Because as a business owner you recognize the benefit of not having to invest in IT administration overhead?

      Because as a business owner, you recognize that Google is investing in your business by seeding your startup costs?

      Because as a software developer you recognize that leveraging the tools Google is offering (and will be adding to over time) will speed your time to delivery?

      --

      ...Beware the IDEs of Microsoft...

    2. Re:Why? by Chineseyes · · Score: 4, Informative

      Because as a business owner you recognize the benefit of not having to invest in IT administration overhead?
      So let me get this straight.. I leave myself at the mercy of google in order to save the cost of IT administration? That doesn't sound like a good business decision.

      Because as a business owner, you recognize that Google is investing in your business by seeding your startup costs?
      Startup costs? You can't be serious, both hardware and bandwidth are dirt cheap, in college (2000) between my four friends and I, we were able to start my first business using pocket money we earned from odd jobs. This is a VERY weak arguement.

      Because as a software developer you recognize that leveraging the tools Google is offering (and will be adding to over time) will speed your time to delivery? I'd love an explanation on how this would speed up my time to delivery? I took a look at the video and read the article and it does nothing that I can't already do myself to speed up time to delivery other than have hardware resources readily available. But once again I leave myself at the mercy of Google for access hardware and bandwidth. Thanks but no thanks.

      --
      I think the invisible hand of the market has its middle finger extended

      --A wise old fart named SC0RN
    3. Re:Why? by IamTheRealMike · · Score: 5, Insightful

      So let me get this straight.. I leave myself at the mercy of google in order to save the cost of IT administration? That doesn't sound like a good business decision.

      The point about App Engine is that it's based on Google technologies like BigTable and GFS (along with a bunch of others that I can't talk about, but are equally cool). The real saving is not on IT administration but on the enormous pain of scaling up your infrastructure as the site grows.

      The IT industry is littered with companies that failed the scaling challenge and lost their advantage. Friendster is the canonical example. You really don't want to build a successful business and then see it fall over and die because you aren't equal to the challenge of resharding your MySQL databases every month.

      But wait. There are other advantages. App Engine is really a platform for Google to expose its technology to others. Scalable databases is only one part of it. There are plenty of other advantages to running on top of the Google platform. I haven't had a chance to check out the videos yet, so I'd rather not shoot my mouth off, but seriously - the stuff we have here simplifies a *lot* of annoying goop that otherwise you'd have to handle yourself (managing datacenters being only one obvious example).

      Having seen for myself what it takes to run a large, popular website at a high degree of availability, I'm pretty excited about the launch of this service (disclaimer: I work for Google but not on App Engine). It means people can spend more time writing interesting software and less time on crap like debugging database replication and figuring out the annoying parts of how to geocode Japanese street addresses - cuz we do it for you.

  4. Very Different from EC2 by saterdaies · · Score: 5, Informative

    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).

    1. Re:Very Different from EC2 by maxume · · Score: 4, Insightful

      Sort of. Apparently, you can stay pretty close to Django:

      http://simonwillison.net/2008/Apr/8/forms/

      I would imagine that someone will also write some code to sit between your app and database, pretending to be the data backend that Google is providing, simplifying migration away from teh Goog.

      --
      Nerd rage is the funniest rage.
  5. Re:Microsoft, take note by Bazman · · Score: 5, Informative

    The SDK includes a standalone web server, so if you decide to move it off of Google's service, all you need to do is find somewhere to run that server. If you have a DNS entry for your app then you're probably a click away from moving it. Just run the dev server...

      What you get from Google is the free hosting and access to the Google hardware. It might not be long before other providers offer Google App Engine hosting - it could become a standard. It looks like Django on steroids...

  6. The future by pubjames · · Score: 5, Insightful

    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.

  7. This is made of win and awesome by Wiseman1024 · · Score: 5, Interesting

    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.
  8. Re:New Acronym by Anonymous Coward · · Score: 5, Funny

    Google Open Application Terminal Serving Engine

  9. Re:Vendor Lockin by hanshotfirst · · Score: 4, Funny

    Not to be Captain Obvious here, but...

    [x] Limited Language Choices
    [x] Non-relational Database
    [x] Giant, Centralized Processing resource
    [x] Said resource shared with others

    Oh, Goody! Google just invented the Mainframe.
    Where do I sign up for my timeslice?

    --
    Why, oh why, didn't I take the Blue Pill?
  10. Would the last one to leave Web 1.0... by dstone · · Score: 4, Funny

    ...please turn off the L.A.M.P.?

    Thanks.