AppEngine hosts Web applications, and its principal job is efficiently serving user requests. AppEngine's infrastructure takes advantage of many servers accessible in Google data centers to accomplish this.
AppEngine locates the servers that house the application that processes the request, evaluates their load, and, if necessary, allocates more resources (i.e., servers) or redirects the request to an existing server for each HTTP request.
The application's design, which does not expect any state information to be implicitly maintained between requests to the same application, simplifies the work of the infrastructure, which can redirect each request to any of the servers hosting the target application or even allocate a new one.
The infrastructure is also responsible for monitoring application performance and collecting statistics on which the billing is calculated.
The runtime environment represents the execution context of applications hosted on AppEngine.
With reference to the AppEngine infrastructure code, which is always active and running, the runtime comes into existence when the request handler starts executing and terminates once the handler has completed.
AppEngine provides various types of storage, which operate differently depending on the volatility
of the data. There are three different levels of storage: in-memory cache, storage for semi-structured data, and long-term storage for static data.
Applications hosted on AppEngine take the most from the services made available through the run-time environment. These services simplify most of the common operations that are performed in
Web applications: access to data, account management, integration of external resources, messaging
and communication, image manipulation, and asynchronous computation.
Web applications are mainly designed to interface applications with users by means of a ubiquitous channel, that is the Web.
Most of the interaction is performed synchronously: Users navigate the Web pages and get instantaneous feedback in response to their actions. This feedback is often the result of some computation happening on the Web application, which implements the intended logic to serve the user request. Sometimes this approach is not applicable—for example, in long computations or when some operations need to be triggered at a given point in time.
A good design for these scenarios provides the user with immediate feedback and a notification once the required operation is completed.
AppEngine offers additional services such as Task Queues and Cron Jobs that simplify the execution of computations that are off-bandwidth or those that cannot be performed within the timeframe of the Web request.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.