Cloud computing refers to the use of the internet to deliver applications to users. These applications are delivered in the form of services. These services are referred to as Software as a Service (SaaS) (Illingworth, 1991). Cloud computing is also composed of data centers that are equipped with computer hardware and software.
The combination of all these components ensures that the services are available to the users without failure or delay. The cloud refers to both the hardware and the software that is housed at the data center. The cloud can either be public or private. It is termed as a public cloud when it is made available to the public and they pay for it depending on their usage. The service that is paid for is referred to as utility computing. Private clouds, on the other hand, are not accessed by the public. They are only used within the data centers (Katz, 2010).
A combination of utility computing and Software as a Service form the entire cloud computing. Private clouds are not considered part of cloud computing but they play an important role in ensuring that cloud computing operates both effectively and efficiently. Virtualization, on the other hand, is a concept where there is a representation of the physical components in a form that is not tangible. This may include computer hardware, storage and even the operating system. This has enabled the use of virtual machines that act as host machines. The virtual machines are referred to as guest machines (Warschauer, 2011). The host machine runs its software which is different from that which is run on the guest machine. These advancements in technology have enabled easy software installation techniques and also provided an alternative way of storing information.
The use of virtualization and cloud computing has both advantages and disadvantages as far as the security of the systems is concerned (Bishop, 2003). They offer an alternative to the current ways in which software installation, storage and maintenance of data are carried out. Some of the weaknesses and strengths in security as far as virtualization and cloud computing are concerned are explained below. The layering structures in cloud computing are nontransparent. This means that a lot of data that may be viewed superficially as unrelated may be linked internally (Rich, 2009). This means that the dependency between data may be enormous. The result of this is the loss of the entire data, incase part of it is altered or deleted. The data may also be rendered inaccessible.
The storage of data is also a problem. This is because the host of the cloud has the sole control of where the data will be stored and how secure it will be. The host also has the ability to determine where the data will be stored. In case of failure in his/her security system, the data that have been stored will be under threat. The data may also be lost during transmission from the host machine to the guest machine (Dissanayake, 2011). This may be as a result of the interception by hackers during the transmission period.
Another weakness of virtualization and cloud computing is the lack of privacy and control. This is because the data are in the hands of a third party. In case the data is sensitive, its privacy may be under threat since a third party is involved. In such a case, sabotage can easily take place. This is a major factor because most people and corporate institutions value the privacy of their data. This has resulted in the fact that very few people use cloud computing (Chao, 2012).
The strengths of these technologies include the ability to back up data. The data recovery technique used is also better than those on the physical systems. The use of the data centers and the fact that data are stored in the cloud enable for easy backup of the data by the third party involved in its maintenance. This means that in case of data loss, the recovery of the data will be easily achievable. Another advantage is the device independence and portability.
Since the data are held in the cloud, access to it can be achieved from any location so long as there is an internet connection (Brennan, 2010). This is helpful since it enables communication with remote offices and accessibility of their data will also be easy. The scalability of cloud computing is the property that has led to an increase in trust in the system. This is where the platform can change in size depending on the demands of the users. This ensures that the required volumes of data can be accessed when they are required without any delays if the internet connection has been established.
The use of these technologies is seen to be on the increase. It is foreseen that in the future, their use will be inevitable. Experts foresee that the size of the data centers will tremendously increase. This will be coupled with an increase in the bandwidth that they would provide. It is believed that the application software will also undergo tremendous changes. It will be designed to run both on the client-side as well as the cloud side (Rudi, 2010).
It will also be designed in such a way that the software on the client-side will still be useful even when the client has disconnected from the cloud. The scaling of the cloud will also be made high to cater to the needs of the users efficiently. The infrastructure software will also be designed to entirely run on a virtual machine. This will ensure the elimination of physical machines. Measures will also be put in place to ensure that proper billing methods are devised the experts also foresee that the hardware will be developed in such a way that it is more energy conserving. This will necessitate the inclusion of idle states when no operation is taking place. The hardware is also designed to ensure that the virtual machines have low-level software running as the primary software on them.
The evolution of technology will pose challenges in the software life cycle. New methods of developing software will have to be established such that this software will not run only on a physical computer. The software will be designed such that it will be able to run on the virtual machines without the need for another operating system (Grembi, 2008). The development of the software will also be done in a way that each stage is well checked to ensure that no bugs are incorporated into the system. This is for the purpose of ensuring that the data will be secure at all times.
Cloud computing and virtualization are important technology. However, it has been clearly shown that it suffers some shortcomings. The effects of these shortcomings can be minimized. Firstly, the security of cloud computing is based on trust. There should be trust between the clients and the third party offering the service. Secondly, efforts should be made to ensure that standards that will govern the use of cloud computing are developed. This should be after extensive consultation and research. This will ensure that the requirements are well stipulated and that the services that are offered are to the required standards.
Bishop, M. (2003). Computer Security. Boston: Pearson.
Brennan, J. E. (2010). The Future of Analytics. Boston: Song Bird Hill Media.
Chao, L. (2012). Cloud Computing for Teaching and Learning. Victoria: IGI Global.
Dissanayake, A. (2011). Your Cloud Computing Companion. Alaska: Asokaplus.
Grembi, J. (2008). Secure Software Development. Boston: Cengage Learning.
Illingworth, V. (1991). Dictionary of Computing. Oxford: Oxford University Press.
Katz, R. N. (2010). The Tower and the Cloud. London: Macmillan.
Rich, J. R. (2009). How to Do Everything iCloud. New York: McGraw-Hill.
Rudi, V. (2010). Society and Technological Change. Boston: Worth Publishers.
Warschauer, M. (2011). Learning in the Cloud. Boston: Teachers College Press.