Google has released a new hosted software platform offering developers access to its application servers. Google App Engine service that includes a distributed Web server, database and storage, software development kit, which enable developers to write Web applications in Google’s SDK, and upload them to the company’s servers for hosting. The Google App Engine currently supports only Python, which will surely be a significant boost to interest in and usage of the Python language for web applications.
The Google App Engine is an online service that is aimed at giving developers access to similar structure that Google uses for its own applications, thus making it simple for developers to create an application that runs reliably, even under heavy loads and large amounts of data, Google said.
The getting started guide says “Creating an App Engine application is easy, and only takes a few minutes. And it’s free to start: upload your app and share it with users right away, at no charge and no commitment required.”
You develop and upload applications for Google App Engine using the App Engine software development kit (SDK). The SDK includes a web server application that simulates the App Engine environment, including a local version of the datastore, Google Accounts, and the ability to fetch URLs and send email directly from your computer using the App Engine APIs. The SDK runs on any computer with Python 2.5, and versions are available for Windows, Mac OS X and Linux.
Google App Engine gives you access to the same building blocks that Google uses for its own applications, making it easier to build an application that runs reliably, even under heavy load and with large amounts of data. The development environment includes the following features :
* Dynamic webserving, with full support of common web technologies
* Persistent storage (powered by Bigtable and GFS with queries, sorting, and transactions)
* Automatic scaling and load balancing
* Google APIs for authenticating users and sending email
* Fully featured local development environment
Google App Engine packages these building blocks and takes care of the infrastructure stack, leaving you more time to focus on writing code and improving your application. Google’s App Engine initially will have limits of 500MB of storage, 10GB of daily data transfer bandwidth, and 200 million daily cycles of processor use.
At the beginning, App Engine will only support applications written in Python version 2.5.2, but Google plans to expand its language capabilities. The runtime setting consists of full Python language and a large amount of the Python standard library.
The offer arrives at a time when a growing number of tech companies are shifting their operations to the cloud, and this places Google squarely in competition with Amazon’s Elastic Cloud Computing (EC2) and Simple Storage Service (S3) offerings.
Developers can choose to get a free domain name on the appspot.com domain or upload their application from their own domain. Applications will run in a protected sandbox setting that offers limited access to the underlying operating system, Google said. This will allow App Engine to dispense Web requests for any one application across multiple servers as well as start and stop servers based on traffic demands.You can have a look at sample applications at at Google App Engine Application Gallery
App Engine provides a runtime environment that uses the Python programming language. Other programming languages and runtime environment configurations are being considered for future releases.
The Python runtime environment uses Python version 2.5.2.
The environment includes the Python standard library. Of course, calling a library method that violates a sandbox restriction, such as attempting to open a socket or write to a file, will not succeed. For convenience, several modules in the standard library whose core features are not supported by the runtime environment have been disabled, and code that imports them will raise an error.
Application code must be written exclusively in Python. Code with extensions written in C is not supported.
The Python environment provides rich Python APIs for the datastore, Google Accounts, URL fetch and email services. App Engine also provides a simple Python web application framework called webapp to make it easy to start building applications.
For convenience, App Engine also includes the Django web application framework, version 0.96.1. Note that the App Engine datastore is not a relational database, which is required by some Django components. Some components, such as the Django template engine, work as documented, while others require a bit more effort. See the Articles section for tips on using Django with App Engine.
You can upload other third-party libraries with your application, as long as they are implemented in pure Python and do not require any unsupported standard library modules.
For more information about the Python runtime environment, see The Python Runtime Environment.