SAN FRANCISCO, CA—Google wants your applications and data on its servers. At the Google I/O conference today, Google's Cloud Platform team introduced new public services and tweaks to existing services based on the compute and data storage infrastructure that supports Google's search engine and other applications.

Urs Hölzle, Google's senior vice president of technical infrastructure, unveiled the changes during a developer session on the Google Cloud Platform. The change that got the most applause from the developer audience was the expansion of Google's App Engine service to support applications written in the PHP scripting language. Google's announcement that it would be opening up its Cloud Datastore to applications running anywhere—not just in Google's cloud—got love from the audience too.

All of the changes make Google's public services much more competitive and directly comparable to Amazon Web Services and other public cloud infrastructure providers, and open up Google's infrastructure to a much larger audience. With tight integration into Android development tools and the rest of Google's ecosystem, the services could help Google become more of a one-stop shop for mobile and web app developers.

Zero-administration PHP

The addition of PHP to App Engine, now in limited preview, means that Google can host Web applications like WordPress in its cloud and take advantage of App Engine's auto-scaling to respond to surges in traffic. It will make AppEngine somewhat more comparable (but not directly) to Amazon's PHP services on Elastic Beanstalk. Google will maintain the PHP environment itself, and the service can be bundled with Google's Cloud SQL, the company's implementation of MySQL (which is also available as a standalone service).

App Engine automatically associates Cloud SQL instances with applications when it ramps up new instances. That includes configuring the firewall settings to allow App Engine instances to communicate with the server while keeping out undesired connections without the need for administration.

The addition of PHP to App Engine could be bad news for many shared hosting services. Small PHP websites could be run virtually for free in Google's cloud without service level agreements—the Cloud SQL backend, while free until June, could cost a few dollars a month for low-volume sites.

Google is also offering a limited preview of AppEngine Servers, a way of modularizing applications that allows them to share a data store or in-memory cache, while permitting the modules themselves to be partitioned, deployed individually, and managed by their own scaling and performance rules.

The Cloud is your hard drive

Cloud SQL isn't the only database option that's available outside App Engine in Google's Cloud Platform. Today Google introduced Google Cloud Datastore, a new NoSQL, schema-less key-value pair database. Essentially a repackaging of Google's High Replication Datastore available through App Engine, Google Cloud Datastore competes directly with Amazon's S3 storage service.

Cloud Datastore can be connected to any application via an HTML interface, and is replicated across multiple Google data centers—ensuring high availability and guarding against data loss in the event of an outage at any given facility. Hölzle said that Cloud Datastore is based on BigTable, Google's proprietary data store used as the storage back-end for Google Apps and many other Google services. "It currently serves 4.5 trillion transactions per month," Hölzle said, "and now it can be used anywhere as a service."

While Cloud Datastore supports atomic transactions, has high availability for data reads and writes, and supports SQL-like queries through Google's GQL query language, it is similar to other highly distributed NoSQL data stores (like Amazon's Dynamo and Hadoop) in that it has "eventual" consistency—that is, changes are eventually spread through replication. However, it can be tuned to provide ACID support—making it suitable for Web-based transactional systems.

Compute on demand

Much of the news centered on Google's Compute Engine, a direct competitor to Amazon's EC2 service launched at last year's Google I/O. Previously restricted to a small set of Google partners, Compute Engine is now available to everyone. Along with that general availability, Google has introduced new "shared-core" instances of the Compute Engine virtual machine for developers and other small-volume users: "small" instances with 1.7 gigabytes of memory and "micro" instances with 0.6 GB.

Those and Google's other Compute Engine instances can be attached to persistent storage, just like Amazon's EC2 instances. However, Google has upped the size limit of persistent storage up to 10 terabytes—ten times the maximum available with EC2.

Hölzle also announced that Google now is supporting advanced routing features for Compute Engine—allowing for encrypted virtual private network connections between on-site systems and Compute Engine instances for "hybrid" cloud deployments. And while Compute Engine instances can be managed through a Web-based console, they can also be provisioned and managed automatically through a RESTful API.

One of the other changes made to Compute Engine was more financial than technical. Now billing for Compute Engine instances can be incremented by the minute rather than by the hour, with a minimum of ten minutes per instance. That, as Hölze said, allows users to get processes done faster—such as large MapReduce tasks—in less time for the same cost as running a single, long-running process.

The beta blues

Dislodging Amazon from its dominance in the cloud space will take more than introducing some incrementally better services—especially when it's not clear how long it will take for some of them to be widely available. For example, developers have been clamoring for the addition of PHP and modular deployments in App Engine, but both are only being offered on a limited basis for now, with no timetable for when they'll be ready for the masses.

What will drive the success or failure of Google's additions to its cloud platform will be how much better a job Google does of pulling developers into its orbit. And in that regard, it has an advantage in the mobile app space because of the ever-tightening integration of its cloud services with Android development tools.

As more app developers build for Android first, they'll find it easier and easier to stay in the warm, comforting embrace of the Google cloud as they move to other platforms. Or, at least, that's what Google is hoping for.