If you’ve invested in Google’s G Suite SaaS products (please see this article for more information A guide to Cloud Productivity Suites), or are new to Google, you may be wondering what other cloud products Google offer.
This article offers a good overview of Google Cloud Platform or GCP, and its core technologies.
What is the Google Cloud Platform? Essentially GCP is a collection of tools and services that allow you to store your data, analyse your data, create apps, and run server software on Google’s servers, instead of your own.
The concept of you not having to look after your own on-premises server platform, and use Google’s servers is often called Serverless.
Serverless is the same as Platform as a Service, or PaaS, your Cloud partner takes care of keeping your business critical data and services up and running.
Data can be uploaded loaded to Google as a batch process (data ingestion), or the data can be ingested live with on-the-go, streaming.
Once your data is stored within Google’s cloud, it’s secure, and can be used in databases, apps, and connected applications.
The concept of ‘doing things’ or computing also has to be considered. Using virtual machines and containers (we’ll discuss containers later in this article). Google offers a few clicks solution to spin up a Windows or Linux server in a virtual machine, which can host your applications and data.
Of course parts of the process need to be connected, this is referred to as a Data Pipeline. Connecting the data dots also gives us the opportunity to think about how we can introduce, for example, machine learning, or A.I, into the flow.
A.I is made up of machine learning components that build to make an A.I experience. It maybe that machine learning isn’t part of your current I.T structure, but Google offers a suite of machine learning tools that you can use.
The final phase is the pretension of your data to both your internal business, and if you wish, to an external audience via a desktop, mobile, or web interface.
So to summarise, consider the following;
- Data – how to store it, batch or streaming, or both
- Processing – How to process and analyse the data
- Flow – how the data is moved from one product to another
- Presentation – how is the data presented to the end user
So lets begin by looking how you can save money (a lot of money), enhance productivity in your organisation, and achieve new ways of working with your data.
Savings and benefits
If we compare an on-premise server compared to an equally specified cloud server, the on-premises cost is about £1100 per month, and a cloud server cost is about £250 per month. These Total Cost of Ownership (TCO) figures take into account maintenance, staffing, and downtime.
Moving to a cloud based solution for an organisation, as well as savings, also offers a wide range of benefits;
- Instant scaleability
- Remote access to data on multiple devices
- Monthly Uptime Percentage of at least 99.95% (the “Service Level Objective ”)
- Enhanced possibilities of custom application development
- Machine Learning
- Secure storage of data
- In-depth reporting
These of course, are only a few benefits of moving your data and your organisation to the cloud, however let’s have a look at the products GCP has to offer.
An overview of the GCP products
There are an amazing and complex array of products for the Google Cloud Platform, at last count there were 72, and I’m sure this number will continue to grow. When looking at GCP, it’s important to identify which product, or which products are right for you.
Out of the 70 plus products we could refine the list into this;
|App development & management||App Engine||Web applications|
|Compute Engine (VM)||Scaleable virtual machines|
|Kubernetes Engine (was Container Engine)||Containerised applications|
|Storage and Database||BigQuery (MySQL and PostgreSQL, relational)||Data warehouse|
|Spanner (MySQL relational)||Relational Database|
|BigTable (NoSQL, non-relational)||NoSQL Big Data database|
|DataStore (NoSQL, non-relational)||NoSQL Database|
|Data Pipelines||Pub/Sub (balancing workloads)||Ingest event streams|
|DataProc (Hadoop service with MapReduce)||Apache Spark andApache Hadoop|
|Dataflow (both static & streaming data)||Stream and batch data processing|
|Machine Learning||Cloud Vision API||A.I image recognition|
|Cloud Speech API||A.I speech recognition|
|Cloud Translation API||A.I translations|
|Cloud Video Intelligence API||A.I video analysis|
|TensorFlow||Machine learning framework|
|Identity & Security||IAM||Unified view into security policy|
|Internet of Things||IoT Core||Secure device connection and management|
|Logging||Cloud Console||Cloud Platform management console|
Quite a complex array of products, and this is only a few of them!
When putting this chart together, it occurred to me how many products seem to be very similar, especially the database products.
This article isn’t long enough to cover all of the intricacies of each product, but simply it boils down to scale, speed and cost.
Let’s take this VM out for a spin
App development & management
GCP’s impressively quick VM’s can be configured exactly as you like; how many processor cores, how much RAM, size and type of the disk, and the OS, be it, for example, Windows Server 2016 Datacentre Edition, Ubuntu Trusty, or Red Hat.
The impressive part of the configuration process is Google will dynamically tell you how much your server will cost to run.
When getting used to GCP, a good place to start is Google Cloud Launcher. To quote Google;
“Google Cloud Launcher offers ready-to-go development stacks, solutions, and services to accelerate development. So you spend less time installing and more time developing.”
Cloud Launcher has preconfigured servers and applications. Servers include; Windows Server 2016 Datacentre Edition, Windows Server 2012 R2, Windows Server 2008 R2, Ubuntu Trusty, Red Hat, Core OS, Debian, all preconfigured and ready to go.
Preconfigured applications include WordPress, Redis, Drupal, Redmine, Appspace, and dozens more. There are also datasets included to test out your SQL skills.
About Data, and lots of it
Storage and Database
There is inevitably some cross over between products, and at this point in the article, I’d like to define some terms used;
- Container and Container cluster, Google call continuer product Kubernetes Engine
When creating a VM, it is often tempting to have multiple VM’s, each running their application or service on their own VM. However this can slow down your VM’s if you’re running multiple instances, it also can get quite expensive. The solution is compartmentalisation, putting each app in its own little box, or container, that can run on top of the VM. You can have multiple containers running on a single VM, or to define that as a Container Cluster.
- Data Buckets
Just as a bucket you take on holiday and fill with sand, these buckets are used to contain data. Once you fill your buckets up with data, either batch uploaded e.g CSV file (tip: practice with the datasets provided in Launcher), or streamed data, you can introduce them into your cloud workflow.
- NoSQL and SQL
A crude definition between these two terms is a non-relational database and a relational database.
So, having gone through of these definitions, which database is right for you? This is my recommendation, ask yourself the question, how much of your data is uploaded in a batch format, and how much is streamed?
Streaming data is best handled by Dataflow, however a more traditional data set is best in the tried and trusted hands of BigQuery. However, Google offer many ways of working with your data (see the product table), and you can combine both.
The many options and products available to you when designing your GCP solution have to connected, this is our Data Pipeline.
Cloud Pub/Sub from Google is in essence the glue that holds our Data Pipeline together.
The diagram below offers a typical example of a Google Data Pipeline.
Ghost in the machine, how did it know what I was thinking?
Machine Learning, Wide & Deep Learning, cognitive computing
Wow! Where to begin. Machine Learning is an amazing set of tools thats can really benefit any organisation. Google offer a suite of ML tools that can identify speech, written text, audio, pictures, and much more.
There has been a lot of dissuasion in the media about the good and bad parts, in the future of ML and AI. Let’s begin with a bad one;
“The development of full artificial intelligence could spell the end of the human race….It would take off on its own, and re-design itself at an ever increasing rate. Humans, who are limited by slow biological evolution, couldn’t compete, and would be superseded.”
To balance this argument, let’s hear from Larry Page;
“Artificial intelligence would be the ultimate version of Google. The ultimate search engine that would understand everything on the web. It would understand exactly what you wanted, and it would give you the right thing. We’re nowhere near doing that now. However, we can get incrementally closer to that, and that is basically what we work on.”
The arguments presented for and against AI, are interesting and purely subjective. My feeling is that AI is here to stay, and instead of getting scarred by it, we should embrace it.
Google, I think I can say without contradiction, is a world leader in Machine Learning and Artificial Intelligence. AI is deeply ingrained in GCP, so it is very valuable to consider how this new opportunity can be embraced.
Do you GCP, take G Suite’s hand in marriage?
A look at integrating GCP and G Suite, using API’s
If you have invested in Google’s G Suite (check out our article on Cloud Productivity), and are looking how to connect your G Suite with GCP, I have good news. Google have provided a load of API’s to help you with the process.
These API’s cover all of the features in G Suite, and let GCP interact directly with G Suite;
- Apps Activity API
- Calendar API
- Contacts API
- Drive API
- Gmail API
- Picker API
- Sheets API
- Sites API (classic Sites only at the moment)
This has been whirlwind tour of GCP. We’ve only scratched the surface, but hopefully it gave you a good overview of GCP, and the benefits it can bring to your organisation.
Please get in touch with us at telephone: 0203 397 3123, or email: firstname.lastname@example.org for more information.