The Cloud Provider and Cloud Consumer share the control of resources in a cloud system. As show in below Figure, different service models affect an organization’s control over the computational resources and thus what can be done in a cloud system.
The figure shows these differences using a classic software stack notation comprised of the application, middleware, and OS layers. This analysis of delineation of controls over the application stack helps understand the responsibilities of parties involved in managing the cloud application.
Figure 7 – Scope of Controls between Provider and Consumer
The application layer includes software applications targeted at end users or programs. The applications are used by SaaS consumers, or installed/managed/ maintained by PaaS consumers, IaaS consumers, and SaaS providers.
The middleware layer provides software building blocks (e.g., libraries, database, and Java virtual machine) for developing application software in the cloud. The middleware is used by PaaS consumers, installed/managed/maintained by IaaS consumers or PaaS providers, and hidden from SaaS consumers.
The OS layer includes operating system and drivers, and is hidden from SaaS consumers and PaaS consumers. An IaaS cloud allows one or multiple guest OS‟s to run virtualized on a single physical host. Generally, consumers have broad freedom to choose which OS to be hosted among all the OS‟s that could be supported by the cloud provider. The IaaS consumers should assume full responsibility for the guest OS‟s, while the IaaS provider controls the host OS.