Google’s cloud offering is divided into 6 broad categories. These categories are:
Let’s look at each one of them a bit closer.
This category is basically where Google offers its highly customizable virtual machines. If you need computing power to run or host your applications then the compute suite of products is what you should be looking at. The products under the compute category are:
a. Compute Engine: Highly customizable virtual machines.
b. App Engine: Platform-as-a-service that lets you write code in Java, Go, PHP and Python and deploy right away without having to bother about setting up a virtual machine.
c. Container Engine: This lets you run your containerized applications and this also comes with a way to orchestrate and manage your containers with a tool called Kubernetes.
d. Container Registry: A big part of creating containerized applications is the ability to publish your container images so you can easily distribute them. Container Registry offers a way to store your images privately.
e. Cloud Functions: The IT industry has gone from buying physical servers to renting other people’s servers online to setting up virtual servers and only paying for what is used to having no servers at all. Conceptually you can now build applications and be serverless. Cloud Functions let’s you have such.
Storage & Databases
Applications, no matter what type, need data. The Google Cloud has a vast range of options when it comes to how to store data for your applications in the cloud. Here they are:
a. Cloud Storage: This is an object database. An object can be a text file, audio, video, photos. Cloud Storage let’s you store these objects. It also let’s you serve the static content of your site.
b. Cloud SQL: This is one of the services that got me really excited when it launched some years back. Here you get fully managed MySQL and PostgreSQL instances for all your relational database needs.
c. Cloud Bigtable: As at the time of writing this I haven’t had any experience with Bigtable but this is what it says on its page “A high performance NoSQL database service for large analytical and operational workloads”. It is a NoSQL database that is tuned to handle massive workloads in a very fast and responsive way.
d. Cloud Spanner: In my view, this is a game changer and here is why. We can easily build applications that scale automatically with the load they get but scaling databases has been a bit more challenging for developers and those in operations. Cloud Spanner lets you scale your databases horizontally with automatic replication. Yes, scale horizontally with your workload. I find this very interesting.
All networking related Google cloud products and services fall into this category. Some of them are described below:
a. Cloud Virtual Network: This lets you connect your cloud resources based on the networking rules that suit your architecture. You can use Cloud Virtual Network to create a Virtual Private Network (VPN), set up IP ranges, firewalls and so on.
b. Cloud Load Balancing: With this you can automatically scale your applications based on the traffic you get. It also provides a neat way to load balance your applications.
c. Cloud CDN: Cloud CDN offers a way to serve content to your website or applications out of Google Compute Engine and Google Cloud Storage.
a. BigQuery: The BigQuery page describes the service as follows “BigQuery is Google’s fully managed, petabyte scale, low cost enterprise data warehouse for analytics. BigQuery is serverless.”. This means to use BigQuery you won’t need to manage any infrastructure letting you focus primarily on your data. BigQuery also provides a way to interact with your data using familiar SQL.
b. Cloud Pub/Sub: One way of achieving a highly decoupled application is to build your application in such a way that the components in your application send messages to each other as against holding objects and calling methods for example. Cloud Pub/Sub offers a fully-managed messaging platform that allows applications send messages to each other.
a. Cloud Machine Learning Engine: There’s been a lot of talk and advancement around machine learning in recent years. The Google Cloud lets you easily build machine learning models and that can ride on any type of data or size.
b. Cloud Natural Language API: I find this quite interesting too! The Natural Language API lets you analyse text and derive sentiment. This means you can take text produced in your application and tell if the customer/friend/user was conveying a strong emotion like anger in their text. Looking at this carefully, there are several ways you can use such information to improve the quality of your application’s user experience.
Identity & Security
a. Cloud Identity & Access Management: This gives cloud administrators full control over its resources. It lets administrators create and manage fine-grained access to the numerous resources it has. Managing resources in the cloud can get very complicated mainly because to start with you’ll have several resources to manage and then for each resource you will be faced with the need to give varying levels of access to individuals. Cloud IAM lets you have one interface to handle all this.
This is just a description of some of the services available on the Google Cloud Platform. If you need to get things done in the cloud, chances are there is a product or service that exists on the Google Cloud that will let you achieve this. You can visit this link as a starting point to getting more information about the Google Cloud.