Types of Cloud Computing

Types of Cloud Computing



When it comes to cloud computing it’s easy to get stuck with the terminology, and understanding what the actual underlying technology is. Cloud is being used to describe a lot of different services, so it’s important to understand how each can help your business and the risks/rewards associated with using each type of cloud computing service.

With each type of cloud service you look at you should understand each of the following questions:

What are my responsibilities, and what are the providers responsibility? Who is responsible for my data? Where is my data stored?

This is probably the most important questions you should be asking yourself and your cloud provider when researching options. It’s quite important to understand this as it could result in significant downtime or loss of data. For example in IaaS (Infrastructure as a Service) the responsibility of the actual data stored on the virtual servers provided to you are your own responsibility, and if you are hacked you are responsible for restoring your backups. However on a SaaS (Software as a Service) the responsibility is usually with the cloud provider for your data, and ensuring your data is safe from hackers.

Where your data is stored is also an important one, is the jurisdiction of where your data suitable for your business? Is the location a safe location? In a trusted data center?

Here is a diagram of where the responsibility typically lies with the types of cloud computing:

Types of Cloud Computing

The main things that are effected by each of these types of cloud computing is:

  • Flexibility
  • Control
  • Management simplicity
  • Vendor lock in

On-Premise:
This option is great where you want to ensure you have full control over your data & complete flexibility to configure your cloud exactly how you want it to work. You control all the hardware, network, environment, etc to do with your cloud setup. This ensures you don’t rely on 3rd parties with your data, if this is something you would prefer not to do. On Premise could be the most expensive options, as you don’t get to take advantage of economies of scale that a cloud provider can take advantage of. You may need to buy a bunch of extra capacity you won’t be using, and you will need the expertise in house to manage the cloud.

Flexibility: High
Control: High
Management Simplicity: Low
Vendor Lock In: Low

IaaS:
Infrastructure as a Service is renting the infrastructure to run your own application and OS. It gives reasonable control and flexibility over your infrastructure for reduced complexity and management costs. While there is not direct control over the underlying hardware, network, or virtualization you still have the ability to install and manage your own OS and applications running on the infrastructure.

Flexibility: Medium
Control: Medium
Management Simplicity: Medium
Vendor Lock In: Medium

PaaS:
Platform as a Service allows you to host your own custom application where the provider handles everything for you except your application and your data, they provide the infrastructure, OS, and services required to run your application. PaaS is great if you have an application developed for the specific PaaS platform, and means you don’t have to worry about hardware, network, or managing the OS, and underlying software to run your application. You can focus on the development of your application and easily scale as you require additional resources.

Flexibility: Low
Control: Low
Management Simplicity: High
Vendor Lock In: High

SaaS:
Software as a Service is where the entire application is provided to you in a hosted format, you don’t need to worry about running anything below the application such as the infrastructure, OS, services, etc. This is the easiest to manage in terms of management, however the least flexible.

Flexibility: Very Low
Control: Very Low
Management Simplicity: Very High
Vendor Lock In: Extremely High

No one type of cloud computing is the right answer, it really comes down the problem you are trying to solve. If you have multiple applications you are running, you may find that they spread across a number of different types. Make your own assessment for each application you have find the best solution for each one.