Write a report addressing following question with the help of figures and example scenarios.
1. What is a Data Centre and discuss different operation performed in data centre, how data centres divided in Different tiers based on what criteria’s? Give example of few famous Australia based Data centres.
2. What is Hypervisor-Based Server Virtualization Technology, its use and explain at least two examples of it. Also, compare both examples based on their features and limitations.
3. What is container-based virtualization and why we need it? Discuss at least two examples of it and also, compare both examples based on their features and limitations.
Enterprise applications allow businesses to manage various business processes across departmental units within an organization or across different geographical locations. These enterprise applications define how businesses operate thus creating a business model that is enforced within the whole organization. At the same time, enterprise applications enable automation of business processes hence bringing about efficiency . To enhance efficiency, security and reduce costs, many IT operations and infrastructure are centralized within a single location to create a data centre. A data centre is therefore a centralized IT facility with centralized IT operations, infrastructure and data storage facilities. Addition of application may require addition of more computers to run the new systems. In order to save on costs, these data centres make use of virtualization technology. Virtualization allows the organization to emulate a computer without buying actual computer hardware.
Some of the services offered at the data centres include Platform as a Service, Infrastructure as a Service and Software as a Service facility. In order to scale their operations, it becomes necessary to replicate hardware and software resources in order to save cost as well as allow quick operationalization of their services.
With regards to virtualization, Hypervisor-Based Server Virtualization Technology and Container have become very popular. The major difference between the two is that Hypervisors can be able to use different kernels while all containers must use the same kernel. As a result, Hypervisor based technologies emulate the host hardware virtually. This leads to consumption of a lot of resources because memory and processor must be reserved to emulate the physical hardware. On the contrary, containers operate on shared operating system with the host thus relieving the host of the resources used to emulate a virtual hardware, leading to low resource consumption. Some of well-known hypervisors are Hyper-V, KVM, and Xen . Examples of container-based virtualization technologies include Solaris 10, Docker and Linux-VServer . This report is going to delve further into virtualization by discussing containerization using Docker.
This report focuses on virtualization technology in regards to Enterprise applications. The report starts by looking at the field and the purpose of application of virtualization technology. After application, the report discusses the working models of the chosen application. The report then takes a look at scalability issues that are expected from the application of the model. Later on, individual features along with weaknesses of the chosen application will be discussed. This is to enable the reader understand the chose technology and why it might be appropriate or inappropriate for his/her chosen application scenario. Finally, Social-technical issues are discussed in details and how they may affect evolution and use of the virtualization technology.
Working Model of the Application
Docker is a tooling and platform for software development that allows IT professionals to develop, run and distribute applications with ease. The platform employs virtualization through containerization in which it emulates the host operating system kernel. It achieves this by creating independent containers with their individual dependencies. Additionally, these containers can be able to communicate with each other using defined protocols. The purpose of Docker is to allow easy deployment of applications. It achieves this fete through automation using containers that enable the developer to package all the dependencies into one container which can then be easily shipped to another operating system.
Docker employs the simple client server architecture in its operation. Unlike the Hypervisor technology, Docker model does not require a guest operating system since the containers can be able to access the host operating system kernel directly. This reduces the memory footprint that is required to emulate each virtual machine in case of hypervisor virtualization technology.
At the base level of Docker technology is the hardware resources such as memory, processor and storage. This can be a server computer or any other computer such as a laptop or a desktop computer. This computer runs an operating system such as Linux which executes the Docker Engine. The Docker engine is the part responsible for running individual containers required to run the software components. Each of the containers running on the Docker Engine contain the application and its dependencies, libraries and configuration files as depicted in figure 1. Different applications running on different containers can be able to communicate with each other. For example, you can be able to have one container running a client application and another container running the database server. Thus you can be able to emulate a client server application on the same computer using the same operating system kernel. To achieve such a working model using the rival hypervisor virtualization technology, it would require running of two virtual machines on the same host operating system which would impact performance due to higher resource utilization.
Docker is highly scalable in either sequential or horizontal modes. The horizontal scalability is where containers can be deployed without links while sequential scalability mode is where each container is deployed with links to each preceding container. Maintaining software that is part of other separate and distinct ecosystems always poses problems for the underlying platform and the hosted system as well. This also applies to Docker virtualization technology. Maintenance of many Docker containers across various hosts presents a problem. Therefore, as scalability increases, so does maintenance overheads and complexity.
Docker provides various features that enable developers to deploy their applications easily.
One of the best features that Docker Containers offer is the elevated levels of security. Docker offers a comprehensive facility for security management to guarantee the safety of applications running in various containers. Docker achieves this through isolation of the different containers and controlling their interaction by limiting it within the defined channels.
Apart from security management, Docker allows developers to be more productive by reducing the amount of configurations and customization of the application when moving from development to production environments. This is made possible by the fact that the final product is shipped with the same container on which it was running during the development process. This container packs all the necessary dependencies such that it is not necessary to redeploy them on the production server. This saves a lot of time that can be used to perform more important development task such as addition of features on the final product.
Docker offers the facilities of Container-as-a-Service through swarm . This allows different containers to run on different hosts without the complexities of interoperability. Thus, software developers are able to deploy their applications on different servers in an easier way. This means that the developers do not have to own the containers and can rent them at a much cheaper price. This also guarantees system availability because these containers are likely to be owned by a commercial IT provider offering infrastructure as a service.
Although security has been mentioned as one of the features of Docker, this is only true in relation to other containerization technologies. However, security for container-based virtualization technologies is always lower compared to that of their Hypervisor counterparts. This is because hypervisor virtualization technology provide an additional layer of abstraction with the host OS. Containers running in a hypervisor environment can only interact with the guest operating system and therefore in order to breach the security of the whole system, they have first to break the security of guest operating system. However, for Docker and other container-based virtualization technologies, they interact with the kernel of the host operating system thus being one step ahead towards breaching the security of the system. Additionally, Docker runs in elevated security rights that may be of concern in institutions whose network runs based on strict rights policy.
- Lack of flexibility
Unlike virtual machines, all containers must run the same operating system. However, using Hypervisor virtualization, you can be able to run different virtual machines with different guest operating system. For example you can be able to run one virtual machine using windows as the guest operating system and another one with Ubuntu side by side.
- Networking problems
Features and Weaknesses of the application
Networking applications running in different containers remains a big problem for Docker. This is due to the isolation of the individual container from each other. Therefore, networking the containers is far from perfect.
Another weakness of the Docker virtualization technology is that cross-platform portability is not very strongly supported. It was mainly intended for use within the Linux ecosystem and therefore, using it on Windows operating system can prove to be very troublesome. Although support for windows is being advertised, its support is not native or fully fledged like in Linux operating system. It also runs on virtual machine which brings forth the disadvantages of virtualization to containerization. This leads to more resource demands on windows platform as well as reduced execution speeds.
Addition of containers on top of the operating system leads to increased complexities in the project. Apart from development skills, the developers are required to have knowledge of working with the containers. This leads to additional effort required within the development cycles which could lead to increased time before production.
Docker containers are hard to monitor especially when they run on different hosts. Monitoring tools are very limited and the developer has to use third party tools that may lead to additional expenses and complexities.
Employing a social technical approach to when developing software systems contributes to a more acceptable software by the end user. The software so produced also has better value and more functionality than closed systems. Even the most inexperienced member of a development team is able to add a valued feature even if it involves creating a translation.
Docker was released as an open Source project in 2013. Open source projects allow collaboration from various contributors. This collaboration allows admission of new members who become acquainted with the project and become contributors for the same and other related projects.
Like other Open source projects, people involved in the development participate at their own discretion and also provide their own tools for the project . Despite these impediments, active communities of enthusiastic developers still dedicate their time and resource to contribute towards a project that they are very interested in. As members of the development community interact, it brings about personal development. It also creates a political process which determines the direction of the process. Some members may develop influence while other develop trust and both factors become important during dispute resolution process. The members may also develop social group such as social media pages where they discuss issues and recruit new members. This is important for the continuity of the project since lack of contributors can lead to the failure of a project, regardless of how important it was to the society.
From the last discussion on virtualization technologies, it has been demonstrated that container based virtualization has more advantages than Hypervisor based server virtualization. Despite many containerization virtualization technologies being in existence, the Docker platform has gained more popularity and is arguably the most preferred method.
 M. Fowler, Patterns of Enterprise Application Architecture, vol. 48, no. 2. 2002.
 J. Y. Hwang et al., “Xen on ARM: System virtualization using xen hypervisor for ARM-based secure mobile phones,” 2008 5th IEEE Consum. Commun. Netw. Conf. CCNC 2008, no. April 2015, pp. 257–261, 2008.
 S. Soltesz, H. Pötzl, M. E. Fiuczynski, A. Bavier, and L. Peterson, “Container-based operating system virtualization,” ACM SIGOPS Oper. Syst. Rev., vol. 41, no. 3, p. 275, 2007.
 T. Mens, “An Ecosystemic and Socio-Technical View on Software Maintenance and Evolution,” in 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME), 2016, vol. 00, pp. 1–8.
 N. Naik, “Building a virtual system of systems using docker swarm in multiple clouds,” in 2016 IEEE International Symposium on Systems Engineering (ISSE), 2016, pp. 1–3.
 N. Ducheneaut, “Socialization in an Open Source Software Community?: A Socio-Technical Socialization in an Open Source Software Community?: A Socio-Technical Analysis,” August 2005, 2014.
To export a reference to this article please select a referencing stye below:
My Assignment Help. (2021). Virtualization Technology For Enterprise Applications: A Report. Retrieved from https://myassignmenthelp.com/free-samples/bn208-networked-application/rights-policy.html.
"Virtualization Technology For Enterprise Applications: A Report." My Assignment Help, 2021, https://myassignmenthelp.com/free-samples/bn208-networked-application/rights-policy.html.
My Assignment Help (2021) Virtualization Technology For Enterprise Applications: A Report [Online]. Available from: https://myassignmenthelp.com/free-samples/bn208-networked-application/rights-policy.html
[Accessed 07 December 2023].
My Assignment Help. 'Virtualization Technology For Enterprise Applications: A Report' (My Assignment Help, 2021) <https://myassignmenthelp.com/free-samples/bn208-networked-application/rights-policy.html> accessed 07 December 2023.
My Assignment Help. Virtualization Technology For Enterprise Applications: A Report [Internet]. My Assignment Help. 2021 [cited 07 December 2023]. Available from: https://myassignmenthelp.com/free-samples/bn208-networked-application/rights-policy.html.