Definition of Over Provisioning in Cloud Computing
Discuss about the Dynamic Resource Provisioning in Cloud Computing.
Over provisioning is mainly needed in satisfying the needs of large number of users when the demand of the resources is very high. Over provisioning in the context of storage can be considered as an inclusion of an extra storage capacity. The process of over provisioning mainly refers to the allocation of more computer data storage space than it is actually required. The cloud manufacturers employ various tactics for improving the performance of their network, one of which is over provisioning. The process of over provisioning is a tactics of improving the performance of various computing devices by allocating more free space (Sadiku, Musa and Momoh 2014). In network planning and design, over provisioning refers to the allocation of additional bandwidth in the network so that it becomes capable of taking the load during the peak hours.
In computing, virtualization can be described as a way of abstracting the different resources associated with computing so that a single physical hardware can be shared by multiple applications. Therefore, virtualization is a process of creation of a virtual version of resources in order to enhance the operation of certain computing devices (Wood et al. 2015). Virtualization of the cloud servers can be considered as an example in which certain attributes of the physical server are abstracted or decoupled and later reproduced in order produce a virtual servers.
Resources other than computing resources can be virtualized. The cloud providers often virtualise the memory, storage and the communication channels in over provisioning the resources. With the virtualization process, one resource can be rightly shared with the multiple users thus helping in over provisioning.
The process of memory virtualization decouples the resurces volatile random access memory from individual system in the data centre in order to develop a memory pool. The cloud providers make use of memory virtualization as it allows the network and distribute servers in sharing a pool of memory, thus reducing the limitations of physical memory (Ranjan, and Zhao 2013). With this, the entire system can make use of large amount of resources that improves the overall performance and system utilization.
Storage virtualization is widely used in cloud computing environment. Storage virtualization is adopted by the cloud providers in over provisioning the resources as storage virtualization crates an artificial view of the storage, efficiently hiding the physical infrastructure from the clients and the servers (Zhang, Li and Wu 2014). With the process of storage virtualization in cloud, multiple storage devices in the cloud platform can be harnessed together in order to create a much larger storage devices resulting in the over provisioning of the existing storage resources. However, virtualization of storage in cloud computing improve the overall storage performance along with the increase in the reliability of the system. The cloud providers make use of storage virtualization in over provisioning as it not only improves the performance of the system, but also improves the storage reliability. With the storage virtualization, same data can be stored in a number of storage devices and storage servers thus improving the process if data backup and recovery of the data. This is possible as if one server fails, the duplicate data is stored in another server as a result of storage virtualization. The cloud providers often make use of storage virtualization as it allows greater control of the storage space and further ensures that the storage devices are fully utilized. The storage virtualization is done by pooling the physical storage from storage devices of multiple networks in a single virtual storage device. This is mainly controlled by the cloud providers from a central location.
Virtualization in Cloud Computing
Virtualization is the core of cloud computing and over provisioning. Apart from storage and memory, the communication channels are also virtualized by the cloud providers as a necessary step of over provisioning. The main benefit of virtualization of the communication channel in cloud computing is its cost effectiveness. The communication channel in a virtualized cloud is shared among the multiple users thus resulting in over provisioning. However, there are certain security issues associated with the virtualization of the communication channels in the cloud that is needed to be addressed.
The virtualization of memory, storage and communication channels therefore helps the cloud providers in over provisioning these resources. Virtualization and over provisioning in cloud computing is mainly done in order to increase the performance of the cloud server in a particular cloud environment (Jamshidi, Ahmad and Pahl 2014). Over provisioning mainly helps in satisfying the need of multiple or concurrent users in cloud environment that is achieved by the virtualization of these resources of cloud computing, which includes memory, storage and communication channel.
According to the National Institute of standards and technology (NIST), there are mainly five essential characteristics of cloud computing, which are as follows (Herbst, Kounev and Reussner 2013)-
- On demand self service- the email services or applications of network or servers can be claimed or provided without the need of interacting with the provider of cloud (Pearson 2013). Example of cloud providers that provides on demand self services are Amazon web service, Microsoft and several other cloud providers.
- Broad Network Access- The cloud capabilities that are available over the network can be easily obtained or accessed through different standard mechanism.
- Resource Pooling- The different resources of cloud computing are pooled together so that the resources can be used by multiple users. This can be achieved by the different resources such as physical and the virtual resources. These resources are dynamically assigned and re assigned as per the demands of the customers. This can be done irrespective of the location from which the customer is operating. The example of resources in cloud that are pooled mainly includes storage, processing memory and network bandwidth.
- Rapid Elasticity- According to this characteristic of rapid elasticity, the capabilities can be provisioned elastically and released according to the demand. With rapid elasticity, the customers are given the capabilities that appear to be unlimited to the customers.
- Measured service- The cloud service or cloud system with the help of measured service can automatically optimize the resources use by enforcing proper control. Resource usage can easily be controlled and monitored with an aim of providing transparency in the operation and the process from both provider and consumer.
The above discussed point provides an idea of NIST characteristics of cloud computing. The third and the fourth characteristics of NIST are about resource pooling and rapid elasticity. Resource pooling is a situation where the cloud computing providers server multiple clients and customers with provisional and scalable services. This can be rightly compared with over provisioning in cloud. This is mainly because resource pooling is a process by which the different computing resources are pooled for serving a large number of customers at the same time. The resource pooling increases the capacity of the cloud computing server much similar to over provisioning thus it can be said that resource pooling related to over provisioning (Hsu, Ray and Li-Hsieh 2014). The idea behind the process of resource pooling is that with the help of resource pooling, the cloud computing providers are able to create a capability of unlimited resource availability. This is done by enforcing resource control and adjustments at a meta level. The concept of resource pooling is applicable to the services such as data storage, processing service and bandwidth quite similar to the process of over provisioning these resources with the help of virtualization of memory, storage and bandwidth. Resource pooling therefore results in dynamic services and on demand services to the customers. The providers of the computing resources are pooled to serve a number of customers at the same time. Therefore, it can be said that use of resource pooling helps in over provisioning of the resources.
Memory Virtualization in Cloud Computing
The rapid elasticity is acharacteristic of cloud computing as per NIST. With rapid elasticity, capabilities can be elastically provided according to the demand of the customers. With rapid elasticity, the capabilities and the options available to the customers are often found to be unlimited, which is important characteristics of over provisioning in cloud. Rapid elasticity in cloud computing can be considered as a term for scalable cloud provisioning and the ability of providing scalable services. The increase in the elasticity means an increase in the scalability of cloud computing. Elasticity or scalability is one of the essential non functional requirements of IT architecture. Scalability can be described as an ability of adding or removing the capabilities in cloud server according to the demands of the customers. This relates to the concept of over provisioning in cloud as over provisioning is done by virtualization of the different cloud components. With rapid elasticity, the resource capacity of cloud is mainly stretched when required and released when the demand for the same is low. Rapid elasticity is mainly possible with the help other cloud computing characteristics such as resource pooling and on demand self service. Combining all these characteristics helps in resource virtualization and over provisioning of the cloud resources to increase its capacity.
Cloud computing is a process by which a remote server network are hosted in the internet in order to manage and process the data of making use of local servers or a personal computer. It is a paradigm of information technology that provides easy access to the shared pools of resources which are easily configurable in order to provide high level services to the clients. There are mainly three cloud architecture which are infrastructure as a service (IaaS), Platform as a Service (PaaS), and Software as a service (SaaS) (Amini et al. 2013). The three cloud environments in which these cloud architectures are deployed includes public cloud, private cloud and hybrid cloud. The use of private cloud is quite secure followed by the use of hybrid cloud environment. However, the use of public cloud is associated with a number of security risks and issues (Goyal 2014). These security risks are linked with weak cloud security measures which include storing of data in cloud without any proper security control such as encryption, lack of proper authentication and access control. These security risks include data breaches, hijacking, threat from an insider, malware injection, insecure APIs, denial of service attacks and so on. These are the major security concerns associated with cloud computing. These risks manifests in public cloud environment as public cloud can be accessed by the public. The security issues arises in use of cloud computing as the data is stored in the servers or systems that is not owned by the customer. This increases the security risks in public cloud environment (Freet et al. 2015). The security in cloud can be achieved with by deploying different data protection measures in the stored data.
Storage Virtualization in Cloud Computing
With the increase in the use of cloud computing, the data security in cloud becomes considerably important. It provides a way of sharing distributed resources among the different entities of the organization and therefore, the data security issues increases. Cloud computing shares distributed resources with the help of a network in open environment thus making it prone to security problems. The various important security services associated with the use of cloud includes authentication, encryption and access control. Since the backbone of cloud computing is internet, there are certain security risks from the hackers leading to data breach. However, the use of cloud computing is increasing as it enables a business organization in using highly sophisticated of computer applications.
The architecture of IaaS, PaaS and SaaS is quite differentand therefore the security issues associated with them differs in a large extent (Almorsy, Grundy and Müller 2016). The security issues associated with the use of IaaS, PaaS and SaaS environment is discussed in the following section.
Infrastructure as a service or IaaS is a cloud computing service or delivery model that hosts the infrastructure components of on premises data centre. The delivery model of IaaS provider also provides a range of infrastructure components for hosting cloud applications. The use of IaaS cloud is considered as one of the secure cloud solution. However, there are security issues associated with the use of IaaS, which are listed below- (Chavan et al. 2013)
- Insider threat is one of the significant security risk associated with the use of IaaS cloud. This is a major threat since the employees of the IaaS cloud service provider have a direct access to the network infrastructure and the hardware components of cloud. These employees have an access to the provisioning systems and authentication infrastructure and therefore this privileged infrastructure can prove to be a potential threat and security risk to the IaaS infrastructure.
- Escaping virtual machines can result in a threat and increasing security issues associated with the use of IaaS. If an attacker is able to escape from a virtual machine, an attacker can gain access to the hypervisor where attacker can modify the code, steal data or can implant malware in the hardware that can risk the privacy and confidentiality of the data stored in the system (Hashizume et al. 2013). Such risks can only be reduced by the reducing the virtualization drivers and the other characteristics that are mainly supported by hypervisor.
- Breaking authentication is another security risk associated with the use of IaaS cloud. Ability to access the accounts that are used for provision and terminate the virtual machine and other cloud services provides an opportunity to the attacker to access the cloud infrastructure. The credentials that can be used to access the cloud services can be obtained by installation of a key logger in an administrator’s desktop thus breaking the authentication. Obtaining any API credentials or private keys can provide an attacker a free access to the cloud database thus increasing the security risks and issues associated with the system.
- Breaking Encryption is another security issues associated with the use of IaaS cloud. The attacker can gain access to the cloud by breaking the encryption. In IaaS cloud, the APIs are generally protected by making use of TLS protocol. This protocol relies in PKI authentication. It this PKI can be broken, the encryption breaks automatically (Dinh et al. 2013). Although a PKI provides a certain level of authentication and security against the casual attacks, it cannot provide protection against a more sophisticated attack. Therefore, breaking of the encryption is another significant security risk associated with the use of IaaS.
- Misconfiguration of the IaaS cloud can result in increase of the security risks associated with IaaS (Hashem et al. 2015). The use and adoption of IaaS cloud follows a complex setup that often result in the misconfiguration of the security levels and standards associated with the use of IaaS.
- IaaS has a considerable risk from the ghost virtual server or workloads. The IaaS cloud should be able to detect the servers or service with no activity in order to mitigate this risk.
Platform as a service is a delivery model of cloud computing that offers a platform to the customers to manage, develop and run the different cloud applications without any additional complexity as oppose to the use of IaaS. PaaS is therefore very easy to deploy an use; however, it considerably has more security issues in comparison to the IaaaS. The security issues associated with PaaS are discussed below-
- Interoperability gives rise to a major security issue associated with the use of PaaS. Interoperability is an ability to write a cloud that is associated with more than one provider or cloud vendor simultaneously (Kavis 2014). This process is however prone to security risks and security issues. Interoperability provides common interface so that different objects of the cloud can easily access the resources.
- Host vulnerability is another significant security risk associated with the use of PaaS. Vulnerability can be described as a resistance to different type of attacks. Multi-tenancy in PaaS makes sure that user objects are spread through the interconnected multi user hosts. Hosts of PaaS can be protected from different attacks. If the protection on PaaS fails, a hacker can gain access to the resources of host (Chou 2013). Therefore, the providers of PaaS have to take necessary security measures to prevent such attack.
- Object vulnerability is another risk associated with the use of PaaS. Service providers can access or modify the user objects thus breaching the security of PaaS.
- The network communication is confidential and risk with access control can risk the network security in cloud.
Software as a service provide readymade cloud services to the clients but is more vulnerable to attacks in comparison to PaaS and IaaS. The significant security issues associated with the use of SaaS are as follows (Ristov, Gusev and Donevski 2013)-
- Data security breaches are more common in SaaS due to the vulnerability in data storage in SaaS and therefore, this cloud delivery model is vulnerable to attack.
- The customers have no control over the data stored in the SaaS.
- The data availability is often an issue associated with the use of SaaS. The data availability is a concern as a strong internet connection is required for data access.
The security issues associated with the IaaS, PaaS and SaaS manifests with the use of public cloud in comparison to the use of private cloud or non cloud based infrastructure. This is mainly because the security issues in private cloud are comparatively less. This is possible as the private cloud limits the use of data only to the authorized users, which is not possible with the use of public cloud environment (Aljawarneh 2013). In public cloud, the data can be accessed by a number of users and it is difficult to provide access control in public cloud resulting in increasing the vulnerability of the system.
Virtualization of Communication Channels in Cloud Computing
With the use of non cloud based infrastructure, the security risk is less since the data is not stored over in some remote servers that are hosted over internet. With the elimination of the use of internet, the data security risks reduce as well.
References
Aljawarneh, S., 2013. Cloud security engineering: Avoiding security threats the right way. In Cloud Computing Advancements in Design, Implementation, and Technologies(pp. 147-153). IGI Global.
Almorsy, M., Grundy, J. and Müller, I., 2016. An analysis of the cloud computing security problem. arXiv preprint arXiv:1609.01107.
Amini, M., Sadat Safavi, N., Khavidak, D., Mojtaba, S. and Abdollahzadegan, A., 2013. Types of cloud computing (public and private) that transform the organization more effectively.
Chavan, P., Patil, P., Kulkarni, G., Sutar, R. and Belsare, S., 2013, December. IaaS Cloud Security. In Machine Intelligence and Research Advancement (ICMIRA), 2013 International Conference on (pp. 549-553). IEEE.
Chou, T.S., 2013. Security threats on cloud computing vulnerabilities. International Journal of Computer Science & Information Technology, 5(3), p.79.
Dinh, H.T., Lee, C., Niyato, D. and Wang, P., 2013. A survey of mobile cloud computing: architecture, applications, and approaches. Wireless communications and mobile computing, 13(18), pp.1587-1611.
Freet, D., Agrawal, R., John, S. and Walker, J.J., 2015, October. Cloud forensics challenges from a service model standpoint: IaaS, PaaS and SaaS. In Proceedings of the 7th International Conference on Management of computational and collective intElligence in Digital EcoSystems (pp. 148-155). ACM.
Goyal, S., 2014. Public vs private vs hybrid vs community-cloud computing: A critical review. International Journal of Computer Network and Information Security, 6(3), p.20.
Hashem, I.A.T., Yaqoob, I., Anuar, N.B., Mokhtar, S., Gani, A. and Khan, S.U., 2015. The rise of “big data” on cloud computing: Review and open research issues. Information Systems, 47, pp.98-115.
Hashizume, K., Rosado, D.G., Fernández-Medina, E. and Fernandez, E.B., 2013. An analysis of security issues for cloud computing. Journal of internet services and applications, 4(1), p.5.
Herbst, N.R., Kounev, S. and Reussner, R.H., 2013, June. Elasticity in Cloud Computing: What It Is, and What It Is Not. In ICAC (Vol. 13, pp. 23-27).
Hsu, P.F., Ray, S. and Li-Hsieh, Y.Y., 2014. Examining cloud computing adoption intention, pricing mechanism, and deployment model. International Journal of Information Management, 34(4), pp.474-488.
Jamshidi, P., Ahmad, A. and Pahl, C., 2014, June. Autonomic resource provisioning for cloud-based software. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (pp. 95-104). ACM.
Kavis, M.J., 2014. Architecting the cloud: design decisions for cloud computing service models (SaaS, PaaS, and IaaS). John Wiley & Sons.
Pearson, S., 2013. Privacy, security and trust in cloud computing. In Privacy and Security for Cloud Computing (pp. 3-42). Springer, London.
Ranjan, R. and Zhao, L., 2013. Peer-to-peer service provisioning in cloud computing environments. The Journal of Supercomputing, 65(1), pp.154-184.
Ristov, S., Gusev, M. and Donevski, A., 2013. Openstack cloud security vulnerabilities from inside and outside. Cloud Computing, pp.101-107.
Sadiku, M.N., Musa, S.M. and Momoh, O.D., 2014. Cloud computing: opportunities and challenges. IEEE potentials, 33(1), pp.34-36.
Wood, T., Ramakrishnan, K.K., Shenoy, P., Van der Merwe, J., Hwang, J., Liu, G. and Chaufournier, L., 2015. CloudNet: Dynamic pooling of cloud resources by live WAN migration of virtual machines. IEEE/ACM Transactions on Networking (TON), 23(5), pp.1568-1583.
Zhang, L., Li, Z. and Wu, C., 2014, April. Dynamic resource provisioning in cloud computing: A randomized auction approach. In INFOCOM, 2014 Proceedings IEEE (pp. 433-441). IEEE.