Infrastructure-as-a-Service and Hardware-as-a-Service (IaaS/HaaS) solutions are the most popular and developed market segments of cloud computing.
They deliver customizable infrastructure on demand. The available options within the IaaS offering umbrella range from single servers to entire infrastructures, including network devices, load balancers, and database and Web servers.
The main technology used to deliver and implement these solutions is hardware virtualization:
one or more virtual machines opportunely configured and interconnected define the distributed system on top of which applications are installed and deployed.
Virtual machines also constitute the atomic components that are deployed and priced according to the specific features of the virtual hardware: memory, number of processors, and disk storage.
IaaS/HaaS solutions bring all the benefits of hardware virtualization: workload partitioning, application isolation, sandboxing, and hardware tuning.
- From the perspective of the service provider, IaaS/HaaS allows better exploitation of the IT infrastructure and provides a more secure environment where executing third-party applications.
- From the perspective of the customer, it reduces the administration and maintenance costs as well as the capital costs allocated to purchase hardware.
Other solutions provide prepackaged system images that already contain the software stack required for the most common uses: Web servers, database servers, or LAMP1 stacks.
Besides the basic virtual machine management capabilities, additional services can be provided, generally including the following:
- SLA resource-based allocation,
- workload management,
- support for infrastructure design through advanced Web interfaces, and
- the ability to integrate third-party IaaS solutions.
It is possible to distinguish three principal layers:
- the physical infrastructure,
- the software management infrastructure, and
- the user interface.
At the top layer, the user interface provides access to the services exposed by the software management infrastructure. Such an interface is generally based on Web 2.0 technologies: Webservices, RESTful APIs, and mash-ups.
These technologies allow either applications or final users to access the services exposed by the underlying infrastructure. Web 2.0 applications allow the development of full-featured management consoles completely hosted in a browser or a web page.
Web services and RESTful APIs allow programs to interact with the service without human intervention, thus providing complete integration within a software system.
The core features of an IaaS solution are implemented in the infrastructure management software layer. In particular, management of the virtual machines is the most important function performed by this layer. A central role is played by the scheduler, which is in charge of allocating the execution of virtual machine instances.
The scheduler interacts with the other components that perform a variety of tasks:
- The pricing and billing component takes care of the cost of executing each virtual machine instance and maintains data that will be used to charge the user.
- The monitoring component tracks the execution of each virtual machine instance and maintains the data required for reporting and analyzing the performance of the system.
- The reservation component stores the information of all the virtual machine instances that have been executed or that will be executed in the future.
- If support for QoS-based execution is provided, a QoS/SLA management component will maintain a repository of all the SLAs made with the users; together with the monitoring component, this component is issued to ensure that a given virtual machine instance is executed with the desired quality of service.
- The VM repository component provides a catalogue of virtual machine images that users can use to create virtual instances. Some implementations also allow users to upload their specific virtual machine images.
- A VM pool manager component is responsible for keeping track of all the live instances.
- Finally, if the system supports the integration of additional resources belonging to a third-party IaaS provider, a provisioning component interacts with the scheduler to provide a virtual machine instance that is external to the local physical infrastructure directly managed by the pool.
The bottom layer is composed of the physical infrastructure, on top of which the management layer operates. As previously discussed, the infrastructure can be of different types; the specific infrastructure used depends on the specific use of the cloud. A service provider will most likely use a massive data center containing hundreds or thousands of nodes.
From an architectural point of view, the physical layer also includes the virtual resources that are rented from external IaaS providers.
In the case of complete IaaS solutions, all three levels are offered as a service. This is generally the case with public cloud vendors such as Amazon, GoGrid, Joyent, Rightscale, Terremark, Rackspace, ElasticHosts, and Flexiscale, which own large data centers and give access to their computing infrastructures using an IaaS approach.
The role of infrastructure management software is not to keep track and manage the execution of virtual machines but to provide access to large infrastructures and implement storage virtualization solutions on top of the physical layer.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.