0% found this document useful (0 votes)
8 views

Mod-2 CCII

The document discusses Google App Engine (GAE) as a platform for developing scalable web applications on Google Cloud, highlighting its two environments: standard and flexible, which cater to different application needs. Key features of GAE include Blobstore, Cloud Storage, and automatic scaling, making it suitable for applications with varying traffic demands. Additionally, it emphasizes the importance of scalable architecture and horizontal scaling to handle increased loads effectively.

Uploaded by

2305112070002
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)
8 views

Mod-2 CCII

The document discusses Google App Engine (GAE) as a platform for developing scalable web applications on Google Cloud, highlighting its two environments: standard and flexible, which cater to different application needs. Key features of GAE include Blobstore, Cloud Storage, and automatic scaling, making it suitable for applications with varying traffic demands. Additionally, it emphasizes the importance of scalable architecture and horizontal scaling to handle increased loads effectively.

Uploaded by

2305112070002
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/ 27

05201345 - Cloud Computing - II

Mod-2
• Working with Google App Engine Google App
Engine (GAE), Development of scalable web
application on Google cloud, Build and deploy
simple web applications to Google cloud,
Develop simple application using Google App
Engine (GAE) and its services, Exploring PaaS
with App Engine, Event Driven Programs with
Cloud Functions, Containerizing and
Orchestrating Apps with GKE.
Google App Engine(GAE)
• Google App Engine is mostly used to run Web
applications.
• App Engine makes it easier to develop scalable
and high-performance Web apps.
• The App Engine SDK facilitates the testing and
professionalization of applications by
emulating the production runtime
environment and allowing developers to
design and test applications on their own PCs.
Environments available in Google App
Engine
• GAE provides two types of app development
environments.
• In the standard environment, applications run
in a sandbox using the runtime environment
of one of the languages supported by GAE.
The environment is suitable for applications
that need to scale rapidly (up or down) in
response to sudden or extreme traffic spikes
Cont.,

• The GAE flexible environment automatically


scales apps up or down while also balancing
the load. It allows developers to customize the
runtimes provided for the supported
languages or provide their own runtime by
supplying a custom Docker image or
Dockerfile.
Cont.,
• The environment is suitable for many kinds of apps,
including apps that do the following:
• Receive consistent traffic.
• Experience regular traffic fluctuations.
• Run in a Docker container with a custom runtime or
source code written in other programming languages.
• Use frameworks with native code.
• Access Google Cloud project resources residing in the
Google Compute Engine network.
GAE's key features
• Blobstore for serving large data objects.
• GAE Cloud Storage to read and write files
during app runtime.
• Page Speed Service for automatically speeding
up webpage load times.
• URL Fetch Service to issue HTTP requests and
receive responses for efficiency and scaling.
• Mem cache to cache data in-memory and
speed up database operations.
Development of scalable web application on
Google cloud
• The easiest definition of scalability would
sound like the ability of a web app to deal with
increasing load without breaking down. It
means that no matter how many users on how
many platforms are present in one moment,
the app will perform equally well for all of
them.
examples of scalable web applications
• Bitly
• Bitly is the app that provides link optimization
services to individuals and businesses. Bitly helps
improve interactions with customers and build
brand awareness. Also, the app has data collection
and real-time analytics functionality, so it becomes
easy to monitor business performance.
• Slack
• Slack is a business app that helps to connect
employees. It has rich functionality that simplifies
teamwork:
Cont.,
• Dropbox
• Dropbox is one of the most famous file-
sharing services. The solution makes it
possible to keep business data securely and
enhances teams’ collaboration by bringing it
to one place. Dropbox is used by Spotify,
National Geographic, and other businesses,
both big and small.
Why should you build a scalable web application?

• Imagine that your marketing campaign for a


trip planner app attracted lots of users and, at
some point, the app has to simultaneously
serve hundreds of thousands of them. That
means millions of requests and operations
processed at the same time and a high load on
your server. If designed improperly, the system
just won’t be able to handle it.
scalable app architecture
• Scalable software platform: separation of concerns and
horizontal scaling.
• Separation of concerns:
• Sometimes apps are engineered in a way that one server
does the whole job: handles user requests, stores user
files, etc. In other words, it does the job that should
normally be done by several separate servers.
• Consequently, when the server gets overloaded, the
entire app is affected: pages won’t open, images won’t
load, etc. To avoid this, ensure the separation of
concerns.
Cont.,

• For example, an API server handles priority


client-server requests that require an instant
reply. a user wants to change their profile
image. After the image is uploaded, it usually
undergoes certain processing: for example, it
can get resized, analyzed for explicit content,
or saved in storage.
Horizontal scaling

• How many requests is your server able to handle?


Basically, it depends on its specifications: RAM and CPU
capacity. What happens when there is only one server
that handles all of the tasks? After the load goes
beyond the server capacity, the server crashes and the
app doesn’t respond until the server recovers.
• The idea behind horizontal scaling lies in the
distribution of the load between several servers. Each
server runs a snapshot (or a copy) of the application
and is enabled or disabled depending on the current
load. Distribution of the load is carried out by a special
component — Load Balancer.
Horizontal scaling
Cont.,
• The Load Balancer controls the number of servers
required for the smooth operation of the app. It
knows how many servers are working at the
moment as well as how many are in idle mode.
• When it sees that a server works at the top
capacity and the number of requests is growing, it
activates other servers to redistribute the load
between them. And vice versa: it disables
unneeded servers when the number of requests is
reducing.
Building scalable web applications and
websites
Develop simple application using Google
App Engine (GAE)
Exploring PaaS with App Engine

• App engine allows you to build highly scalable


applications fully managed server less platform.
App engine is ideal if time to market is highly
valuable to you and you want to be able to
focus on writing code without ever having to
touch a server infrastructure.
• It is also ideal if you do not want to worry
about a pager going off for receiving 5XX errors.
App engine allows you to have high availability
apps without a complex architecture.
Cont.,
• As a fully managed environment app engine is a perfect example
of a computing platform provided as a service.
• App Engine can save organizations time and cost in software
application development by eliminating the need to buy build
and operate computer hardware and other infrastructure.
• This includes no server management and no need to configure
deployments. This allows engineering teams to focus on creating
high value applications instead of no value operations work.
• You can quickly building and deploy applications using the range
of popular programming languages, like Java, PHP, node.js
Python, C sharp, ., Ruby and Go or you can bring your own
language runtime and frameworks.
Cont.,
• App Engine allows you to manager resources from
the command line, debug source code in
production and run API back ends easily using
industry-leading tools such as cloud SDK cloud
source repositories, Intellij Idea, Visual Studio and
Portia.
• App engine also automatically scales depending on
the application traffic and consumes resources
when code is running. This allows cost to be kept
to a minimum.
Event Driven Programs with Cloud Functions

• In Cloud Functions, you use event-driven


functions when you want a function to be
invoked automatically in response to an event
that occurs in your cloud environment.
• CloudEvent functions are based on CloudEvents
, an industry-standard specification for
describing event data in a common way.
• CloudEvents GitHub repository.
• a set of CloudEvents SDKs to help work with
CloudEvents objects in your code.
Cont.,

You might also like