Google App Engine
Microsoft have traditionally succeeded by giving developers the tools they want. The trick of course is that Microsoft tools will increasingly only let you build applications destined for Microsoft platforms – it’s a giant game of chicken and egg which feeds itself iteratively.
More developers building Microsoft platform compatible applications means more Microsoft operating systems on servers, desktops, and laptops. The developers and engineers in turn need to learn how to design, configure, build and deploy their applications from the ground up.
Google on the other hand are giving developers something entirely different – a head start. They are providing a ready-built web development platform that is both fault tolerant, and scales spectacularly well – both in terms of bandwidth load and storage capacity. Suddenly the traditional concerns of application performance tuning, database locking and user contention have been removed from the developer’s shoulders.
Rather than give the developer an all-encompassing development environment, Google are only providing the server – it is up to the developer to choose their own tools. Given that developers tend to covet their preferred tools (yes, I’m talking about text editors here), it’s a pretty wise move. Along with the server, Google are providing knowledge, documentation and an open community. Even in these early days there are rafts of examples, discussion forums and Google staff on hand – and the entry point is free.
Think about it – in order to learn how to develop on the Microsoft ASP.NET platform, you need a copy of Microsoft Windows, running IIS. You will probably also need Microsoft SQL Server, and Visual Studio. Suddenly the costs have gone through the ceiling. The entry point for college kids, or the fabled geek in their back bedroom is just far too high. All you need to get started on the Google App Engine is a machine that will run Python, and a text editor.
The App Engine may even impact the traditional home-brew/privateer web development community – those using the LAMP platform (Linux, Apache, MySQL and PHP). Faced with installing and configuring the LAMP stack and then porting the developed application to a hosting account on the web, versus a one click deployment to the Google App Engine servers, I know which solution I would prefer. I guess this argument has been muddied by the widespread adoption of virtual servers though, which have provided ready-built LAMP servers to ease the way for those starting out.
The years to come are going to be interesting. While Google App Engine looks like a “no brainer”, it will not be taken up by the corporate world because they like to own their own servers and data – so you can’t help wondering how long it will be until Google release an “App Engine” server appliance – a ready built server (or cluster of servers) that run applications built upon the Google web development platform.
“Think about it – in order to learn how to develop on the Microsoft ASP.NET platform, you need a copy of Microsoft Windows, running IIS. You will probably also need Microsoft SQL Server, and Visual Studio. Suddenly the costs have gone through the ceiling. The entry point for college kids, or the fabled geek in their back bedroom is just far too high.”
Most of the tools you mentioned have a FREE express version. Still, yeah, a windows + IIS is probably not free. This GAE thing looks awfully appealing for folks trying to learn and host their own web apps.