0% found this document useful (0 votes)
34 views25 pages

17-Cloud Environment - Google App Engine-29-09-2023

This document provides an overview of Google App Engine, including its core components and features. It discusses App Engine's infrastructure which leverages Google's distributed systems to scale applications. It also describes the runtime environment which provides sandboxing and supports languages like Java, Python and Go. The document outlines the storage options in App Engine including static file servers and Datastore. Finally, it summarizes some of the application services provided like UrlFetch and MemCache which allow asynchronous requests and caching.

Uploaded by

184609
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
34 views25 pages

17-Cloud Environment - Google App Engine-29-09-2023

This document provides an overview of Google App Engine, including its core components and features. It discusses App Engine's infrastructure which leverages Google's distributed systems to scale applications. It also describes the runtime environment which provides sandboxing and supports languages like Java, Python and Go. The document outlines the storage options in App Engine including static file servers and Datastore. Finally, it summarizes some of the application services provided like UrlFetch and MemCache which allow asynchronous requests and caching.

Uploaded by

184609
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

CSI3001- Cloud Computing

Methodologies

CSI3001- Cloud Computing


Methodologies

Dr. R. Arumuga Arun,


Cabin : PRP 315(A&B)-19,
Mailid : arumugaarun.r@vit.ac.in.

1
Fall-Semester 2023-2024 SCOPE
CSI3001- Cloud Computing
Methodologies

Course Outcome
Analyze and study the basics of cloud computing, cloud
CO1 models, and its applications

Appreciate the requirements of various service paradigms in


CO2 Cloud Computing

Analyze, identify, and select the suitable type of


CO3 virtualization

An ability to use techniques, tools, and skills in a secured


CO4 cloud environment

Design, implement, and evaluate a cloud-based system,


CO5 process, component, or program to meet desired needs.

1
Fall-Semester 2023-2024 Dr. R. Arumuga Arun SCOPE
CSI3001- Cloud Computing Methodologies

Module IV
Cloud Environments

Google AppEngine

5
SCOPE
CSI3001- Cloud Computing Methodologies

Introduction
• Google App Engine is a PaaS implementation that provides services
for developing and hosting scalable Web applications.
• It is a distributed and scalable runtime environment
• It leverages Google’s distributed infrastructure to scale out
applications facing a large number of requests by allocating more
computing resources to them and balancing the load among them.

6
SCOPE
CSI3001- Cloud Computing Methodologies

Introduction
• The platform is logically divided into four major components:
1. Infrastructure,
2. The run-time environment,
3. The underlying storage, and
4. The set of scalable services that can be used to develop
applications.

6
SCOPE
CSI3001- Cloud Computing Methodologies

Infrastructure

6
SCOPE
CSI3001- Cloud Computing Methodologies

Infrastructure
• AppEngine hosts Web applications, and its primary function is to
serve users’ requests efficiently.
• To do so, AppEngine’s infrastructure takes advantage of many
servers available within Google data centers.
• For each HTTP request, AppEngine locates the servers to
process the request, evaluates their load, and, if necessary,
allocates additional resources (i.e., servers) or redirects the
request to an existing server.

6
SCOPE
CSI3001- Cloud Computing Methodologies

Infrastructure
• The infrastructure is also responsible for monitoring application
performance and collecting statistics on which the billing is
calculated.

6
SCOPE
CSI3001- Cloud Computing Methodologies

Runtime Environment
• The runtime environment represents the execution context of
applications hosted on AppEngine.
• With reference to the AppEngine infrastructure, which is
always active and running.
• The run-time comes into existence when the request handler
starts executing and terminates once the handler has completed.

6
SCOPE
CSI3001- Cloud Computing Methodologies

Runtime Environment
Sandboxing
• One of the major responsibilities of the runtime environment is
to provide the application environment with an isolated and
protected context.
• Application can execute without causing a threat to the server
and without being influenced by other applications in the
provided context.
• In other words, it provides applications with a sandbox.

6
SCOPE
CSI3001- Cloud Computing Methodologies

Runtime Environment
Sandboxing
• Therefore, sandboxing is achieved by means of modified
runtimes for applications that disable some of the common
features normally available with their default
implementations.
• If an application tries to perform any operation that is
considered potentially harmful, an exception is thrown and the
execution is interrupted.
• Some of the operations that are not allowed in the sandbox
include writing to the server’s file system. SCOPE
6
CSI3001- Cloud Computing Methodologies

Runtime Environment
Sandboxing
• For example, Accessing the computer through network besides
using Mail, executing code outside the scope of a request,
processing a request for more than 30 seconds, and etc.,

6
SCOPE
CSI3001- Cloud Computing Methodologies

Runtime Environment
Supported runtimes
• Currently, it is possible to develop AppEngine applications using
three different languages and related technologies: Java, Python,
and Go.
• AppEngine currently supports Java 6, and developers can use the
common tools for Web application development in Java, such
as the Java Server Pages(JSP), and the applications interact
with the environment by using the Java Servlet standard.
• Support for Python is provided by an optimized Python 2.5.2
interpreter. SCOPE
6
CSI3001- Cloud Computing Methodologies

Runtime Environment
Supported runtimes
• To support application development, AppEngine offers a rich
set of libraries connecting applications to AppEngine services.
• In addition, developers can use a specific Python Web
application framework called Webapp, simplifying the
development of Web applications.

6
SCOPE
CSI3001- Cloud Computing Methodologies

Storage
• AppEngine provides various types of storage, which operate
differently depending on the volatility of the data.
Static fileservers
• Web applications are composed of dynamic and static data.
• Dynamic data are a result of the logic of the application and
the interaction with the user.
• Static data often are mostly constituted of the components that
define the graphical layout of the application or data files.
• These files can be hosted on static file servers, since they are not
frequently modified. 6
SCOPE
CSI3001- Cloud Computing Methodologies

Storage
Static fileservers
• Such servers are optimized for serving static content, and users
can specify how dynamic content should be served when
uploading their applications to AppEngine.
Data Store
• DataStore is a service that allows developers to store semi-
structured data.
• Data Store can be considered as a large object database in which
to store objects that can be retrieved by a specified key.

6
SCOPE
CSI3001- Cloud Computing Methodologies

Storage
Data Store
• The underlying infrastructure of DataStore is based on Bigtable.
• It is a redundant, distributed, and semi-structured data store
that organizes data in the form of tables.
• DataStore also provides facilities for creating indexes on data
and updating data within the context of a transaction.
• Indexes are used to support and speed up queries.

6
SCOPE
CSI3001- Cloud Computing Methodologies

Application services
• 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.
• For example: access to data, account management, integration
of external resources, messaging and communication, and
asynchronous computation.

6
SCOPE
CSI3001- Cloud Computing Methodologies

Application services
UrlFetch
• One of the interesting features of UrlFetch is the ability to set
deadlines for requests so that they can be completed (or aborted)
within a given time.
• The ability to perform such requests asynchronously allows the
applications to continue with their logic while the resource is
retrieved in the background.

6
SCOPE
CSI3001- Cloud Computing Methodologies

Application services
MemCache
• This is a distributed in-memory cache that is optimized for fast
access and provides developers with a volatile store for the
objects that are frequently accessed.
• The caching algorithm implemented by MemCache will
automatically remove the objects that are rarely accessed.
• The use of MemCache can significantly reduce the access time to
data.

6
SCOPE
CSI3001- Cloud Computing Methodologies

Application services
Account management
• Web applications often keep various data that customize their
interaction with users.
• These data normally go under the user profile and are attached to
an account.
• AppEngine simplifies account management by means of Google
Accounts.

6
SCOPE
CSI3001- Cloud Computing Methodologies

Compute services
• 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 since it consumes long
computations.
• A good design for these scenarios provides the user with immediate
feedback and a notification once the required operation is
completed. 6
SCOPE
CSI3001- Cloud Computing Methodologies

Compute services
• AppEngine offers additional services such as Task Queues and
Cron Jobs that simplify the execution of computations those that
cannot be performed within the timeframe of the Web request.
Task Queues
• Task Queues allow applications to submit a task for a later
execution.
• This service is particularly useful for long computations that
cannot be completed within the maximum response time.
• The service allows users to have up to 10 queues that can execute
tasks. 6
SCOPE
CSI3001- Cloud Computing Methodologies

Compute services
Cron jobs
• It is possible to schedule the required operation at the desired
time by using the CronJobs service.
• This behavior can be useful to implement maintenance operations
or send periodic notifications.

6
SCOPE
CSI3001- Cloud Computing Methodologies

Thank you

5
SCOPE 1

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy