Saturday, October 6, 2012

Google App Engine

When you visit the Google App Engine Web site at http://code.google.com/appengine, you will notice four phrases:

✓ No assembly is required.
✓ Google App Engine exposes a fully integrated development environment.
✓ It’s easy to scale.
✓ It’s free to get started.

That really sums up Google’s strategy for PaaS. 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. 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 IaaS. In this way, customers can add more capacity on demand.


Other Google infrastructure services
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
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. Python includes models and packages and supports code reuse.

✓ Java runtime: Google added Java as a second supported programming language platform. This runtime is integrated with Google’s toolkits and is intended to be used for AJAX (asynchronous JavaScript and XML) or interactive Web applications.

✓ 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 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. When developers create an application, they’re granted a quota of resource that they can use without paying anything. This includes 6.5 hours of CPU time per day and 1 gigabyte of data transferred in and out of the application per day.

When additional resources are required, costs are as follows:

✓ $0.10–$0.12 per CPU core-hour
✓ $0.15– $0.18 per GB per month of storage
✓ $0.11– $0.13 per GB outgoing bandwidth
✓ $0.09– $0.11 per GB incoming bandwidth
✓ $0.15 per GB per month for stored data
✓ $0.0001 per recipients emailed

Source of Information : cloud computing for dummies 2010 retail ebook distribution

1 comment:

Blogger said...
This comment has been removed by a blog administrator.