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
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
-
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.
-
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
-
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)
from https://cloud.google.com/solutions/gaming/dedicated-server-gaming-solution/
-
front-end interactions and maintaining game state in the datastore.
-
Orchestrating and autoscaling Compute Engine dedicated game servers
-
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
|