GCP Learning Series _App Engine Part 1

igreendataadmin

Overview

This App Engine series comprise of three parts

  1. Overview of App Engine (Part 1 )
  2. Cloud SDK Setup , Configuring and Authorizing Docker to push image to Google Container Registry ( gcr ) ( Part 2 )
  3. Deploying the image from gcr into App Engine Flexible environment (Part 3 )

App Engine is a Platform-as-a-Service. It means that you simply deploy your code, and the platform does everything else for you. For example, if your app becomes very successful, App Engine will automatically create more instances to handle the increased volume. ( Scaling support )

Note : It’s a PaaS (service) like Elastic Beanstalk in AWS Cloud

Compute Choices

Compute Engine ( IaaS ) : To create VMs and have more control ( Lift and Swift )

GKE ( CaaS ) : To deploy images into container and have control in managing the cluster ( Container Clusters )

App Engine ( PaaS ) : Managed Service by GCP

Cloud Functions ( FaaS) : Serverless , Event Driven Architecture

Managed Service (Serverless)
Build and Deploy Apps quickly, built-in support for load balancing and autoscaling
Pay As You Go
Focus on Code, as App Engine is a managed service from GCP, which will take care of provisioning Infra Structure
Choose between Standard and Flexible environment
Traffic Splitting/Versioning

App Engine Variance

App Engine comes in two flavours. One is Standard Environment and another one is Flexible Environment

App Engine Standard Environment

Google App Engine (Standard) is like a read-only sandboxed folder where you upload code to execute from and don’t worry about the rest (yes: read-only — there are a fixed set of libraries installed for you and you cannot deploy 3rd party libraries at will). DNS / Sub-domains etc is so much easier to map.

Pros:

Instance can be startup in milliseconds.

It provides Manual, basic and automatic scaling.

Cons:

Lacks support for 3rd Party Library

Minimal Language Support

Supported Runtimes

App Engine Flexible Environment

Google App Engine (Flexible) is in fact like a whole file-system (not just a locked down folder), where you have more power than the Standard engine, e.g. you have read/write permissions, (but less compared to a Compute Engine). In GAE standard you have a fixed set of libraries installed for you and you cannot deploy 3rd party libraries at will. In the Flexible environment you can install whatever library your app depends on, including custom build environments (such as Python 3).

Pros:

Customizable Stack

Support for 3rd library

Cons:

Can take minutes to start

Need to have one instance running all time, can not be bring down to zero. It might cost more compared to Standard environment

Supported Runtimes

Note : Both Standard and Flexible environment runs on Container based environment, while Standard container is maintained by Google Proprietary and Flexible container relies on Docker one.

GCP Console

Login to GCP Console, click on Hamburger Menu and navigate to Serverless section and click on App Engine. You will be redirected to AppEngine dashboard.

to be continued … ( Cloud SDK Installation , GCloud Authentication, Container Registry) . Stay Tuned !

Happy Learning !

Bharathy Poovalingam

#GCP #Serverless #AppEngine #Learning

Related Course:

Architecting Scalable Web Applications using Google App Engine ( Janani Ravi / Pluralsight )