(Practical Deep Learning Series) 1.2: Google Compute Engine

Kimoon Kim
3 min readOct 3, 2019

--

PaaS — Platform as a Service
IaaS — Infrastructure as a Service
SaaS — Software as a Service

You’ll come across these IT terms countlessly in the cloud computing world and for those who are new to the cloud world, they can easily get lost. So, let’s first learn about these terms and what they mean and we can refer to them as seen in figure 4.

Figure 4: Google Services Layer

Infrastructure as a Service (IaaS) refers to the data centre virtualization (wave 2.5) that we learnt in Chapter 1.1. It is where you setup and manage the infrastructure, networking and storage layer of the cloud e.g. you spin up a virtual machine (VM) and install a specific Operating System (OS) and configure the network with specific IP ranges.

Platform as a Service (PaaS) is a model where a platform is provided to you so that you can develop, run, and manage your application without managing the infrastructure, networking and storage layer e.g. you code and deploy your application to a platform and the cloud will take care of your infrastructure layer.

Software as a Service (SaaS) is a model where you consume a service from the cloud provider without setting up and infrastructure or code e.g. Google Gmail, whereby you use the services provided to you.

Now, looking at the models above, it would be logical to assume that Google would have first offered an IaaS model, but believe it or not, Google’s first cloud product was Google App Engine! Google App Engine is a PaaS offering from Google, released in the early 2008, that allowed developers to easily develop and host web applications and mobile back-end that scaled. It was developers dream come true as the platform was no-ops and it was somewhat easy to use (you didn’t have to manage infrastructure). You simply just download the App Engine’s software development kit (SDK) to develop and test on your local machine and once you happy, deploy to the cloud. However, Google App Engine was not what business wanted. They wanted to replicate their machines on-premises to the cloud (lift-and-shift as-is) to save costs and remove capital expenses. So, Google needed to meet customers where they are and not where they wanted them to be.

Google Compute Engine was released for preview in mid 2012. Compute Engine is Google’s “earth-scale” computer that you have access to. You can now launch a VM with your own flavour of OS within seconds e.g., launch a 96 vCPU, 624 GB memory and 2 TB of SSD Ubuntu server.

But what does this have to do at all with deep learning? Well, you will learn that deep learning model becomes easier and more efficient with better computational power e.g., training of a simple deep learning algorithm can take long as a couple of weeks with your laptop but on Google, you can do it within a couple of hours because you have a scalable computing infrastructure like Compute Engine. You are also able to attach graphical processing units (GPUs) and (TPUs) to help you train your algorithm faster and we will see how to do this in the later chapters.

--

--