
Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
so this is the class notes for every week submitted in form of a weekly report
Typology: Lecture notes
1 / 1
This page cannot be seen from the preview
Don't miss anything!
COP 5615: Distributed Operating System Principles | Weekly Assignment Week 3 : 02 - 06 August Insights from research paper: Migrating from Virtualization to Dockerization in the Cloud: Simulation and Evaluation of Distributed Systems Why I choose this paper – During the lecture Dr. Alin Dobra explained how Netflix extensively uses Amazon EC2 for its platform and how it leverages containerization on top of virtualization (using Titus platform). This incited me to dive deep into the underlying technology and I came across this paper on containerization using Docker. Overview - Virtualization has been the enabler of Cloud computing platforms like the Amazon EC2 but the creation of virtualized environment demands time taking and tedious installation and configuration as well as highly skilled technicians. These operational overheads have affected its adoption in distributed systems. Container based virtualization like docker provides the ability to package entire application and its dependencies and configurations into light weight containers that can be easily distributed across multiple hosts and multiple clouds. Theory – Virtualization has 2 major components – Virtual Machine (VM) is a self-contained operating environment and generally has its own operation system, binaries, applications and libraries. Hypervisor is the control system and translator between hardware and VMs. It is of two types- Type 1 runs directly on the hardware of the host without the need of a host operating system. Whereas Type 2 runs on top of a host operating system and then spawns higher level Virtual Machines. Docker is open tool designed to make it easier to create, deploy, and run applications by using containers. Container technology allows multiple isolated user space instances to be run on a single host based on a major Linux kernel feature known as cgroups and namespace. Docker Swarm is a clustering and scheduling tool for docker containers. It assigns Containers to underlying nodes and optimizes resources by automatically scheduling Container workloads to run on the most appropriate host with adequate resources while maintaining necessary performance levels. Observations – to run docker on non-linux os we need an additional component called Docker Host (a lightweight Virtual Machine, which requires very few resources). The paper describes a way to use docker in a distributed system and setting up the docker swarm. Swarm has features like scaling, scheduling, service discovery, load balancing and multi-host networking This setup uses fewer resources and has much lesser operational overheads as compared to the traditional Virtual Machine-based distributed system which we saw as a major blocker for adoption of virtualization in distributed world. Deploying application in form of docker containers on distributed EC2 virtual OS is much more easy and safer for a production grade application deployment. Docker swarm is similar to Netflix Titus and makes the process much easier. References – N. Naik, "Migrating from Virtualization to Dockerization in the Cloud: Simulation and Evaluation of Distributed Systems," 2016 IEEE 10th International Symposium on the Maintenance and Evolution of Service-Oriented and Cloud-Based Environments (MESOCA) , Raleigh, NC, 2016, pp. 1- 8. doi: 10.1109/MESOCA.2016. 9