Welcome to EMC Consulting Blogs Sign in | Join | Help

Simon Munro

Enterprises Get More Cloud Cover from Google AppEngine

This week Google announced immediate support for Java on AppEngine. While not surprising it does thrown down the gauntlet for PaaS (Platform as a Service) competitors such as Microosft’s Azure.  Technical details aside, there is a lot of Java code out there, a lot of Java developers and a whole new market to persue.

A big part of Microsoft’s marketing approach to Azure is the ability to use existing .NET code, components, frameworks and so on within a the familiar Visual Studio development environment. The promise is that developers can port their existing assets (skills, components and code) to the cloud with minimal friction. It is a strong message – when I tinkered with Google AppEngine a year ago, I really struggled to overcome the barriers to entry created by AppEngine’s use of Python/Django. While material is available, it is scattered and the tooling for Python development is really bad – especially for someone coming from a Visual Studio environment. All of the demos that I have seen of various Azure components have emphasised how easy cloud development is by showing familiar tools and samples to the engrossed audience.

But now Google has that too.

Google AppEngine now supports a mainstream enterprise development language and framework. AppEngine also has tooling in the form of Eclipse which is a reasonably good IDE that has a very open plug-in architecture and an enthusiastic base of users. So the asset of Microsoft developers that are going to drive Azure adoption is now matched by an asset of Java developers that will be biased towards AppEngine.

Google will soon find itself out the water in a position familiar to Microsoft – the enterprise IT meeting rooms. For the first time, Google will have the opportunity to talk to enterprises as a PaaS cloud provider – and enterprises will be listening as they mentally tick off the applications running on Java in their data centre. While we may have religious wars technical discussions about the virtues of .NET vs. Java the obvious observation is that there is a lot of Java code out there, a lot of Java developers, a lot of vendors with Java based products and a lot of investment in Java.  Pitching to a Java oriented enterprise that there are cloud options available for Google may make it just that much more difficult for Microsoft to plant the Azure seed.

But before we get ahead of ourselves, let us consider for a moment that enterprises are not going to port applications to the cloud in a large scale any time soon. The current market for cloud in general and PaaS in particular is the small business (hoping to grow big), the hobbyist and, at a push, a rogue departmental development team. So neither Google nor Microsoft are going to be walking out of enterprise boardrooms with signed deals for a while – the cloud technologies, at least for software development, will be driven from the interest of individual developers that will gradually percolate up the enterprise.

So Google AppEngine has a cool hobbyist offering in it’s support of Python and a position to attract the enterprise developers (with some interested in JRuby too). Microsoft primarily has the minds of enterprise developers and some, but not a lot, of hobbyist attention. One thing that Microsoft does have in it’s favour is a relational database offering in the form of SQL Data Services, and Google does not. One could argue that the relational model is architecturally unsuited to the cloud but in the minds of enterprise developers (and architects) it is almost a requirement. If Google started putting an option to run MySQL or CouchDB on their servers in AppEngine (if that is technically possible) then things would get interesting – but I doubt that Google’s architecture could support such a move.  It would seem though that Google is quite prepared to support a number of frameworks and languages, where Microsoft will only support one (different languages on .NET aside) – if Google went around and picked app all the other languages they may find themselves getting a lot of developer mindshare (imagine Google offering support for PHP).

Regardless of preference or bias – Google or Microsoft, Java or Python or .NET the problem still remains that cloud oriented architectures are different and development of applications for the cloud is hard. As someone who has been engaging a lot with people about the cloud recently I feel that the implementation technology or platform is not the big problem at the moment – developers still need to change development approaches in order to build distributed applications that the cloud demands. For a believer in the cloud as the future platform I welcome competitors into the space – they all have valuable ideas and technologies to bring to the table and each time introduce a whole new bunch of developers to the ideas of the cloud. And that, unless you are an organisation bent on taking over the world, is definitely a good thing.

Simon Munro

@simonmunro

Published 09 April 2009 15:18 by simon.munro

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

No Comments

Leave a Comment

(required) 
(optional)
(required) 
Submit
Powered by Community Server (Personal Edition), by Telligent Systems