Cloud Computing Responsibilities

Cloud Computing Responsibilities

Each layer of the cloud has different responsibilities. In the last post, we discussed Infrastructure as a Service, Platform as a Service, and Software as a Services. Depending on which flavor of cloud computing you are dealing with, there are different people that may be responsible for things like Applications, Data, Runtime, Middleware, Operating System, Virtualization, Servers, Storage, and Networking. In some cases, the customer is responsible for a portion of these requirements. In others, the Cloud Service Provider would be the one to handle certain responsibilities. To add to this, you may also have some On-Premise applications that need support as well.


Types of Cloud Computing Responsibilities

Legend: Customer is responsible Cloud Provider is Responsible
On Premise IaaS PaaS SaaS
Applications Applications Applications Applications
Data Data Data Data
Runtime Runtime Runtime Runtime
Middleware Middleware Middleware Middleware
OS OS OS OS
Virtualization Virtualization Virtualization Virtualization
Servers Servers Servers Servers
Storage Storage Storage Storage
Networking Networking Networking Networking

The table above gives an excellent overview of what you can expect in terms of responsibilities when working with either On-Premise, Infrastructure as a Service, Platform as a Service, or Software as a Serice types of cloud computing. We can see that no matter which paradigm the business makes use of, someone needs to take care of the Applications, Data, Runtime, Middleware, Operating System, Virtualization, Servers, Storage, and Networking. In some cases, certain responsibilities are the customers and in others, they are the Cloud Service Providers.

  • On-Premise (Private Cloud) Customer is responsible for Applications, Data, Runtime, Middleware, Operating System, Virtualization, Servers, Storage, and Networking
  • IaaS Customer is responsible for Applications, Data, Runtime, Middleware, and Operating System
  • PaaS Customer is responsible for Applications and Data
  • SaaS Custome is not responsible for anyting except using the service.

IaaS Examples

azure vm amazon ec2 google compute engine


PaaS Examples

azure sql api management app service


SaaS Examples

office 365 service now salesforce


Applications

An application program is a computer program designed to complete a specific task other than one relating to the operation of the computer itself and is often used by end-users. Applications include Word processors, web browsers, media players, terminal applications, photo editors, call control applications, and more. Computer applications refer to all applications collectively or classifications of software such as system software, relating to the operation of the computer, and utility software.


Data

Computer data is data that is processed or stored by a computer. This data can be in the form of, HTML files, text documents, images, audio clips, software programs, or other types of data. Computer data is often processed by the computer’s central processing unit and is stored in files and folders on the computer’s hard disk.


Runtime

The term computer Runtime is when a program is executing or running. It means the program is in action. For example, when you start a program running on a computer, it has become runtime for that program. Runtime begins when a program is opened and ends when the program is quit or closed.


Middleware

Middleware is software that exists between an operating system and the applications that run on top of that OS. Middleware software is used as a translation layer that enables communication and data management for distributed applications.


OS

An operating system is a primary software that manages the resources of a given computer. You are likely most familiar with popular operating systems like Microsoft Windows or the different flavors of the Linux operating system. The operating system manages resources like the central processing unit (CPU), computer memory, file storage, input/output devices, and network connections.


Virtualization

Virtualization is an important concept in cloud computing because it enables IT organizations to run more than one virtual system and multiple operating systems and applications on a single server. It is an amazing technology where software is able to simulate hardware functionality and create a virtual computer system.


Servers

A Server is a computer concept of computer hardware and software providing a service for users over a network connection. Common server types include filer servers, database servers, application servers, and game servers.


Storage

Modern applications, users, and internet-connected devices produce a tremendous amount of data that needs to be processed and stored when applicable. This is where the storage layer comes into play. Depending on if the storage is in the local environment or in the cloud, you might make use of Blobs, Files, Queues, Tables, or Disks to handle data storage.


Networking

Networking is a critical service both locally and in the cloud. In order for systems to operate together and share resources, you need a dependable network to make communication fast, secure, and reliable.

Cloud Computing Shared Responsibility Model Diagram

cloud computing shared responsibility model

Learn More About Cloud Computing Responsibilities