GCP
(Google Cloud
Platform)
Google Cloud
• Provides a vast collection of web-based applications as cloud services.
• Like Amazon, Google also offers cloud services for computing, storage,
networking and databases.
• Comparison table for AWS and GCP
Category Amazon Web Services (AWS) Google Cloud Platform (GCP)
EC2 (Elastic Compute Cloud), Lambda
Compute Services Compute Engine, Cloud Functions
(serverless)
App Engine (PaaS), GKE (Google Kubernetes
Platform/Application development Services Elastic Beanstalk (PaaS), ECS/EKS (containers)
Engine)
Storage Services S3 (object), EBS (block), Glacier (archival) Cloud Storage (object), Persistent Disk
Database Services RDS, DynamoDB, SimpleDB,Redshift, Aurora Cloud SQL, Bigtable, Firestore, Spanner
Networking VPC, Route 53 (DNS) VPC, Cloud Interconnect
Google’s IaaS Offerings
• Google’s Infrastructure-as-a-Service (IaaS) offers two popular services
as Google Compute Engine (GCE) and Google Cloud Storage.
Google Compute Engine (GCE)
• Developers can deploy large-scale distributed applications on virtual
machines provided by Google's infrastructure using Google Compute
Engine (GCE).
• GCE uses KVM (Kernel-based Virtual Machine) as the hypervisor .
• Google provides both pre-defined and custom-configured machines.
• Pre-standardized machines are divided into different categories from
which users can select as per the requirements.
Machine categories offered by GCE are as following:
• Standard Machine,
• High Memory Machine,
• High CPU Machine,
• Shared Core Machine
• Custom Machine Types
• When the pre-defined machine types do not match with
requirements, then consumers have the option of building custom-
defined machine. So that user can specify the memory and CPU
needs.
Google’s PaaS Offering-GAE
• Google App Engine (GAE) is a Platform-as–a-Service (PaaS) facility.
• GAE allows developers to create and deploy web applications
• On GAE, applications can be developed in high level programming
languages by using Google App Engine Framework.
• Google App Engine provides several high-level programming language
run-times like Java runtime, Python runtime and PHP runtime with
necessary libraries for application.
• GAE provides a persistent storage facility with it and applications
deployed over App Engine are easy to scale when traffic or data storage
needs the growth.
• GAE also has auto load balancing feature.
Diagram represents overall architecture of the Google
cloud infrastructure.
The building blocks of Google’s cloud computing application include
• GFS is used for storing large amounts of data.
• MapReduce is for use in application program development.
• Chubby is used for distributed application lock services.
• BigTable offers a storage service for accessing for accessing structural
or semi structural data.
• Users can interact with Google applications via the web interface
provided by each application.
• Third-party application providers can use GAE to build cloud
applications for providing services.
GAE Architecture
Functional Modules of GAE
The GAE platform comprises the following five major components.
1) The data store offers object-oriented, distributed, structured data storage
services based on Big-Table techniques. The data-store secures data
management operations.
2) The application runtime environment offers a platform for scalable web
programming and execution. It supports various programming languages.
3) The software development kit (SDK) is used for local application
development.
The SDK allows users to execute test runs of local applications and upload
application code.
4) The administration console is used for easy management of user application
development cycles, instead of for physical resource management.
5) The GAE web service infrastructure provides special interfaces to guarantee
flexible use and management of storage and network resources by GAE
GAE Applications
Well-known GAE applications include ,
• The Google Search Engine, Google Docs, Google Earth, and Gmail.
• These applications can support large numbers of users simultaneously.
• Users can interact with Google applications via the web interface
provided by each application.
• Third party application providers can use GAE to build cloud
applications for providing services.
The applications are all run in the Google data centers.
• Inside each data center, there might be thousands of server
nodes to form different clusters.
• Each cluster can run multipurpose servers.
GAE supports many web applications.
Storage service
• One is a storage service to store application-specific data in
the Google infrastructure.
• The data can be persistently stored in the backend storage
server while still providing the facility for queries, sorting, and
even transactions similar to traditional database systems.
Google-specific services
• GAE also provides Google-specific services, such as the Gmail
account service (which is the login service, that is, applications
can use the Gmail account directly).
• This can eliminate the tedious work of building customized user
management components in web applications.
• Thus, web applications built on top of GAE can use the APIs
authenticating users and sending e-mail using Google
accounts