Distributed System and Cloud Computing Lab Manual
ISBN 9788119221868

Highlights

Notes

  

Chapter 9: Application development using Google App Engine

Google Cloud Platform (GCP), offered by Google, is a suite of cloud computing services that runs on the same infrastructure that Google uses internally for its end-user products, such as Google Search, Gmail, Google Drive, and YouTube. Alongside a set of management tools, it provides a series of modular cloud services including computing, data storage, data analytics and machine learning.

Google lists over 100 products under the Google Cloud brand. Some of the key services are listed below.

Compute

App Engine - Platform as a Service to deploy Java, PHP, Node.js, Python, C#,.Net, Ruby and Go applications.

Compute Engine - Infrastructure as a Service to run Microsoft Windows and Linux virtual machines.

Google Kubernetes Engine (GKE) or GKE on-prem offered as part of Anthos platform - Containers as a Service based on Kubernetes.

Storage & Databases

Cloud Storage - Object storage with integrated edge caching to store unstructured data.

Cloud SQL - Database as a Service based on MySQL, PostgreSQL and Microsoft SQL Server.

Cloud Bigtable - Managed NoSQL database service.

Cloud Spanner - Horizontally scalable, strongly consistent, relational database service. Cloud Datastore - NoSQL database for web and mobile applications.

Networking

Google Cloud Network Topology - External Load Balancer Architecture.png

VPC - Virtual Private Cloud for managing the software defined network of cloud resources. Cloud Load Balancing - Software-defined, managed service for load balancing the traffic. Cloud Armor - Web application firewall to protect workloads from DDoS attacks.

Cloud CDN - Content Delivery Network based on Google’s globally distributed edge points of presence.

Big Data

BigQuery - Scalable, managed enterprise data warehouse for analytics.

Cloud Dataflow - Managed service based on Apache Beam for stream and batch data processing.

Cloud Dataproc - Big data platform for running Apache Hadoop and Apache Spark jobs. Cloud Composer - Managed workflow orchestration service built on Apache Airflow.

Cloud Datalab - Tool for data exploration, analysis, visualization and machine learning. This is a fully managed Jupyter Notebook service.

Cloud AI

Cloud AutoML - Service to train and deploy custom machine learning models. As of September 2018, the service is in Beta.

Cloud TPU - Accelerators used by Google to train machine learning models.

Cloud Machine Learning Engine - Managed service for training and building machine learning models based on mainstream frameworks.

Cloud Natural Language - Text analysis service based on Google Deep Learning models. Cloud Speech-to-Text - Speech to text conversion service based on machine learning.

Cloud Text-to-Speech - Text to speech conversion service based on machine learning.

Management Tools

Operations suite (formerly Stackdriver) - Monitoring, logging, and diagnostics for applications on Google Cloud Platform and AWS.

Cloud Deployment Manager - Tool to deploy Google Cloud Platform resources defined in templates created in YAML, Python or Jinja2.

Cloud Console - Web interface to manage Google Cloud Platform resources.

Identity & Security

Cloud Identity - Single sign-on (SSO) service based on SAML 2.0 and OpenID.

Cloud IAM - Identity & Access Management (IAM) service for defining policies based on role-based access control.

Cloud Identity-Aware Proxy - Service to control access to cloud applications running on Google Cloud Platform without using a VPN.

Cloud Data Loss Prevention API - Service to automatically discover, classify, and redact sensitive data.

IoT

Cloud IoT Core - Secure device connection and management service for Internet of Things.

Edge TPU - Purpose-built ASIC designed to run inference at the edge. As of September 2018, this product is in private beta.

Cloud IoT Edge - Brings AI to the edge computing layer.

API Platform

Maps Platform - APIs for maps, routes, and places based on Google Maps.

Apigee API Platform - Lifecycle management platform to design, secure, deploy, monitor, and scale APIs.

API Monetization - Tool for API providers to create revenue models, reports, payment gateways, and developer portal integrations.

Developer Portal - Self-service platform for developers to publish and manage APIs.

API Analytics - Service to analyse API-driven programs through monitoring, measuring, and managing APIs.

Steps for creating app on Google App Engine

  • Step 1: Open cloud.google.com
  • Step 2: Click on Console on top right
  • Step 3: The Dashboard will look like following
  • Step 4: Click over current project next to GCP
  • Step 5: Click on New Project
  • Step 6: Give some useful name for project and click on create
  • Step 7: Now the project is created but still we’ve the old project selected so click on current project next to GCP and select the newly created project
  • Step 8: Now the project is select, the interface will look like as below

    Step 9: Now we will start App Engine, so just go to on top left and select app engine and click on dashboard or search directly from search box

  • Step 10: The interface after clicking App engine is something like below
  • Step 11: Click on Create Application and select the region in next slide and click next
  • Step 12: Now select the language and click I’ll do this later
  • Step 13: Now the App Engine Application has been created
  • Step 14: Now click on Activate Cloud Shell previous to help menu, it will open the command shell to work
  • Step 15: This is how the shell/terminal will look like
  • Step 16: Now create a directory using mkdir command
  • Step 17: Click on open editor to open the cloud shell editor (GUI based file manager)
  • Step 18: Editor Window is as follows
  • Step 19: Now from the file menu we will create a simple java program HelloWorld.java
  • Step 20: Now write the basic java program
  • Step 21: Open the terminal and run the program and see the output