Google's App Engine and Amazon's web services leading us into the clouds

S

o, Google releases Google App Engine a cloud computing service for building web applications in Python. Very cool! Over the coming days and weeks I’m sure there will be plenty of comparisons with Amazon’s Elastic Compute Cloud for us to consume. Cloud computing is an interesting model, one where I believe an independent dev tools company could flourish.

image

In fact, before leaving CodeGear I sat down with Jim Douglas to discuss ideas around web development focusing on the growing eco-system of web services that companies are publishing on what now seems like a daily basis. The discussion covered a variety of web services available as well as platforms like Facebook, all things I’ve been thinking about for a long time. To the right is a photo of a page from my developer’s journal which outlines a concept I had (in March 2006) for extending Delphi applications, including the IDE, using web services. For those of you familiar with Delphi’s ToolsAPI it’s like extending the IDE, or any Delphi application, without installing/updating binaries on the local machine. The net effect is it affords the small company the opportunity to deliver more features faster with less impact to their installed base as opposed to getting stuck on a designer. With the advent of so many different API’s from so many different companies I think there’s a good opportunity for a company to stitch these services together and provide developers an entire toolset for use within their applications.

Over the past few years we’ve really witnessed the web grow into an honest to goodness platform and I think Facebook’s salvo really helped lead the way. Initially, we’ve seen the explosion in the world of social networking which I believe is largely due to the allure of ad revenue from millions of page views fueled by viral growth.

Eventually, with things like the Elastic Compute Cloud and Google Apps Engine I believe we’ll see more mainstream web application development move “into the cloud”. Today, to leverage Amazon’s services it’s like working with Legos where you need piece things together to build out a site. One example I think illustrates the difference between Amazon and Google is Amazon’s Copy Proposal for S3 read it and let it sink in. I think that illustrates a fundamental difference between how these services are likely to evolve. On the other hand Google’s App Engine appears to be a more well rounded service which will make it interesting to watch Amazon’s response.

One thing is for sure, we won’t likely see Amazon or Google or Microsoft or IBM develop tools that would allow developers to leverage services from many different companies which is where I believe there is an opening for something creative to occur. I guess time will tell who will jump at that opportunity as it’s not likely to come from one of the big name players. I think this idea is already happing in the social network arena where sites like Plaxo and FriendFeed are aggregating data from a number of different services.

Another cool thing about moving “into the cloud” is the opportunity to use whatever OS you want on your local machine. I’m using a MacBook Pro and I’d love the opportunity to boot to the other half of my hard drive and work in OSX for awhile.

Btw, just landed in my inbox:

Thanks for signing up to try Google App Engine!  Your account has been activated, so you can begin building applications!

Looks like it could be a long night!

What’s your take on cloud computing?

2 thoughts on “Google's App Engine and Amazon's web services leading us into the clouds

  1. For some time – it’s years ago now though – I thought that web applications sucked, and were in no way comparable to desktop apps. The development model was far worse, I had decided.
    I’ve changed my tune since then. I think the underlying simplicity of the model has a lot of advantages, quite apart from the whole distribution / portability thing, which is not trivial in itself. Applications that get a full document composition environment, with a retained-mode scene graph in the form of the DOM – it’s not many applications that have that full power available to them. (Yes, the DOM API sucks, but it can be wrapped to greater or lesser extents.)
    Then, compare how application integration works on the web versus on the desktop. Desktop integration requires understanding COM – not difficult in its most basic elements – but also, more importantly, the broad API and protocol required for mixing things together in a programming environment, a Win32 process, that was never really designed for it. The situation with mashups is a lot different. URLs are the monikers of the web, and they’re a lot less arcane. IFRAMEs and XmlHttpRequest are completely trivial embedding and RPC mechanisms compared to OLE and DCOM, with all its proxy codegen etc. The underlying network format, REST HTTP request/reply sessions, are easily understood and even implemented server-side from first principles. When you step back, after having understood all the constituent parts at the appropriate level of complexity (e.g. ignoring the implementation-side of DOM rendering), you start to appreciate the simplicity and beauty of it all.
    And having understood all this, and having written applications targeting this infrastructure, maybe one can see how a few language features (like continuations and a data-binding model adapted to request/response) would go so far towards making it even easier to write web apps than it already is. A guy can dream – and maybe work feverishly on the weekends…

  2. Hey Bary,
    Thanks for the comment. The web has definitely become the platform which is, in part, why I struggled when faced with the thought of yet another Win32 focused dev cycle. While I understand it’s important to invest in what makes money "now" it’s also important to foster revolutionary ideas particularly when momentum has been lost.
    To be honest, I hate to see you write "work feverishly on the weekends", that’s wrong. Starting in 1994 I couldn’t wait to get back to the office and work on Delphi 1, 2, 3. I hope CG can find that passion in you and turn "weekends" into "feverish week days". One of the things I mentioned to Jim Douglas was the need to hire managers skilled in fostering dreamers, people who specialize in managing risks in order to bring new products to market.

Comments are closed.