GOOGLE APP ENGINE
JASKSANI RAGHAVENDRA
19261A0574
What is mean by Google App Engine
Google Application Environment
Service provided by Google App Engine
Security
Advantages
Disadvantages
Conclusion
GOOGLE APP ENGINE:
Google App Engine (often referred to as GAE or simply App Engine) is a
platform as a service (PaaS) cloud computing platform for developing and
hosting web applications in Google-managed data centers
App Engine applications are easy to build, easy to maintain, and easy to scale as
your traffic and data storage needs grow
With App Engine, there are no servers to maintain: You just upload your
application, and it's ready to serve your users.
You can serve your app from your own domain name (such as
[Link] using Google Apps.
GAE Application Environment
Google App Engine makes it easy to build an application that
runs reliably, even under heavy load and with large amounts of
data. App Engine includes the following features:
Preserving storage with queries, sorting and transactions
Automatic scaling and load balancing
APIs for authenticating users and sending email using Google
Accounts
Task queues for performing work outside of the scope of a
web request
Scheduled tasks for triggering events at specified times and
regular intervals Google app engine
SERVICES PROVDED BY GAE
Data storage
Google cloud store:
RESTful service for storing and querying data.
Fast, scalable and highly available solution.
Provides Multiple layers of redundancy. All data is
replicated to multiple
data centers.
Provides different levels of access control.
HTTP based APIs.
GOOGLE ACCOUNT
In this app engine is integrating with google account for user
authentication.
In this application user allow to sign in with google account and
access the email address and displayable name associated with the
account .
In this accounts user the accounts using application faster and create
new account
It also saves you the effort of implementing a user account system just
for your application
If your running under the application of google apps, can use the
same feature with members of google apps accounts.
URL Fetch:
In this application can access resources the internet like web services or other data ,using app engine url fetch
the service
In this URL fetch the service and retrieves web resources using high speed google infrastructure that retrieves
web pages for many other google products
Mail:
Applications can send email messages using App Engine's mail service.
The mail service uses Google infrastructure to send email messages.
Memcache
The Memcache service provides your application with a high performance in-memory key-
value cache that is accessible by multiple instances of your application.
It improves application performance
Reduce application cost
Image Manipulation
The Image service lets your application manipulate images
With this API, you can resize, crop, rotate and flip images in JPEG and PNG formats.
Scheduled Tasks and Task Queues
An application can perform tasks outside of responding to web
requests.
In this application can perform tasks added to a queue by the
application itself ,such as background task creating while handling a
request
Scheduled tasks are also know as Cron jobs handled by the Cron
services
The sandbox:
Security
All hosted applications run in a secure environment that provides limited access to
the underlying operating system.
Sandbox isolates the application in its own secure, reliable environment that is independent of
hardware, operating system and physical location of a web server.
Limitations imposed by sandbox (for security)
An application can only access other computers over internet using the provided URL fetch
and email services. Other computers can only connect to the application through HTTP/
HTTPS requests on the standard ports (80/ 443)
Applications cannot write to local file system in any of the runtime environments.
When to use Google App Engine
You don’t want to get troubled for setting up a server.
You want instant for-free nearly infinite scalability support.
Your application’s traffic is spiky and rather unpredictable.
You don't feel like taking care of your own server monitoring tools.
You need pricing that fits your actual usage and isn't time-slot based
(App engine provides pay-per-drink cost model).
You are able to chunk long tasks into 60 second pieces.
You are able to work without direct access to local file system
components
Language
Runtime
Web Based
SDK Admin Console
Web Based
Admin Console
Run
Locally
Easy
SDK Deploy
Manage
Versions
APIs
Language Runtime
ADVANTAGES
Google App Engine enables you to build web applications on the same scalable
systems that power Google applications. App Engine applications are easy to
build, easy to maintain, and easy to scale as your traffic and data storage needs
grow. With App Engine, there are no servers to maintain: You just upload your
application, and it's ready to serve to your users.
Infrastructure for Security
Scalability
Performance and Reliability
Cost Savings
Platform Independence
Google app engine
DISADVANTAGES
App Engine can only execute code called from an
HTTP request
Not suitable for CPU intensive calculations. They are
slower and expensive
App can only read its own files
App can not access network facilities
CONCLUSION
App Engine is a great "engine" for building highly scalable web applications
backed by a world-class infrastructure, but it's our responsibility to use the tools
provided as effectively and efficiently as possible.
A large part of this is designing your data model to leverage the core strengths of
App Engine's underlying datastore
Flexibility: Java or Python APIs, no 'lock-in‘
Security: sandbox environment, rich APIs
Easy to Start: generous free quota
Easy to Scale: uses Google infrastructure
FUTURE: better performance, new features