You are on page 1of 9

Faculty of Science and Technology

MIDDLESEX UNIVERSITY

TAKE HOME EXAMINATION

Academic Year 2019/2020 (April/May)

Module number: CST4570

Name of module: Virtualization and Cloud Computing

MISIS Number:
Campus:
Questions Attempted: Question Number Yes or No
Q.1 (Yes/No) YES
Q.2 (Yes/No)
Q.3 (Yes/No) YES
Q.4 (Yes/No) YES
Q.5 (Yes/No)

Question 1:

a)    Differentiate between virtualization and paravirtualization, outlining the benefit of


each. Explain how device virtualization works.  
                                                                                                                                        [10 marks]
ANS
Virtualization is the technology which allows computing resources and operating systems to
operate in a virtual environment. Virtualized computing resources include RAM, Bandwidth,
Disk Space and CPU Cores.
Full Virtualization
Full virtualization is very common because of its cost friendliness; it is basically a method where
the service requests from the computer are isolated from the physical hardware that is connected
to it to a virtual environment. In full virtualization, operating systems with all their hosted
software are run on top of virtual hardware.
In Full virtualization, the host operating system will run on the hardware while there
will be a guest operating system running on the virtual machine. The guest
operating systems are not aware of the ‘hypervisor’ and so each virtual machine
and the guest operating system operate as isolated independent machines. In
simple words, there are several guest operating systems being executed on a
singular host operating system using binary translation or even direct execution in
an isolated environment.

The drawback of this scenario is that it has effects on the overall integrity and
performance of the system it is implemented to. This is because of the reason that
it depends on hardware emulation of the hypervisor.

Advantages of Full Virtualization

 Less Financial Costs


 Less Operating Costs
 Elimination of Excessive Downtime
 Greater Productivity
 Faster Provisioning of Applications and Resources

Para-Virtualization

Paravirtualization deals with providing the virtual machine, with an interface that is familiar to
hardware. The guest operating system is ported in an explicit manner because a guest operating
system is not able to run on top of a virtual machine monitor.

Paravirtualization enables different operating systems to work with one set of hardware
resources, in it, the operating system is tuned to work with a virtual machine. The basic motive
of this modification is the elimination of the extra time required to perform tasks which are
extensive to run in virtual environments.

Paravirtualization has significant performance and efficiency advantages over full virtualization.

Advantages of Paravirtualization

 Efficient Disaster Recovery


 Efficient Capacity Management
 Efficient Migration of Data
 Better performance of a Single Unit

b)    Virtualization has two models, bare metal and hosted. Discuss the differences between
the two virtualization models and their use and benefits.
                                                                                                                             [10 marks]
ANS

Bare-Metal Virtualization

The bare metal virtualization is the most common virtualization. In it, the virtualization software
is installed on the hardware directly, after which the operating system is installed. They have
extreme security because of their isolation from the operating system and all the threats posed to
it. They perform better than hosted hypervisors.

Advantages of Bare Metal Virtualization


 Lower overhead costs
 Cost effective for data transfer
 Flexible deployment
 Greater security 
 Improved hardware utilization

Hosted Hypervisor Virtualization

There is another type of hypervisor, known as a client or hosted hypervisor. While bare


metal hypervisors run directly on the computing hardware, hosted hypervisors run within the
operating system of the host machine. This is a fact that the hosted hypervisors run inside the
Operating System, further operating systems can be installed on top of it. Hosted hypervisors
have higher latency than bare metal hypervisors because requests between the hardware and the
hypervisor must pass through the extra layer of the OS. Basically they have an extra layer of the
operating system in between and slow down the process by increasing latency. Hosted
hypervisors are also called as client hypervisors because their common use is end users and
software testing.

Advantages of Hosted Virtualization


 Cost Friendly
 Less Number Of Physical Servers
 Less Energy Consumption
 Independent User Environments
 Affordable Web Hosting

Question 3:

a)    What is the role of the hypervisor in memory virtualization, full and paravirtualization?
                                                                                                                                      [5 marks]

ANS
The hypervisor is used for showing the OS along with the virtual operating platform and used for
managing the execution of the guest OS. There are also multiple instances of a variety of OS,
which may share the hardware resources like Linux, Mac OS, and windows, which are also for
running on one physical machine. The program of hypervisor is a program that is used for
enabling the user to host different virtual machines in one hardware. Every machine is a system,
the user will have will be able to run its program separately, and this will appear that the system
has the host hardware processor, resources, and memory as well. Nevertheless, it is the
hypervisor that is used for allocating the resources to the virtual machines. The hypervisor also
allows the users to have many virtual machines, and they all can work optimally on one piece of
computer hardware.

Role of ‘Hypervisor’ in full virtualization


Role of ‘Hypervisor’ in para virtualization

b) What’s cloud computing? State 4 benefits of using cloud computing.


                                                                                                                                        [5 marks]
ANS
Cloud computing can be defined as on-demand availability of the resources of the computer
system, specifically storage of data and computing power without having direct active
management by the users. This is typically used for describing the data centers which are
available for many users over the internet. Cloud computing helps offer many benefits to the
company. Firstly, it can set up what is required virtually for giving the office a flexible space for
having a connection with the business anywhere and at any time. Some of the benefits of cloud
computing are mentioned as follows:
 It reduces the cost of IT
 The business can scale up and scaling down the operations and storage requirements in a
quick manner for suiting the business, which allows flexibility as requirements changes
with time.
 This also gives the facility to its users to be much more flexible in their practices, such as
one will be able to have the capability for having access to data from home during any
holiday and through commute to and from work.
 It also gives access to the updates automatically.

c) You were contracted to advise a company on whether to move into the clouds or carry on
using their traditional system. Produce the skeleton of a technical report to justify your
recommendation to a move into a cloud platform.
                                                                                                         [10 marks]
ANS

 In terms of cost, cloud computing is much better. Having the establishment and running
of the data center is much costly. The company needs to buy and exact equipment, and
they also need to hire a skilled person for its installation management.
 One of the advantages of cloud computing gives the company is its flexibility and
mobility. These services will give our company the flexibility to work from home and
able to have access to all our information at any time anywhere. It will include employees
to complete their work at home as well.
 The scalability of cloud computing is also much more as compared to the traditional one.
 In a traditional system, there is a need to have a backup of the plane to secure the data. If
there comes any disaster, this may lead to the loss of data permanently if there is no
backup plan. Cloud computing does not need this.
 Storing data on the cloud is much safer as compared to sharing it on the physical
hardware and data centers. If there comes any breach at the office, this could lead to
compromised data security if laptops got stolen or got hacked. On the cloud, cloud
service allows the employees to delete the confidential data remotely even if they do not
have that system with them.

The comparison is quite clear, though local storage clearly has a few advantages too, but you
cannot change the fact that cloud storage has more benefits and in addition to that, cloud storage
has ultimately changed the way organizations can utilize the money they can now save by
replacing organization’s local storage with online cloud storage.

Some of the benefits of the cloud storage in corporate organizations and other organizations are
listed below.

This is a standard general plan that is used by a lot of Non-Government organizations, for
expansion and sustainability, in the light of the factors discussed above. We can clearly see that
Mawhiba is on the verge of achieving these factors, which will make its expansion very likely in
the future and will also give you an idea

Question 4:

a) What are the containers? Compare and contrast between virtual machines and containers
in terms of infrastructure, performance, interoperability, architecture, security, and
robustness. [14 marks]

ANS
A container is a form of cloud computing. This is an approach to operating system virtualization.
By using this, the users can work with a program, and with all its dependencies by the use of
resource procedures that are got isolated. The usage of the container in online services gives
advantages to the storage with cloud computing information security, elasticity, and availability.
Main differences among the container and hypervisor are mentioned as follows:
 Security: From a security point of view, virtual machines are more secure than the
containers.
 Infrastructure: The containers need an underlying operating system that gives essential
services to all applicants using virtual memory support for isolation. On the other hand,
the hypervisor runs the machines by having their operating system using hardware.
 Performance: Container is having excellent performance as it has one service and one OS
so that it will have more space available for managing machines.
 Robustness: Virtual machines allow the users to run multiple applications against one
server while this is not the case with containers.
 Architecture: VM is usually got managed by the hypervisor, and it uses the VM hardware
while on the other hand, containers give OS services from an underlying host and are able
for isolating the application using virtual memory hardware.

b) While Docker containers will continue to gain ground, many users are arguing that virtual
machines are still better suited. For the following two scenarios determine which one is suited to
deploy and justify your choice:
      i)  If you need to run multiple applications on multiple servers.
ANS

Docker is a container which shares the running OS Kernel. Docker can be used where we must
share one OS Kernel amongst different applications. However, Virtual Machines can be created
multiple on the single hardware server machine, and each VMs have its OS kernel, memory, and
space. The bigger the Hardware server machine more, we can create VMs and install OS. In the
above scenarios, Virtual Machines will be recommended as it will be cost-effective. Also, each
application will have its resources and applications. It will also secure be more secure regarding
data. The main disadvantage is if your central server, hardware machine, is down, then all the
applications will be down.
        ii) If you need to run many *copies* of a single application.
                                                                                  [3 marks each]  

ANS

If you need to run multiple copies of a single application, regarding the above question, in this
scenario, docker is more reliable, as you do not have to install one application to multiple VMs.
One application will be installed on the main server, and each container has its copy to be
executed. One database can be used for multiple containers also do not have any synching issue.

You might also like