Working with the Google App Engine in Cloud Computing - dummies

Working with the Google App Engine in Cloud Computing

By Judith Hurwitz, Robin Bloor, Marcia Kaufman, Fern Halper

When you visit the Google App Engine Web site, you will notice four phrases that really sum up Google’s strategy for Platform as a Service (PaaS):

  • No assembly is required.

  • Google App Engine exposes a fully integrated development environment.

  • It’s easy to scale.

  • It’s free to get started.

Google isn’t trying to help customers create every application to run on every platform. It is actually quite focused, helping customers build Web-based applications in their cloud computing environment. The platform is for development and deployment.

In essence, the developer provides the Google App Engine with a URL (Web address) for the application it’s building and the engine maps that code to Google’s development platform. The App Engine handles the Web application lifecycle, including routine tasks such as request logs, checking the application status, updating the application version, operating the underlying database, and handling workflow.

Google has integrated all the development tools into a single integrated environment. When customers tie their development into the lifecycle environment provided by Google, they also gain access to Google’s Infrastructure as a Service (IaaS). In this way, customers can add more capacity on demand.

Other Google services useful with cloud computing

In addition to development services, Google also provides other integrated platform services, including but not limited to the following:

  • Google Accounts for authentication

  • Google native file system called GFS (Google File System)

  • BigTable platform (for data management), a distributed storage system that manages very large-scale structured data

It also includes infrastructure services such as

  • Load balancing

  • Persistent storage with queries

  • Sorting and transactions

  • Programming interfaces to support authenticating users and sending email by using Google Accounts

  • Scheduled tasks for triggering events at specified times and regular intervals

This is essentially the same platform that Google uses to build its own software.

Google development stack and cloud computing

In addition to these infrastructure tools, Google App Engine also includes a development stack. Google calls this a scalable serving infrastructure that connects the Web application code to the Google environment.

It does this by integrating with the following tools:

  • Python runtime: To create an application for the platform requires a programming language. The first one that Google supported was Python, a high-level programming language that makes it easier to rapidly build complex applications with minimal programming.

  • Java runtime: Google added Java as a second supported programming language platform.

  • A Software Development Kit (SDK): This set of development tools enables developers to write application code.

  • A Web-based administration console: The console helps developers manage their applications.

  • Datastore: A datastore is a software layer that stores a Web application’s data. It is built on the Bigtable (a high-performance database) structure.

Google cloud computing platform fees

Google has set up Google App Engine to encourage its wide adoption. As with other cloud platforms, customers pay based on usage, so there’s no set-up cost or other maintenance fees. For example, there is no charge for a developer to build an application.

After a customer deploys that application, however, the charges begin to add up. The customer pays for storage and bandwidth. Each of these applications can use up to 500MB of storage, up to 5 million page views each month without an additional fee. A customer is allowed to register up to ten applications per developer account.