Google App Engine: Ashwani Kumar Rai
Google App Engine: Ashwani Kumar Rai
Abstract
Google App Engine was first released as a beta version in April 2008. It is a platform for
developing and hosting web applications in Google-managed data centers. Google’s App Engine opens
Google’s production to any person in the world at no charge.
Much like Google gives us all free email with an amazing amount of long term storage, we now have
the ability to run the software that we write in Google’s data centers.
Google App Engine is cloud computing technology. Google App Engine is software that facilitates
the user to run his web applications on Google infrastructure. It is more reliable because failure of any
server will not affect either the performance of the end user or the service of the Google.It virtualizes
applications across multiple servers and data centers. Other cloud-based platforms include offerings
such as Amazon Web Services and Microsoft's Azure Services Platform.
Google App Engine lets you run your web applications on Google's infrastructure. 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 https://www.example.com/) using
Google Apps. Or, you can serve your app using a free name on the appspot.com domain. You can
share your application with the world, or limit access to members of your organization.
Google App Engine supports apps written in several programming languages. With App
Engine's Java runtime environment, you can build your app using standard Java technologies,
including the JVM, Java servlets, and the Java programming language—or any other language
using a JVM-based interpreter or compiler, such as JavaScript or Ruby. App Engine also features
a dedicated Python runtime environment, which includes a fast Python interpreter and the Python
standard library. The Java and Python runtime environments are built to ensure that your
application runs quickly, securely, and without interference from other apps on the system.
With App Engine, you only pay for what you use. There are no set-up costs and no recurring fees.
The resources your application uses, such as storage and bandwidth, are measured by the gigabyte,
and billed at competitive rates. You control the maximum amounts of resources your app can
consume, so it always stays within your budget. App Engine costs nothing to get started. All
applications can use up to 500 MB of storage and enough CPU and bandwidth to support an
efficient app serving around 5 million page views a month, absolutely free. When you enable
billing for your application, your free limits are raised, and you only pay for resources you use
above the free levels.
GAE is a Platform-as-as-Service (PaaS) offering that lets you build and run apps on Google’s
infrastructure . This therefore eliminates the need for costly procurement and maintenance of
servers since everything is handled by Google while the institution can then focus on delivering
top notch content to the learners. Take for example just having to deal with email. If a school
decided to setup its own email servers then they will not only have to contend with running an
inbound mail server using protocols like IMAP (or POP for older systems) but they will also have
to run an SMTP or outbound mail server.
In addition to this users will then have to configure their desktops or mobile email applications to
connect to these servers while the administrator deals with
quota management, security, etc. This will in turn increase the number of staff on payroll. GAE
carefully deals with these issues while putting enormous power in the hands of Educational Institutions
enabling them to focus on their core
business of delivering quality learning content to hungry and enthusiastic learners at no limits of scale.
All hardware and mid-level services such as web and database servers are fully taken care of. Certain
unique properties informed our choice of
Each of these languages has its own runtime and SDK that contains tools for deploying and testing
your application locally.
Applications are also tested in sandboxed environments locally and then deployed with simple
command-line tools or the desktop launcher.
F. Automatic Scalability
App Engine offers automatic scaling for web applications. As the number of requests increases for an
application, App Engine automatically allocates more resources for the web application to handle the
additional demand. You can scale up to 7 billion requests per day and automatically scale down when
traffic subsides.
ADVANTAGES
1. ) Tight integration with Google Apps:
GAE is a scalable system that powers Google’s own applications. This therefore implies that there is
tight coupling between GAE and Google Apps. Some of
this apps include but are not limited to; Google Docs, Google Calendar, Gmail, Google Drive, Google
Hangouts on air, amongst others. The availability of these apps within a single learning environment
helps account for an efficient system that doesn’t depend of the coupling of disparate technologies.
Here are som of the ways in which these apps can be used to satisfy the learning needs of Mobile
learners;
a.) Google Docs- It allows people to create, edit and view mind-blowing presentations, documents
and spreadsheets. It also allows team members to work on the same document simultaneously.
b.) Google Calendar- It allows people to schedule meetings effectively. Once a time is agreed upon
the convener (maybe the instructor or a student) can go ahead to set a reminder and invite those
concerned to attend very easily by using Google Calendar.
c.) Gmail- Google’s efficient means of sending and receiving email. This eliminates the need for an
Institution to run its own inbound and outbound mail
servers and all the bottlenecks that go with it. Google effectively takes care of this using its secure
email application called Gmail. No download or installation
is required and its offline support also enables you to continue browsing while offline and uploading
once a connection is restored.
d.) Google Drive- This helps for online storage of documents in Google’s secure cloud. Google
offers 30GB of storage space for Google Drive, Gmail, and Picasa Web Albums for free under its
Google Apps for Education program.
e.) Google Hangouts on Air- Allows for live streaming of lectures from an instructor to students
who may be dispersed around the globe in a distance education scenario. In this way interactivity is
fostered and in a case whereby a student fails to attend a session due to connectivity issues, the
broadcast will be
automatically recorded and saved to the organizations YouTube channel to be watched at any other
time.
2.) Extreme Scalability: Provides extreme scalability, a unlimited number of users can access it.
Google automatically creates new options, shares databases
3.) Server management: No need to worry about server management and configuration. After the
deployment of an application, server side management is done by Google, so all developers need to do
is focus on content.
4.) Security: Since the apps are sandboxed, it implies greater performance, reliability and tight
security. Sandbox isolates apps from the underlying operating
5.) Access to Google’s Infrastructure: By virtue of the fact that GAE is Google’s PaaS, it has
access to Google’s Infrastructures, which includes networks,
6.) Multiple programming languages support: GAE supports Java, Python, Go and PHP and
also provides their own SDK. For CPU intensive tasks like image manipulation, the Go environment
can be used.
7.) Cost: No set-up costs required. Free -up to a certain limit of consumed resources.
8.) Easy to Build: Web application development used to be for experienced developers but with
GAE any novice can put some something really great and very fast.
9.) Availability: Google guarantees 99.95% uptime which is a great deal for any organization
whether in the for-profit or non-profit sector.
10.) Integration with GitHub: The integration between GitHub and GAE provides an easy-to-use
mechanism for deploying applications on every push to your cloud repository’s master branch.
DISADVANTAGES
1.) Portability: Being a proprietary technology, there is the fear of being tied down to Google
technology. If one decides to leave GAE today after building a full
scale application porting to another platform will require a complete redesign of the application from
scratch.
2.) Not enough programming languages supported: At the moment the languages supported
are Java, Python, Go and PHP with the last two still in experimental and preview phases respectively.
There are a host of other very popular languages that need to be included like Perl, Ruby, C#, etc.
3.) Level of Access to File System: Developers have read-only access to File System therefore
not enough to do with apart from what is made available by Google.
VI. CONCLUSION
In this paper we have seen the benefits of GAE as a scalable solution for mobile learning. Mobile
learners are always on the go and so an effective solution should be one that enables an anywhere,
anytime and anyone approach to learning.
GAE does that as it also provides collaborative tools through Google Apps for video streaming, file
sharing, survey taking, quizzes and feedback, email, just to name a few. Institutions don’t have to
worry about server purchase, setup and maintenance as all of this is already taken care of. They don’t
even have to worry also about traffic in the case where this is being used to serve myriads of learners in
a distance learning scenario as automatic scalability is guaranteed through GAE
as well as 99.95% uptime. This is an all-in-one solution that can be implemented with great success by
any institution that would chose a cross-platform compatible approach to educational content delivery
through the cloud to mobile learners.