Deploy your apps using Google Cloud service, App Engine. It is server-less service for deploying apps. You don't need worry about hardware, installation, operation and maintenance. You only focus with your business and application.
6. 3-tier Architecture with App Engine Standard
Cloud
DNS
Backend No-SQL
Database
Datastore
Front & Backend
Application
App Engine
7. What is App Engine?
Service for building highly
scalable applications on a fully
managed serverless platform by
Google Cloud.
“Scale your applications from zero to planet
scale without having to manage
infrastructure”
8. What is Serverless?
No upfront provisioning
No management of servers
Pay only what you use
Dynamically scale as needed
9. App Engine Key Feature
1. Fully managed environment (lets you focus on code).
2. Automatic load balancing, and scaling.
3. Application versioning, and traffic splitting.
4. Custom runtimes allow to bring any library and
framework.
5. Manage resources from the CLI, debug source code,
and run API.
13. Setting Configuration via app.yaml
File that contains information
about app's settings, which
acts as a descriptor for its
deployment.
14. Setup App Engine Application on
Project
Setup application first using
Console, Google Cloud SDK,
or Cloud Shell. GCP Project
Cloud
Conso
le
gcloud app create --
region=region
/
15. GCP Project
Deploy Application on App Engine
Deploy app using Google
Cloud SDK/Cloud Shell.
gcloud app
deploy
GCP Project
Target URL
https://service-dot-project.et.r.appspot.com
16. Deploy New Versions
gcloud app deploy --version=v1-2 --no-
promote
--no-promote
to deploys
without routing
to new version
17. Migrate Traffic Between Versions
gcloud app services set-traffic service --splits
v1-2=1
--migrate
to gradually
migrate traffic
18. 90%
Splitting Traffic Between Versions
90%
10%
gcloud app services set-traffic service --splits
old_version=weight, new_version=weight --split-by ip /
cookie
19. Resource Scaling
•Automatic
• Creates
instances based
on request rate,
response
latencies, and
other metrics.
• You can specify
thresholds for
the metric and
min instances.
Basic
• Creates
instances when
your app
receives
requests.
• Each instances
will be shut
down when the
app becomes
idle.
Manual
• Specifies the
number of
instances that
continuously run
regardless of the
load level.
21. Standard
• Application instances run in a sandbox.
• Specific versions of the supported
programming languages, i.e. Python 2.7 &
3.7-3.9, Java 8 & 11, Node.js 10, 12, 14,
16, PHP 5.5, 7.2-7.4, Ruby 2.5-2.7, Go
1.11-1.16.
• Run for free at limited quota or at very low
cost.
• Sudden and extreme spikes of traffic.
Flexible
• Application instances run within Docker
containers on Compute Engine.
• Any version of the supported programming
languages, i.e. Python, Java, Node.js, Go,
Ruby, PHP, or .NET.
• Custom runtime or source code written in
other programming languages.
• Accesses the resources that reside in the
Compute Engine network.
22. Feature Comparison
Feature Standard Flexible
Instance startup time Seconds Minutes
Deployment time Seconds Minutes
Scaling Manual, Basic, Automatic Manual, Automatic
Scale to zero Yes No, minimum 1 instance
SSH debugging No Yes
Writing to local disk Write access to
the /tmp directory except
Python 2.7 and PHP 5.5
Yes, ephemeral (disk
initialized on each VM
startup)
Installing third-party binaries Limited Yes
30. Class Recommendations
• Google Associate Cloud Engineer – Course Tracks
• Google Cloud Fundamentals: Core Infrastructure
• Architecting with Compute Engine
• Google Professional Cloud Architect – Course Tracks
• Google Associate Cloud Engineer – Course Tracks ++
• Design and Process
• Google Professional Cloud Developer – Course Tracks
• Google Cloud Fundamentals: Core Infrastructure
• Developing Applications with Google Cloud