Google scores with the App Engine
I've been a user of Google Apps for some time - I have my domain's email delivered directly to Google, and they give me 25GB storage and a pretty good interface for accessing it, for around £35 per year. This might seem like a lot to pay for a simple email service, but I live off my email, and have grown to detest configuring email on servers, moving emails between machines, backing it all up, moving client accounts, etc. I wouldn't go back.
It bugs me a little that I still need to rent webspace on a single physical server for my website. It leaves me at the mercy of small hosting companies who occasionally do things like screw up PHP settings. Either that, or I rent a VPS, but then I don't get much grunt to run Java apps etc.
Google recently announced that their Google Appengine is supporting Java on a trial basis. I was intrigued, so I investigated further and tried a small sample app. First impressions are pretty good. They've released a plugin for Eclipse that works well, and allows you to deploy to Google directly from Eclipse. Also, they support mapping to your domain from Google Apps, so instead of somesubdomain.appspot.com, you can access somesubdomain.yourdomain.com. You just need control of your DNS (for which I use DNS Made Easy). This is an extension of the SaaS (software as a service) nature of Google Apps, making it PaaS (platform as a service).
Automatic scalability?
For me, the generous free bandwidth and storage that Google App Engine offers is just a bonus compared to the apparent automatic scalability. It means that as a developer, I need to worry less about load balancing and distributed data, because the underlying platform handles that for me.
What is necessary however, is a rethink of some software components you may take for granted. Google do not support JAX-WS, JMS, threads, JNDI, JDBC, and a whole load more. Scalability and free Java hosting comes at a price.
PHP in App Engine
The good news for PHP devs is that PHP can be used via Quercus in the Java version of App Engine. Of course, the same rules apply for PHP apps as for any other apps that try to use sessions, but it should in theory be possible to use a custom session handler to persist to the BigTable data store, perhaps with the help of a Java adapter. Perhaps I'll give it a go...
Latest articles
- Google scores!
- Mandriva back in my top list
- The perils of package managers
- Why mix PHP and Java?
- An InputStream Iterator in Java
- Pagination in PHP or Java
- PHP and Java integration with Quercus
- Trying out Zend Studio for Eclipse
- Which framework for a new CMS?
- How to create a singleton in PHP
- A brief foray into MySQL Stored Procedures
- Sun VirtualBox vs. VMWare
- We're now a four computer household