Over the last decade, the rapid expansion of cloud computing has only been possible through the key technological breakthroughs in related computing technologies. As a result, major changes can be seen in the way the four enablers of cloud computing technology - virtualization, multi-tenancy, web services and cost effective hardware—contribute to the development of effective and efficient cloud computing. These advancements have resulted in synergistic enablement, low cost, high speed, and scalable computing.
Virtualization technology has been in existence since the days of mainframe computers. However, it was recently adapted to cloud computing when it was used to create an illusion of a physical computer with a set of defined system resources. This enables the division of the physical resources of the machine based on the application requirement and allows for dynamic reconfiguration of resources as required. The virtual machine can be duplicated several times mirroring the physical system to allow for greater computational power. It is an independent abstraction between the actual hardware and the software application. The main benefit of using virtualization is the portability associated with the creation of n-numbers of virtual machines between different servers. This improves efficiency in the use of existing hardware as well as creating potential for rapid scaling up of resources on the fly.
The second component, multi-tenancy, refers to the way in which access is given to several clients, who simultaneously use the same resource without intruding on each other’s space or data stores. Often, multiple clients use a single application on the server and artificial software authentication protocols are set up to ensure privacy. This leads to optimal use of physical computational resources. Depending on the deployment model of the cloud, there are varying levels in the implementation of multi-tenancy concepts.
The third component is web services, which is a software system that enables communication between two machines over a network. This system is agnostic to the machine configuration and system firewalls of the various components that are communicating. It provides a standardized platform to clients, allowing them to access applications in the server through a network. It uses XML for data tagging, SOAP for data transfer, WSDL for service description and UDDI for available service. By default, this system does not have any GUI features. However, most cloud service providers integrate this system to a web page with a GUI based application to offer specific functionalities.
In the last decade, hardware costs have been reduced significantly while efficiency and speed of processing has increased dramatically. These rapid technological improvements have paved the way for high-density servers, which pack lots of computing power into a small area. New multi-core processor systems within these servers have helped perform high volume parallel computations at high speeds, accurately.
These technologies have laid the foundation for the cloud computing revolution and have transformed the way we develop software applications leading to the ubiquitous spread of cloud computing, cloud backup and cloud storage.