• No results found

Chapter 2: Literature Review

2.4 Cloud Computing

Cloud Computing refers to a model of enabling on-demand and convenient access to a shared pool of computing resources, such as networks, applications, servers, services and storage (Jula et al., 2014). This definition highlights the ability of computing resources to be provisioned and released with minimal interaction between the user and the cloud service provider. Senyo et al. (2018) reiterates this by drawing attention to the ability of the cloud to enable a simple way of provisioning information technology as a service to users, rather than as a product through the Internet. Some popular cloud service providers include Google, Amazon, Microsoft, and Yahoo. Cloud users are abstracted from computing resources and do not actually know where data or applications are stored in the cloud (Namasudra et al., 2017). Recently, many organisations have been migrating to the cloud to enjoy the benefits offered by the technology, such as: affordable access, high performance resources, low maintenance costs and enhanced security (Zhang et al., 2017).

2.4.1 Cloud Computing Delivery Models

There are three main delivery models in cloud computing – software-as-a-service, platform-as- a-service and infrastructure-as-a-service. Other categories of delivery models may exist as a cross between any or all the three main delivery models. Software-as-a-service (SaaS) involves provisioning of applications on the cloud by a service provider, to be used by several customers in a multi-tenacity setup (Mell & Grance 2011). SaaS offers software to cloud consumers on- demand. Common examples of SaaS solutions include web-based emails such as Gmail and Yahoo Mail, Google Apps, Dropbox, and Salesforce CRM (Namasudra et al., 2017). In most cases, SaaS services are accessed via simple client interface such as web browsers. The application provider is responsible for managing technology resources and the solution’s performance. SaaS services are billed based on a pattern which can be hourly, weekly, monthly or yearly.

Platform as a Service (PaaS) is another cloud computing delivery model that allows clients to access various capabilities, such as programming languages, services, tools and libraries; provisioned and managed by providers (Mell & Grance 2011). As a result, the user transfers the responsibility of controlling cloud operational platforms and infrastructure, such as

59 network, operating systems, memory and servers to a cloud vendor. The PaaS delivery model reduces the cost and complexity of purchasing and supporting both software, hardware and hosting resources (Diaby & Rad, 2017). However, the role of deploying and supporting the application remains with the client. Some popular examples of PaaS include Azure and Aneka. Infrastructure as a Service (IaaS) involves utilisation of computing resources such as: processing, networks and memory from a vendor (Rittinghouse & Ransome, 2017). Users can deploy their platforms such as operating systems and different applications without worrying about the necessary cloud infrastructure. In effect, the control for processing, networking, and storage is transferred to the vendor. Some examples of IaaS solutions are GoGrid and Amazon EC2.

2.4.2 Cloud Computing Deployment Models

There are four main deployment models in cloud computing – private cloud, community cloud, public cloud, and hybrid cloud (Mell & Grance, 2011). The private cloud model involves provisioning cloud resources for use by a single entity with several units or consumers (Mell & Grance, 2011). A private cloud can be owned and controlled by the enterprise or outsourced to a third-party service provider. It can either be on premise or externally hosted (Diaby & Rad, 2017). Some of the benefits of this cloud deployment model include enhanced security, dedicated resources and improved customisation (Diaby & Rad 2017). For community clouds, they are provisioned for utilisation by a group of consumers referred to as a community (Liu et al. 2011). In most cases, enterprises forming a community have a shared factor, such as security requirements and compliance considerations (Mell & Grance, 2011). A community cloud can be managed by either one of the organisations in the group or outsourced to a service provider. On the other hand, public clouds are provisioned for public use (Liu et al. 2011). An example is a cloud service provided by academic institutions or government organisations. Liu et al. (2011) noted that a public cloud is also owned by a vendor selling cloud services to several diverse users. Benefits of this deployment model include flexible environment, freedom of self- service, pay-per-use, increased availability and reliability (Diaby & Rad, 2017). For hybrid clouds, two or more cloud deployment models can be combined using standardised or proprietary strategies to create it (Liu et al., 2011). The advantages of a hybrid cloud include optimal use, data centre consolidation, enhanced availability, and risk transfer (Diaby & Rad 2017).

60

2.4.3 Cloud Computing Essential Characteristics

There are five main characteristics that help in the understanding of what cloud computing is, what it does and how best to maximise potential benefits of the cloud as defined by NIST (National Institute of Standards and Technology) (Mell & Grance, 2011). Firstly, with On- Demand Service, cloud services such as storage, hardware and operating systems can be provisioned automatically by cloud consumers when needed, providing opportunity for the reservation and release of IT resources in an independent manner to meet their needs. This involves what is referred to as ‘provisioning’ and ‘decommissioning’ (Liu et al., 2011). The provisioning for these functionalities can be through graphical user interfaces (GUIs) or command line interfaces (CLIs). They can also be through application programming interfaces (APIs) meant for use in automation. This feature allows a resource changing procedure that involves updating configuration parameters as well as adding new nodes to the cloud environment.

Broad Network Access is another of the five essential characteristics. With cloud computing, services are provisioned by vendors located in diverse geographic locations and accessed through global reach capability (Diaby & Rad, 2017). The broad network access feature ensures that cloud computing services are available via the Internet and accessible through diverse devices such as tablets, workstation computers, laptops, and smartphones. The next one is Resource Pooling in which the cloud service users are abstracted from mechanisms that facilitate resources provisioning, creating the impression that resources are from a single blended resource. This capability enables providers offer a set of real and virtual resources dynamically (Diaby & Rad, 2017). A cloud service provider can pool computing resources to serve several users on a multi-tenant model, with diverse computing resources, both physical and virtual that are dynamically assigned on-demand.

Furthermore, there is Rapid Elasticity which refers to the ability of cloud computing technology to scale resources up or down based on demand from users (Rittinghouse & Ransome, 2017). It is a crucial characteristic of cloud computing since it implies that organisations can rapidly provision or de-provision resources without user interaction. As cloud users have different workload requirements, there is a “levelling” so that unused resources by some users are readily deployed to users with higher demands at that moment. In addition to being able to distribute workload among independent resources, the elasticity has the capability to free up resources flexibly when they become under-utilised (Liu et al., 2018). Lastly, there is Measured Service,

61 which refers to the ability to automatically monitor, optimise and provide reports for the utilisation or consumption of different cloud resources over a period. It allows for cloud computing service usage metering, to enable cloud consumers pay only for what they use (Saxena & Pushkar, 2016). This charge per use strategy helps optimise resources utilisation. Saxena & Pushkar (2016) further stated some cloud computing features such as Mobile Accessibility and Shared Infrastructure as essential for information systems today. Mobile Accessibility referring to the ability of users to access cloud resources while mobile and without any degradation in the service or its accessibility. Shared Infrastructure on the other hand, referring to the ability of cloud providers to deploy a virtualised software model to enable sharing of physical computing resources, and dynamic provisioning that involves automatic allocation of resources based on demand.

2.4.4 Cloud Computing Benefits

Cloud Computing offers a wide range of benefits, which includes the ability to rapidly provision computing resources; both hardware and software as well as the potential to dynamically scale resources based on user demands; a feature which goes a long way in optimising cloud computing resources, delivers proven results and saves cost (Namasudra et al., 2017). Cloud providers are responsible for supporting and maintaining IT resources, effectively relieving users of the burden of purchasing expensive computing components such as servers, operating systems, networking tools and so on (Mell & Grance, 2011). Another benefit of cloud computing is elasticity (Jula et al., 2014). Users can request for computing resources depending on their requirements, anytime, anywhere, if there is network connectivity.

Business continuity is also achieved using cloud technology (Namasudra et al., 2017). An enterprise can deploy cloud backup solutions for storing systems and crucial information. In case of natural disasters, the information will not be affected. Moreover, cloud providers invest in security controls which ensures that the business is not adversely affected by cybercriminal activities. Cloud computing offers flexible work practices and speed (Rittinghouse & Ransome, 2017). Users can access systems and data from any location via a network connection. This feature enhances productivity and mobility, since employees can work at home or while travelling.

62

2.4.5 Cloud Computing Issues

Security and privacy are some of the crucial challenges faced while using cloud computing services (Veloudis & Paraskakis, 2016). Since systems and data are hosted in remote servers, there is the risk of exposure to hackers and other unauthorised users attempting to gain access to the cloud resources for various reasons such as financial gain and other malicious purposes. Another issue for cloud computing service users is downtime (Namasudra et al., 2017). In case the service is down, or the network has issues, users cannot access applications or data from cloud locations. Moreover, cloud clients have limited control over their information and systems since they are stored or running on remote servers owned by vendors. Finally, data and application interoperability remain a crucial issue in the cloud (Saxena & Pushkar, 2016). It is vital that cloud data and systems use standard interfaces to allow interoperability regardless of the delivery or deployment model adopted.

Related documents