Google Cloud Platform(GCP) is amongst the most popular cloud platforms available today. It was officially launched in July 2012. 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 and YouTube.
It offers a wide range of services for compute, storage, database, deployment, monitoring, etc. It also provides 12 months free tier usage for its newly registered customers with $300 as a free trial.
For login into the google cloud Platform console, you will need a gmail account. You can use your existing gmail account to register for GCP. For understanding cloud computing concepts, you can refer to my blog on cloud computing. You can also see a comparision between AWS, GCP and Azure in my blog on AWS vs GCP vs Azure.
Let us discuss few of the services offered by GCP.
The GCP provides a number of compute services options for your computing needs which can be used as per your requirements. These are :
- App Engine
- Compute Engine
- Kubernetes Engine
- Cloud Functions
i) App Engine :
It is a PAAS type service for developers, where a developer can directly run his applications without managing the server directly. It is based on server-less computing. The developer needs to define the required environment for running his application and upload the application code. The application will automatically be managed by the App engine without the need to worry about the server resources like storage, compute capacity, loadbalancing, autoscaling, etc.
ii) Compute Engine :
It is a IAAS service where you can deploy and manage your servers and its environment manually. This gives you the flexibility to setup and customize the server environment manually from scratch as per your requirements. You can manage various components separately like its image, disk, firewall rules, snapshots, etc. This is usually helpful for system administrator to setup a customized server environment by installing and configuring the required tools and dependencies.
Google Compute Engine instances have an impressive boot up time which is about 35 seconds on average. It also provides customizable instances with variable CPU and Memory which can help you to choose optimal configurations and save on billing. You can choose the amount of CPU and memory that best suits your needs to run your application.
iii) Kubernetes Engine :
Kubernetes is an orchestration tool for running and managing docker containers. Google Kubernetes Engine(GKE) is a Kubernetes service provided by google to manage docker containers on GCP platform. It provides various features like resource provisioning, autoscaling, networking, etc.
iv) Cloud Functions :
Cloud functions is a PAAS service where a developer can execute its functions or scripts without the need to worry about the server provisioning and setup. He can directly execute his functions and scripts from the Cloud Functions service. He can also trigger the functions remotely to process and get the output of a given input.
GCP also provides a number of storage services, each with a different use case. Here are a list of cloud storage services provided by GCP.
i) Cloud SQL :
It is a fully managed Relational database service. It helps you to easily set up, maintain, manage, and administer your relational MySQL and PostgreSQL databases in the cloud.
ii) Cloud Storage :
It is a scalable and fully-managed object/blob storage for storing objects, blobs, and unstructured data. It is widely used to store by web applications to store and access the media files.
iii) Cloud Filestore :
It is a managed file storage service for applications that require a shared file system for sharing data with the Google Compute Engine instances. It gives our users a simple, native experience of a managed Network Attached Storage (NAS).
iv) Cloud Spanner :
It is a relational database service built for transactional consistency, high availability, and global scale. In addition to the Cloud SQL service, it also provides automatic, synchronous replication with high availability.
iv) Cloud Datastore :
It is an elastic, highly available document-oriented database service. It comes with a rich admin dashboard, a powerful query engine as well as multiple methods to access the database which makes it ideal for mobile and web workloads.
v) Cloud Bigtable :
It is a scalable, fully-managed NoSQL wide-column database that is suitable for both real-time access and analytics workloads. It integrates easily with popular Big Data tools like Hadoop and Spark and it supports the open-source, industry-standard HBase API.
vi) Firestore :
It is a fast, fully managed, serverless, cloud-native NoSQL document database that simplifies storing, syncing, and querying data for your mobile, web, and IoT apps at global scale.
vi) Memorystore :
It is a fully managed in-memory, Redis protocol based, data store service built on scalable, more secure, and highly available Google’s infrastructure. It can be used to build application caches that provides sub-millisecond data access.
GCP provides a number of network services to manage the connectivity and reachability of the resources for various purposes. Here are few of the network services provided by Google Cloud Platform.
- Load balancing
- Cloud DNS
- Cloud CDN
- Cloud NAT
i) Load balancing :
GCP provides Cloud Load balancers that distribute incoming network traffic across multiple VM instances to help your application scale. Currently GCP provides three types of load balancers. These are:
- HTTP(s) Loadbalancer
- TCP Load balancer
- UDP Load balancer
ii) Cloud DNS :
It is a CDN service from google and helps to manage your DNS zones, for defining your namespace(domain). You can create public or private zones on GCP.
iii) Cloud CDN :
It is a Content Delivery Network service which uses Google’s globally distributed edge points to cache your HTTP(S) content closer to users, resulting in faster delivery and reduced serving costs.
iv) Cloud NAT :
It lets your Compute Engine instances or Kubernetes Engine container pods to communicate with the internet using a shared, public IP address. Cloud NAT uses a NAT gateway to connect your subnets to a Cloud Router, a virtual router that connects to the internet.
Google Stackdriver is a monitoring service offered by google. It aggregates metrics, logs, and events from infrastructure and help to monitor the resources. Stackdriver is not bound to GCP, and can be used across various cloud platforms other than GCP like AWS, on-premises infrastructure, or with hybrid clouds. You can monitor all your resources across various cloud provides in a single platform.
Stackdriver was initially a company created in 2012 by founders Dan Belcher and Izzy Azeri. It was acquired by Google in May 2014. Google rebranded it and launched its expanded version as “Google Stackdriver” in October, 2016.
Stackdriver provides metrics details every layer of the ‘stack’ in the form of charts and graphs. It supports multi-cloud environments, and provides a single pane of glass into users’ cloud services. Stackdriver provides views into the logs that are generated, and allows users to generate metrics from those logs. It allows users to receive alerts when metrics breach normal levels.
IAM & Admin
Google Launched its own IAM service in May 2016. It is used to set up and manage permissions for users, groups, and applications. Apart from the user account that is a gmail account for login into the GCP console, GCP also provides “service accounts” which are non-personal account. Service accounts is used by your application to run code or authenticate itself with other parts of the application or Google Cloud Platform components.
You can also create a Google group which is a collection of Google accounts and service accounts. Each group has a unique email address that is associated with the group. It also provides role that is a collection of permissions that is assigned to a user / group / service account. You can use the IAM service to manage and administer various users, groups and permissions to meet your organizational needs.
GCP provides a very competitive pricing amongst the various cloud providers. It provides per second billing option which benefits you from paying what you use. It has no upfront cost for using its services. It follows the “Pay as you go” model. It also offers other options like Sustained use discounts on Compute Instances and Cloud SQL for running it for a certain time in the monthly billing.
For GCP pricing details, visit google docs here.
Google Cloud Platform offered by google has a large number of services to offer with a competitive pricing. Since Google has been known for its IT infrastructure that it has build over the years, it has an advantage of providing reliable infrastructure. Although it has comparatively less to offer in terms of the number of services offered, features, and service maturity as compared to the Cloud Leader AWS, it is constantly catching up by improving its services that it has to offer.
Google cloud is already amongst the top 3 cloud providers other than AWS and Microsoft Azure. It has showed a high growth rate and rapid expansion of its Infrastructure and providing quality services globally. Since there are a number of cloud providers in the market, it will be interesting to see which cloud provider has better services to offer for its customers.
Thank you for your time. Hope it was helpful. Stay Connected!