How the Google App Engine Works
Cloud services of Google
Let's go a little deeper into the details of how Google App Engine works. To
begin, you should know that Google offers several
cloud services:
-
App Engine:
Google PaaS service, the star of the house. Large sites like Khan Academy or
Pulse use it.
- Compute Engine:
IaaS service from Google. If you need raw
computing power (to calculate mathematical models, for example), this is
what to use.
- Cloud Storage:
Service potentially "unlimited” of file storage in the cloud.
- Big Query:
Capabilities to analyze large quantities of data in a short time (known
as Big Data). Very useful for companies who want to make Business
Intelligence (BI) for trend indicators sometimes based on several Terabytes
of data.
- Cloud SQL:
A distributed MySQL database in the cloud. You do not need to install or
upgrade MySQL . Not even need to configure. You can create replicated SQL
servers with a few clicks if you need more power.
How Google App Engine works?
Applications hosted on Google App Engine are hosted in the same data center and
the same physical servers that Google applications like Google Search, Google
Mail, Google Docs ... Applications deployed on AppEngine therefore benefit from
Google's infrastructure deemed reliable, robust and highly scalable. Originally,
the AppEngine architecture was based on a “System 2000" architecture: User
sessions in RAM with sticky load balancer. Many problems arose: stopping
servers, insufficient memory, slow load balancing, scalability problem. The
current architecture solves these problems: instances stateless, state in a
MemCache and persistence in a DataStore. As with Amazon EC2, load balancers of
Google are configured as simply as possible in round robin, which makes them 10x
more efficient than sticky sessions.
The role of App Engine is to "hide" the operation and complexity of Google's
servers. When a visitor connects to your site, he comes to the load balancer of
Google, which will seek an available server and not too busy to handle the
request of your visitor. If your site needs access to data, which is common, it
will appeal to a different area of servers called DataStore (this is a sort of
the database).
What languages are supported by App Engine?
PaaS platforms like Google App Engine support a limited number of programming
languages. Indeed, they provide additional functionality in the form of
libraries, it is necessary that Google has developed the relevant features for
these languages. Here are the 3 languages supported by Google at the moment
(this list is likely to grow in the future):
In fact, any language that can use the Java virtual machine can also work:
The case of Ruby and Scala for example. In practice, most people use either Java
or Python. Go is a language created by Google which is specific enough and still
experimental.
Programming
Introduction to Java EE (Part 1)
How the Google App Engine Works
WSDL - Web Service Description Language
SOAP: Simple Object Access Protocol
Initiation to Cryptography and Encryption to Secure Data
Introduction to Design Patterns in Java
How To Write Efficient Programs in Java
Proper Management of Logs in .Net
How To Remove FaceBook Action Ids From URL |