It is a good decision to host your data and applications in the Cloud because it has advantages of freeing you from tedious repetitive tasks of maintaining hardware infrastructure and software that is not part of your core business. It saves you time and resources and offers you superior performance and returns.
What is cloud computing?
According to the US National Institute of Standards and Technology cloud computing is a way of using IT that has the following five equally important attributes:
- First, you get computing resource on-demand and self-service. All you have to do is use a simple interface and you get the processing power, storage, and network you need with no need for human intervention.
- Second, you access these resources over the net from anywhere you want.
- Third, the provider of those resources has a big pool of them and allocates them to customers out of that pool. That allows the provider to get economies of scale by buying in bulk and pass the savings on to the customers. Customers don’t have to know or care about the exact physical location of these resources.
- Fourth, the resources are elastic. If you need more resources you can get more, rapidly. If you need less you can scale back.
- Fifth, the customers pay only for what they use or reserve as they go. If they stop using resources, they stop paying.
The Google Cloud Platform (GCP) offers four main services
- Big Data
- Machine Learning
Every company is a data company
Google believes that in the future every company regardless of size or industry will differentiate itself from its competitors through technology largely in the form of software, great software centred on data. Thus, every company will become a data company, if it isn’t already one now. Google Cloud provides a wide variety of services for managing and getting value from data and doing that at scale.
The GCP Services Components
- Compute – Compute Engine, Kubernetes Engine, App Engine, Cloud Functions.
- Storage – Bigtable, Cloud Storage, Cloud SQL, Cloud Spanner, Cloud Datastore.
- Big Data – Big Query, Pub/Sub, Data Flow, Data Proc, Data Lab.
- Machine Learning – Natural Language API, Vision API, Machine Learning, Speech API, Translate API.
The architecture of the Google Cloud Platform is designed to be secure, reliable and resilient and it supports a micro services architecture that enables software to scale rapidly, outwards or backwards. And when there are failures there are health-check mechanisms that auto detect them and enable healings and system restarts if necessary with minimal service outage. The architecture of the GCP is such that software applications can be built to use any combination of the services on the GCP.
A demonstration of the micro-services architecture of the GCP is a quiz app adaption of code from www.github.com. We adapted the code at Caseray Solutions Limited and deployed it on App Engine flexible environment (compute). The app used Cloud Storage (object store) to store images, Cloud Datastore (NoSQL data store) to store the questions and answers, and Cloud Spanner (SQL data store) to store user credentials, scores and feedback in a relational database.
The example quiz app that utilize GCP services
Shown below are screenshots from a quiz application we deployed on the GCP. The application was deployed on Google App Engine Flexible environment and utilised Cloud Storage, Cloud Datastore, and Cloud Spanner to function and deliver a good experience.
The benefits of deploying the app on the GCP are:
- When there is huge demand for the app, App Engine flexible environment automatically and rapidly scales the app up while balancing the load. App Engine scales down the service when the user demand for it falls;
- There is native support for micro services, authorization, SQL and NoSQL databases, traffic splitting, logging, versioning, security scanning, and content delivery networks.
These benefits combine to make the app reliable and resilient with high performance leading to great user experience.
Credits: The quiz app used in this blog post to demonstrate GCP services was adapted from code from github.com at https://github.com/GoogleCloudPlatform/training-data-analyst . If you want to get hands-on lab practice using GCP services then sign up to Qwiklabs at https://qwiklabs.com