Cloud Models – CompTIA A+ 220-1201 – 4.2

There are many different models for deploying a cloud infrastructure. In this video, you’ll learn about public vs. private cloud deployments, infrastructure as a service (IaaS), software as a service (SaaS), and platform as a service (PaaS).


You’ll often hear cloud computing described as a server that’s simply hosted somewhere else. But in reality, cloud computing provides extensive functionality, and we’ll talk about some of those advantages in this video today. It certainly allows us to take the applications and services that normally we would host in our own data center and host those services anywhere we’d like in the world.

One interesting characteristic of cloud computing is that these services are located at many public cloud service providers, which means we have effectively as much CPU, drive space, and network as we could possibly want to use. Another powerful characteristic of cloud computing is that you can deploy an entire application instance anywhere you’d like at any time by simply pressing a button. This is very different than the old days of physical data centers where you had to purchase a server, wait for that purchase to arrive, unbox the server, put it into a rack, turn it on, install the operating system and the application, and finally connect it to a network just to be able to use that app.

With cloud computing, all of this is done in a matter of moments, and you can deploy as much or as little of this as you need. And of course, as the demand for that app tends to decrease over time, you can remove those resources from the cloud at any moment.

Many of these public clouds are located in key geographical areas around the world. That means that you can deploy your app to where it makes the most sense. If more people would use this app in Europe, then you may want to use a Europe-based cloud service provider. If more of your customers are in the United States, you may want to have some US-based cloud services there.

The cloud is also about efficiency. If you only have a particular application that you need during particular times of the year, you can simply spin up those application instances, use that application, and when you’re done, you can turn off those particular instances. This means that you now have more financial control over how this application is deployed, and you don’t have to put up a lot of money up front just to buy all of this infrastructure. Instead, you simply pay over time by using the cloud.

When most people think about the cloud, they probably think about a public cloud. These would be the cloud infrastructures provided by Microsoft, Amazon, Rackspace, and many other cloud providers. We call these public clouds because you’re able to access these clouds publicly from anywhere you happen to be on the internet.

A private cloud is a cloud infrastructure that you’re running in your own private data center. You would need to purchase all of the equipment and storage required to build that cloud, but once that’s in place in your own infrastructure, you can deploy new applications, use the capabilities of these cloud-based infrastructures, but keep all of that information within your control in your private data center.

Many organizations use a combination of both of these. They might have a private cloud that they’re running their own internal and private apps on, and they might also have a public cloud that they use for deployment and access by other folks on the internet. Both of these are very common implementations. And in many organizations, you will see both of these used simultaneously.

The idea of purchasing your own cloud and deploying it in your own data center requires a bit of a cash outlay, so some organizations will partner with other organizations that provide a similar set of services and build their own cloud that they can share amongst all of them. This means that these smaller organizations can still take advantage of the technologies that cloud provides, but it doesn’t require that enormous cash outlay to begin with.

Not every cloud implementation is designed in exactly the same way. There are a number of different implementation models that you might find. One of these is Infrastructure as a Service, or IaaS. You might also see this referred to as Hardware as a Service, or HaaS.

You can think of this as renting time on a piece of hardware that’s somewhere in a cloud infrastructure. This means that the cloud provider can provide you with a CPU and storage space, but you would still be responsible for installing operating systems, maintaining the operating system and keeping it up to date, and maintaining the security of the application.

The cloud provider certainly has access to the hardware that you’re using, but all of that data that you’re storing would be within your control and your control only. This gives you some additional security over other types of cloud deployment models, but it also requires a lot more work to be able to manage and maintain this system.

One common use of an infrastructure as a service deployment would be with something like a web service provider. For example, if you’re on professormesser.com right now, you’re using a cloud-based server that was deployed in an infrastructure as a service model. I simply rent time on those systems, but I’m responsible for maintaining the operating system, the applications, and the data.

Infrastructure as a service has a significant management overhead associated with it. On the other side of the spectrum would be Software as a Service, or SaaS. Software as a service is on-demand software. You simply use your username and password. You log in to a system, usually with a web-based front end, and you’re able to take advantage of that particular application.

You don’t have to do any type of management of the application. There’s no operating system updates. You don’t have to manage any software applications or code, and you don’t even have to worry about where the data happens to be. All of these requirements are managed by the cloud service provider through the software as a service deployment model.

This also means you don’t need a big development team to be able to write any applications, because the application has already been written for you with software as a service. You would simply log in and use that application. And if there’s any updates that need to be made to that application, they are made by the application provider themselves.

A good example of a software as a service would be things like Google Mail or Microsoft 365 where you don’t have to build the Google Mail infrastructure. You simply use your username and password, and you’re able to send and receive emails.

A deployment model that’s in the middle ground between infrastructure as a service and software as a service is one we refer to as Platform as a Service, or PaaS. Platform as a service doesn’t require you to maintain any operating systems, and you don’t have to have your own data center, but you do have to work on building the application that will run on this particular platform.

This is an interesting hybrid between the software as a service model and the infrastructure as a service model, because you still have to write the application. But the platform that you’re using to write and to run the software is all operating on the platform used by the platform as a service provider.

You can think of piecing together different modules of an application in the same way that you might piece together different types of building blocks. You determine how these building blocks are arranged, and ultimately what these building blocks will provide for you. But it’s your responsibility to put all of these blocks together in a way that makes sense for you. And only you will have access to this application because you built it as part of this platform as a service infrastructure.

There are many different platform as a service providers that you could choose from on the internet. One of the more popular past providers is from salesforce.com. Many people know Salesforce as a software as a service provider where you simply log in and use their platform, but they also have an extensive development platform that you’re able to build your own application to work exactly the way you’d like. And that particular arm of salesforce.com operates as platform as a service.

Many public cloud providers will provide you with a responsibility matrix so that you know exactly what parts of this service are managed by the cloud provider and what parts of the service are the responsibility of you, the customer. For example, if you’re building out your own cloud services or doing everything on your own premises, effectively everything is your responsibility. You would need to be responsible for the data, the infrastructure, the applications that you’re building, the network connectivity, the operating systems themselves, and the physical platform itself.

Software as a service is one where the provider is managing a very large amount of that infrastructure, all the way from the physical data center up through the application itself. You as the customer may want to provide some additional identity and directory infrastructure for authentication. You might want to have your own accounts configured within the software as a service platform. And you’ll need to provide the computers, the tablets, or the phones that will be used to connect to this SaaS provider.

With platform as a service, you as the customer will be responsible for writing your own applications. The PaaS provider will provide you with the platform, and you, the customer, will begin writing the applications that will run on this platform.

And with infrastructure as a service, the provider commonly provides the data center, the network connectivity, and the hardware for the CPU and the storage. You as the customer might have the option for installing your own operating system, and as the customer, you will be responsible for everything else that is being used on that cloud deployment option.