Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Google App Engine: Your Cloud Managed by a Google Team
1. “ Google App Engine: Your Cloud
Managed by a Google Team
”
Conference session by Sergey Sundukovskiy
Today, many companies explore the wide-ranging possibilities offered by Cloud Compu-
ting. One of the most important decisions to make during the Cloud evaluation process is
the selection of an appropriate Cloud Vendor. The top industry vendors, such as Amazon
EC2, Rackspace, Salesforce.com, Microsoft Azure, GoGrid, and Google Application En-
gine, provide quite different capabilities, product offerings, and maturity. It is not easy to
look beyond their marketing claims to understand what the true value is. This session is
going to discuss how to choose a Cloud Provider, and how to deploy Cloud projects in a
typical Business Environment.
SESSION DESCRIPTION
While attending this session, you will get expert advice on the Cloud Vendor selection pro-
cess. In particular, this session will go into a detailed evaluation of Google App Engine, a
cloud computing technology that provides a platform for Web applications development
and hosting in data centers managed by Google. The speaker will review the capabilities it
offers to various businesses and some of the challenges one may face when deploying a
Cloud project.
OUTLINE
What is Google App Engine?
The speaker will start with an overview of Google App Engine. Google App Engine is a
cloud computing platform for developing and hosting Web applications in Google-
managed data centers. It differs from similar services, such as Amazon Web Services,
in that AWS is IaaS (Infrastructure as a Service), while AppEngine is PaaS (Platform
as a Service). It virtualizes applications across multiple servers and data centers. The
speaker will outline the main App Engine offerings, including dynamic Web serving,
persistent storage with queries, automatic scaling, load balancing, APIs for authenti-
cating users and sending e-mails using Google Accounts, a local development envi-
ronment for simulating App Engine on a user’s computer, and scheduled tasks for trig-
gering events at specified times.
Why Google App Engine?
he speaker will focus on Google App Engine’s setup, development, and deployment.
They are fairly simple, since App Engine supports a narrow Web app scenario and us-
ers do not have to install an operating system, configure Apache, or optimize MySQL.
The session will cover how Google App Engine supports apps written in several pro-
gramming languages. With App Engine's Java runtime environment, one can build an
2. “ Google App Engine: Your Cloud
Managed by a Google Team
”
Conference session by Sergey Sundukovskiy
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. You will also learn about a dedicated Python
runtime environment that App Engine also features, which includes a fast Python in-
terpreter and the Python standard library. The Java and Python runtime environments
are built to ensure that the application runs quickly, securely, and without interference
from other apps on the system.
Attendees will learn how Google handles deploying the code to a cluster, monitoring,
failover, and launching application instances, if necessary. The speaker will also elab-
orate on another advantage of Google App Engine: starting free-of-charge using cer-
tain amounts of bandwidth, e-mails, and storage space. The session will touch upon
the Google App pricing model, beginning with a zero-cost package to get started with
App Engine. 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 per month,
absolutely free. When one enables billing for an application, her/his free limits are
raised, and s/he only pays for the resources used above the free levels.
The speaker will then discuss Google Datastore’s advantages. App Engine provides a
powerful distributed storage service that features a query engine and transactions.
Just as the distributed Web server grows with one’s traffic, the distributed datastore
grows with her/his data. The App Engine datastore is not like a traditional relational da-
tabase. Data objects, or "entities," have a kind and a set of properties. Datastore enti-
ties are "schemaless." The structure of data entities is provided by and enforced by
one’s application code. The Java JDO/JPA interfaces and the Python datastore inter-
face include features for applying and enforcing structure within one’s app. The app
can also access the datastore directly to apply as much or as little structure as it
needs. The datastore is strongly consistent and uses optimistic concurrency control.
An update of an entity occurs in a transaction that is retried a fixed number of times if
other processes are trying to update the same entity simultaneously. One’s application
can execute multiple datastore operations in a single transaction, which either all suc-
ceed or all fail, ensuring the integrity of her/his data.
Finally, the session will cover how applications run in a secure environment that pro-
vides limited access to the underlying operating system. The sandbox isolates the ap-
plication in its own secure, reliable environment that is independent of the hardware,
operating system, and physical location of the Web server.
3. “ Google App Engine: Your Cloud
Managed by a Google Team
”
Conference session by Sergey Sundukovskiy
Google App Engine Recommended Use
In the course of the session, you will learn how Google App Engine can be deployed
as a solution for individual developers who need to test the scalability of their applica-
tions or who are involved in some basic projects. The speaker will focus on Google
App deployment options as compared with other Cloud Vendors. You will also learn
how Google App Engine works with applications written in Python and Java (including
Groovy, JRuby, Scala, and Clojure).
Google App Engine Challenges
In the closing remarks of the session, the speaker will review some challenges Google
App Engine deployment provides, as well as the bottlenecks encountered during the
implementation of real-world Cloud projects. The Google App Engine PaaS delivers a
computing platform and solution stack as a service, often consuming cloud infrastruc-
ture and sustaining cloud applications. It facilitates deployment of applications without
the cost and complexity of buying and managing the underlying hardware and soft-
ware layers. App Engine provides more infrastructure to make it easy to write scalable
applications, but can only run a limited range of applications designed for that infra-
structure.
Though high security is an advantage of Google App Engine, it also brings a set of lim-
itations, including that an application can only access other computers on the Internet
through the provided URL fetch and e-mail services. An application cannot write to the
file system. An app can read files, but only files uploaded with the application code.
The app must use the App Engine datastore, memcache, or other services for all data
that persists between requests. Further, application code only runs in response to a
Web request, a queued task, or a scheduled task, and must return response data with-
in 30 seconds in any case. A request handler cannot spawn a sub-process or execute
code after the response has been sent.
The next challenge the speaker will touch upon is that Google Datastore is implement-
ed on top of Google BigTable and it is the only persistence mechanism eligible to be
used.
Finally, you will be able to participate in a question-and-answer session, discussing the
challenges related to your specific Cloud Computing needs.
4. “ Google App Engine: Your Cloud
Managed by a Google Team
”
Conference session by Sergey Sundukovskiy
SPEAKER BIOGRAPHY
Sergey Sundukovskiy has over 15 years of experience serving in capacities ranging from
Senior Architect to CIO, including experience in building IT organizations from the ground
up in both start-ups and Fortune 100 companies. Sergey specializes in intra-company and
offshore system and product development, Cloud Computing, project and resource man-
agement, cross-functional training and strategic planning. Sergey holds a B.A. in Comput-
er Science from the University of California, San Diego, and an M.S. in Information Tech-
nology from the University of Liverpool, as well a Ph.D. in Information Technology Man-
agement from the School of Business and Technology, Capella University.
COMPANY BACKGROUND
Technofella is an Executive-For-Hire consulting company that offers a wide range of tech-
nology and business services. Technofella targets its services to Start-Up and Mid-Market
companies that either cannot afford or do not need a full-time technology or business ex-
ecutive.
Technofella helps Start-Up and Mid-Market companies avoid costly mistakes at the strate-
gy and execution stages of business planning and implementation. We have seen literally
hundreds of cases where companies incur too much “IT or Business Debt” that then hin-
ders their continuous development for years to come. We firmly believe that an ounce of
prevention is worth a pound of cure. We help you find the right balance between tactical
achievement and strategic continuity.