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. For Amazon S3, AWS operates the infrastructure layer, the operating systems, and the platforms.
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
- IaaS allows you to rent hardware and have control over the operating system.
PaaS Examples
- PaaS allows you to manage applications without controlling the underlying operating system
SaaS Examples
- SaaS allows you to subscribe to software
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
Upgrade the firmware of the network infrastructure and Maintain the physical security of edge locations are the responsibility of AWS, according to the AWS shared responsibility model. Patch management along with Cloud awareness and training are two IT controls that AWS and the customer share, according to the AWS shared responsibility model. AWS is responsible for protecting the physical cloud infrastructure.
Learn More About Cloud Computing Responsibilities
- Azure Security Fundamentals Shared Responsibility (docs.microsoft.com)
- Roles And Responsibilities As A Microsoft Azure Administrator (k21academy.com)
- What Is Microsoft Azure (acronis.com)
- En.wikipedia.org Wiki Microsoft_Azure (en.wikipedia.org)
- Microsoft Azure Certification (fieldengineer.com)
- Shared Responsibilities For Cloud Computing (azure.microsoft.com)
- What Does A Cloud Engineer Do (northeastern.edu)
- Azure Resume (hiration.com)
- Cloud Engineer Job Description Key Duties And Responsibilities (jobdescriptionandresumeexamples.com)
- Saas Vs Paas Vs Iaas (bigcommerce.com)
- Cloud Computing Iaas Vs Paas Vs Saas (redhat.com)
- Saas Vs Paas Vs Iaas Whats The Difference (logicmonitor.com)
- Cloud Learn Iaas Paas Saas (ibm.com)
- Saas Vs Paas Vs Iaas Whats The Difference How To Choose (thinklogic.com)
- On Premises Vs Iaas Vs Paas Vs Saas A Comparative Study (area19delegate.org)
- Iaas And Saas Vs Onprem (spiceworks.com)
Protecting against IP spoofing and packet sniffing and Installing the latest security patches on the RDS instance fall under the responsibility of AWS when a web application is hosted on AWS using an Elastic Load Balancer, multiple Amazon EC2 instances, and Amazon RDS.