Cloud computing is a service that assigns virtualized resources picked from a large-scale resource pool, which consists of distributed computing resources in a Cloud Computing infra, to each consumer. Cloud computing is a fused-type computing paradigm which includes Virtualization, Grid Computing, Utility Computing, Server Based Computing (SBC), and Network Computing, rather than an entirely new type of computing technique (Alabi O. A, 2017).
TABLE 1. USER RISK LEVEL
Virtualization The creation of a virtual version of something, such as an operating system, a server, a storage device or network resources.
Grid Computing The virtualized combination of computing power from multiple domain getting high capacity of computing resource (distributed computing architecture)
Utility Computing Consumers pay for computing resources as much as they use without buying them
Server Based Computing (SBC) Any applications and data exist in server. Clients access the server and utilize them using server’s computing power.
Network Computing It is similar to SBC, but clients load applications and data from server and utilizes them using local computing power.
Table 1 shows the description of each computing technique. Cloud Computing provider can assign large-scale resources to each consumer using these techniques (Lee, Park, Eom, ; Chung).
Cloud Computing uses hypervisor in order to provide virtual OS for users by using unified resource. Hypervisor is a software which enables several OSs to be executed in a host computer at the same time. Hypervisor also can map the virtualized, logical resource onto physical resource. Hypervisor is sometimes called Virtual Machine Monitor (VMM), and several OSs which are operated in a host computer is called guest OSs (Lee, Park, Eom, ; Chung).
2.1.1 CLOUD ARCHITECTURE
The cloud computing reference architecture identifies the major actors, their activities and functions in cloud computing and it is intended to facilitate the understanding of the requirements, uses, characteristics and standards of cloud computing. The cloud computing reference architecture defines five major actors: cloud consumer, cloud provider, cloud carrier, cloud auditor and cloud broker.
• Cloud Consumer: The cloud consumer is the principal stakeholder in the cloud computing service. A cloud consumer represents a person or organization that maintains a business relationship with and uses the service from a cloud provider. A cloud consumer browses the service catalog from a cloud provider, requests the appropriate service, sets up service contracts with the cloud provider and uses the service. The cloud consumer may be billed for the service provisioned and needs to arrange payments accordingly.
• Cloud Provider: A cloud provider is a person, an organization; it is the entity responsible for making a service available to interested parties. A Cloud Provider acquires and manages the computing infrastructure required for providing the services, runs the cloud software that provides the services, and makes arrangement to deliver the cloud services to the Cloud Consumers through network access.
For SaaS, the cloud provider deploys, configures, maintains and updates the operation of the software applications on a cloud infrastructure.
For PaaS, the Cloud Provider manages the computing infrastructure for the platform and runs the cloud software that provides the components of the platform, such as runtime software execution stack, databases, and other middleware components.
For IaaS, the Cloud Provider acquires the physical computing resources underlying the service, including the servers, networks, storage and hosting infrastructure.
• Cloud Auditor: a cloud auditor is a party that can perform an independent examination of cloud service controls with the intent to express an opinion thereon. Audits are performed to verify conformance to standards through review of objective evidence. A cloud auditor can evaluate the services provided by a cloud provider in terms of security controls, privacy impact, performance, etc. For security auditing, a cloud auditor can make an assessment of the security controls in the information system to determine the extent to which the controls are implemented correctly, operating as intended, and producing the desired outcome with respect to the security requirements for the system.
• Cloud Broker: As cloud computing evolves, the integration of cloud services can be too complex for cloud consumers to manage. A cloud consumer may request cloud services from a cloud broker, instead of contacting a cloud provider directly. A cloud broker is an entity that manages the use, performance and delivery of cloud services and negotiates relationships between cloud providers and cloud consumers.
In general, a cloud broker can provide services in three categories: Service Intermediation, Service Aggregation, Service Arbitrage.
• Cloud Carrier: A cloud carrier acts as an intermediary that provides connectivity and transport of cloud services between cloud consumers and cloud providers. Cloud carriers provide access to consumers through network, telecommunication and other access devices. A cloud provider will set up Service-Level Agreements (SLA) with a cloud carrier to provide services consistent with the level of SLAs offered to cloud consumers, and may require the cloud carrier to provide dedicated and secure connections between cloud consumers and cloud providers (Srinivas ; K., 2017).
2.1.2 CHARACTERISTICS OF CLOUD COMPUTING
1. ELASTICITY: It is a core feature of cloud systems which confines the underlying infrastructure capability to adapt to changing requirements such as the amount and size of data used in an application.
2. RELIABILITY: It is the capability of ensuring the continuity of the system operation without disruption such as loss of data or code reset during execution.
3. QUALITY OF SERVICE: This feature is important for specific requirements which should be met through the provided services or resources.
4. AGILITY AND ADAPTABILITY: These are the two key features of great concern to cloud systems relevant to the elastic capabilities. Agility and adaptability require management of the resources to be automated.
5. AVAILABILITY: This is the ability of providing redundant services and data to mask failures transparently. With the increase of access, availability is attained through replication of services or data and disseminating them across various resources (Srinivas ; K., 2017).