compare Docker and Virtual Machine (their roles in OS, and services provided); d
ID: 3697046 • Letter: C
Question
compare Docker and Virtual Machine (their roles in OS, and services provided); discuss the implementation and performance of Docker; explain software container (in context with Docker deployment); provide an assessment of current technical progress and obstacles; discuss its implication to cloud based services. Give your report a meaningful title. Your paper should be able to explain the popularity of Docker from system integration point of view. Use professional literature (cite at least 6 technical papers, journal or conference papers preferred) e ectively. You have access to ACM digital library through Hood College library. There are other sources for research publications, such as IEEE/CS Digital Library and Google Scholar, etc. Follow IEEE Transactions format.
Explanation / Answer
compare Docker and Virtual Machine
Virtual Machine
VMs take up a lot of system resources. Each VM runs not just a full copy of an operating system, but a virtual copy of all the hardware that the operating system needs to run. This quickly adds up to a lot of RAM and CPU cycles. In contrast, all that a container requires is enough of an operating system, supporting programs and libraries, and system resources to run a specific program.
Docker
Docker make possible to bundle an application up with all the required libraries, dependencies, and resources for easy deployment. By using Linux kernel features such as namespacing and control groups to create containers on top of the host OS, application deployment can be automated and streamlined from development all the way to production.
Though both VMware and Docker can be categorized as virtualization technologies, optimal use cases for each can be quite different. For example, VMware emulates virtual hardware and must account for all the underlying system requirements— subsequently, virtual machine images are significantly larger than containers. That said, it’s also possible to run many discreet OS instances in parallel on a single host with VMware—allow organizations to build true IaaS solutions in-house.
Discuss the implementation and performance of Docker
Docker replaced LXC with its own libcontainer library written in Go, allowing for broader native support for different vendors. Additionally, Docker now offers native support for Window, streamlining the management of Docker hosts and containers on Windows development machines.Docker, which famously got its name from the shipping containers you can see on any major cargo vessel in any seaport. Shipping internationally across the water was an untenable proposition at large scales for a long time,So extend that metaphor to the cloud. By packaging an application and all its dependencies in such a way that it doesn't require a full-fledged virtual machine to run, you can shove as many as you want onto a single host Linux operating system. So if you're running Ubuntu on your home PC, and you package up your applications into a Docker container, they'll run just as well on any other modern Linux distro no matter if it's running on a private cloud, a standard server or Amazon Web Services.
Docker containers are executed by the Docker engine (as opposed to a hypervisor), they are not fully isolated. However, the tradeoff is a small footprint: unlike VMware, Docker does not create an entire virtual operating system— instead, all required components not already running on the host machine are packaged up inside the container with the application. Since the host kernel is shared amongst Docker containers, applications only ship with what they need to run—no more, no less.
Docker containers are generally faster and less resource-intensive than virtual machines, but full VMware virtualization still has its unique core benefits—namely, security and isolation. Since virtual machines enable true hardware-level isolation, the chance for interference and/or exploitation less likely than with Docker containers. So for application/software portability, Docker is your safest bet. For machine portability and greater isolation.
Docker offers the following high-level benefits,
1-
Deployment Speed/Agility – Docker containers house the minimal requirements for running the application, enabling quick and lightweight
deployment.
2-
Portability – Because containers are essentially independent self-sufficient application bundles, they can be run across machines
without compatibility issues.
3-
Reuse – Containers can be versioned, archived, shared, and used for rolling back previous versions of an application. Platform
configurations can essentially be managed as code.
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.