Google App Engine
Google App Engine | |
---|---|
Platform as a Service | |
languages | English |
operator | Google Inc. ( more ) |
Registration | Google account required |
On-line | April 7, 2008 |
https://cloud.google.com/appengine/ |
Google App Engine is a platform for developing and deploying web applications on servers belonging to the US company Google Inc. It belongs to the so-called Platform-as-a-Service area.
Development environment
There are Python 2.7 and 3.7 is available since April 2009 and the Java VM with all the languages that have been implemented for this ( Clojure , Groovy , Scala and JRuby , official Grails -Support announced for Grails v1.1.1) Go was in May 2011 listed as another supported language. After a one-year beta phase, Ruby and Node.js , as well as C # as beta, have also been available since March 2017 .
Services and Technologies
Google App Engine (GAE) provides the applications for both development environments with various services ("Services") based on Google technologies that are also used in other Google applications and services:
Persistence
The "Datastore" is a distributed data storage service with a query engine and transaction security , but without relational schemes, based on the " Bigtable " concept. In addition to the Low Level API, parts of JDO and JPA are also supported for Java. The relational database Google Cloud SQL is experimental.
Authentication
Based on Google Accounts , i.e. H. Customers with a Google Account can sign in to applications.
URL fetch
Applications can access internet content via the Google infrastructure.
Applications can receive and send emails via the Google email infrastructure.
Memcache
In-memory cache function for data that do not need to be stored in the persistence layer, but should be available in several instances of the application. The cache is based on the open source system memcached .
Image manipulation
Rotate, mirror, enlarge, reduce and crop images.
Google Cloud SQL
In October 2011, Google announced a maintenance-free SQL database that would support JDBC and DB-API. This service should enable relational databases to be used with App Engine applications. The database engine is MySQL version 5.1.59, the maximum size of the database must not exceed 10 GB.
Server behavior
Communication example
- 1. Client sends request to the Google App Engine (GAE) scheduler.
- 2. GAE searches for the appropriate application using the URL.
- 3. The fastest reacting server is selected for the application.
- 4. The request contents are transferred to the application and loaded onto the server.
- 5. The application is started on the server and the processed data is sent back to the GAE as a response.
- 6. GAE sends the answer back to the client.
Application availability
The application is not permanently loaded on a server. In order to relieve the server, applications that are currently not required are removed from the server after 15 minutes or required applications are quickly loaded onto the server (see "Communication example"). This counteracts an overload of the server, but at the same time ensures the availability of every application.
Remuneration
The service is also offered free of charge, with restrictions on the resources used. These restrictions include, among others:
- The applications may use a maximum of 28 CPU hours per day.
- The pages can be accessed indefinitely, provided that CPU hours and data volume are still available.
- 1 GB of data may be stored in the High Replication Datastore .
- A maximum of 100 mails per day can be sent with the Mail API .
- The incoming and outgoing data transfer volume may not exceed 1 GB per day.
Additional resources can be purchased. The actual additional consumption is billed. These restrictions do not apply to a paid contract.
Web links
- Article on rohablog.wordpress.com - Architecture and Scaling of the Google App Engine
Individual evidence
- ^ Paul McDonald: Introducing Google App Engine + our new blog. In: Google App Engine Blog. Google, April 7, 2008, accessed March 25, 2017 .
- ↑ Java VM on Google App Engine in the Google Developer Blog
- ↑ App Engine 1.5.0 release. In: Google App Engine Blog. May 10, 2011, accessed March 25, 2017 .
- ^ Paul Krill: Google App Engine adds C #, Node.js, and Ruby options. In: InfoWorld. March 9, 2017, accessed March 25, 2017 .
- ^ Google Cloud SQL: your database in the cloud
- ↑ Google Cloud SQL: Sample Application