CS6320:  SW Engineering of Web Based Systems

 

Google App Engine --- Application Architecture

Regardless of the language choosen you should try to structure your application as a microservice(s) architecture. This means that you design the application as a collection of loosely coupled services

 

This allows for modularity and improves performance when deployed to GAE

 

 

 

Example ONE: Retail using Google Cloud including GAE for Real Time Inventory

from https://cloud.google.com/solutions/building-real-time-inventory-systems-retail

 

GOAL: update data-storage systems as soon as anything changes in the inventory

  • point of sale = sale or return of item updates inventory
  • backoffice = new stock comes in or stock is removed and updates inventory

 

Google App Engine: (paas)  

  • Point of Sale = uses GAE for front-end interactions and sends message from GAE to Cloud pub/suib to update inventory.

  • Backoffice = uses GAE for front-end interactions dealing with management of inventory -- gets messages from cloud pub/sub regarding changes
    in inventory resulting from point of sale.

Google Cloud Pub/Sub: (saas)  

  • fully-managed, real-time messaging service that enables applications and services to send and receive messages by using push- or pull-delivery schemes

  • HERE = puses data to Google Data Flow

Google Cloud DataFlow: (saas)  

  • the first stop for the inventory update recieved is not a database but, the cloud data flow which is responsible for PROCESSING STREAMS OF DATA

  • Defines a "data-pipeline" for processing incomming data

  • Sends data for storage to Cloud BigTable (storage of inventory in a No SQL, big data) AND Cloud BigQuery (analytic information storage using SQL based storage)

 

 

Example TWO: of a Game Server Architecture using Google Cloud including GAE

 

from https://cloud.google.com/solutions/gaming/dedicated-server-gaming-solution/

Google App Engine: (paas)  

  • front-end interactions and maintaining game state in the datastore.

  • Orchestrating and autoscaling Compute Engine dedicated game servers

 

Google Cloud Computer: (Iaas)  

  • runs dedicated game servers

  • triggering Google BigQuery analysis ---massive game and user data sets that it stores in google cloud storage

  • stores backup logs to process in BigQuery

NOTE:

GAE= Google App Engine

GCE = Googel Compute Engine

GCE Api = creates and manages virtual machines/instances on Google Compute

 

© Lynne Grewe