Cloud Computing

Before attempting to implement Cloud technologies, you first need to understand what it is exactly and what options are available.  This course covers a wide range of Cloud-related topics and provides you with a solid foundation of knowledge.

We will start by looking at what Cloud Computing is and describing the three main types: Public, Private and Hybrid.  Then we will look at key concepts and the different service models (including IaaS, PaaS, and SaaS).  Finally, we will discuss common use case scenarios as well as the differences between a traditional on-premises data center. 

If you have any comments or feedback, feel free to reach out to us at

Learning Objectives

  • A clear definition of Cloud computing
  • An understanding of basic Cloud concepts
  • Familiarity with the main Cloud types and services
  • Common use cases for Cloud computing
  • Comparisons with on-premises data centers

Intended Audience

  • Anyone who wants to learn about Cloud Computing


  • General knowledge of computers and the internet
  • Basic understanding of data centers and servers

So, exactly what is this "Cloud" thing that you keep hearing about? When people talk about the Cloud, they're usually referring to Cloud computing. Cloud computing has been used heavily within the IT industry for many years now. More recently, it's expanded into other sectors, such as retail and finance. As it becomes more and more popular, the technology is often simply referred to as "the Cloud."

So if the Cloud means Cloud computing, then what is Cloud computing? Put simply, Cloud computing is a remote, virtual pool of on-demand, shared resources that can be rapidly deployed at scale. Now, maybe that explanation makes sense to you, maybe it doesn't. There might be a couple of terms that you're not familiar with. Don't worry. I'm going to break these down over the next couple of slides, after which, I'll give you the definition again. And the next time, it should make more sense.

Before you can understand what Cloud computing is, you need to be aware of the technology that it's based upon, that being virtualization. Virtualization has been used in on-premises data centers for a long time, and without virtualization, Cloud computing would not be possible. So then you ask, what is virtualization? Well, in essence, it allows you to create multiple virtual machines, or VMs, all of which run on a single server. Each of these VMs has its own operating system and set of applications. VMs can all run at the same time, completely independently, without being aware of each other's existence. Yet, they all still share the same underlying hardware.

This sharing of resources is a key element of understanding virtualization, and it's achieved through something called a hypervisor. A hypervisor is a piece of software used to create the virtualized environment. It sits between the physical hardware and the virtual machines, and it creates a shared pool of virtual hardware resources for each of them to access. Any request from a VM to the hardware passes through the hypervisor, thus ensuring that the hardware resources are properly shared as needed.

Now, virtual machines can be called different things. Sometimes you'll hear the term "instance," or sometimes you'll hear even "server." These terms are vendor specific, but they can both mean the same thing as a virtual machine.

There are many benefits of virtualization, but here are the main ones. Number one, easily share resources. Virtualization makes it much easier for many different people to share the same hardware. You can have someone running Windows, and someone else running Linux, both at the same time and on the same number computer. Number two, less waste. Most computers are not constantly running at 100% utilization. Right now, your computer is probably only using a small fraction of its CPU and memory to play this video. Virtualization gives you access to previously unused resources. And so, it reduces the total number of computers needed. Number three, lower operating costs. With virtualization, you have less computers sitting idle. And less hardware means less space, power, and cooling that are required. Number four, more environmentally friendly. Less hardware that needs to be manufactured and less power consumed means virtualization also helps promote green computing, as well.

So these virtual machines can be used to build and share different types of resources, including compute, storage, database, and network. Now there are other types, as well, but we'll stick to the main four for this course.

Compute resources provide on-demand processing power to complete your workloads. Whenever you have a program or a script that needs to run, compute resources can run for you. In your traditional on-premises data centers, these would be the equivalent to the physical servers that you could connect to remotely, and install, and run software on.

Storage resources allow you to save and retrieve your unstructured data. Any resource that allows you to store things like images or video in the Cloud is classified as a storage resource. In a traditional data center, you would have DAS, or directly attached storage, which includes hard and solid state drives. You might also have had things like NAS, or SAN, network attached storage, or storage area network.

Database resources allow you to store structured sets of data for use in your applications. So the equivalent here in your traditional data center would include databases such as SQL Server, Oracle, or MySQL. And network resources, which allow you to control how all the other resources will communicate with each other. Now, in a traditional data center, this would include things such as routers, switches, firewalls, and load balancers. In Cloud computing, these resources can either be directly managed by the end-user, or management can be abstracted away to create serverless offerings. Serverless does not mean that there are literally no servers or VMs. It just means that the VMs are hidden. Serverless offerings don't require any knowledge or interaction with the underlying virtual machines. Instead, you can use a serverless service, and it will silently manage the VMs for you. So, for example, in a serverless database, whenever you need more storage or processing power, it's automatically added in the background. Then, when less processing power is required, resources can be automatically removed. So you can use a serverless database without having to worry about upgrades, updates, or maintenance.

Let's go back to our definition of Cloud computing and see if it makes more sense. Cloud computing is a remote, virtual pool of on-demand, shared resources that can be rapidly deployed at scale. So, a Cloud vendor has a number of physical computers in multiple data centers, and they're divided up into virtual machines. Now, these virtual machines are used to build compute, storage, database, network, and many other types of services. With Cloud computing, you have the ability to request and use as many of these virtual resources as needed. When you need to scale things up to meet a sharp increase in demand, you can do so.

About the Author
Learning Paths

Daniel began his career as a Software Engineer, focusing mostly on web and mobile development. After twenty years of dealing with insufficient training and fragmented documentation, he decided to use his extensive experience to help the next generation of engineers.

Daniel has spent his most recent years designing and running technical classes for both Amazon and Microsoft. Today at Cloud Academy, he is working on building out an extensive Google Cloud training library.

When he isn’t working or tinkering in his home lab, Daniel enjoys BBQing, target shooting, and watching classic movies.

Covered Topics